Whitebeam JavaScript Libraries

Site Map
 
Home
 
Application Guide
Reference
  Installation
  Configuration
  XML Markup
  JavaScript Classes
    Binary
    JSONexp
    SmtpRequest
    HttpRequest
    PgsqlConnection
    GraphicImage
    XmlParser
    XmlGeneric
    XmlTag
    XmlText
    XmlComment
    XmlCData
    XmlPi
    XmlNodeSet
  ROM
  Templates
  Environment
  Dev Process
  Tools
  External Links
  Example libraries
Community
Contact Whitebeam
To-Do
Download
Credits
Licence
Whitebeam Users
 
 
 

Whitebeam JavaScript Libraries

JavaScript and XML are at the core of the Whitebeam architecture. Application level abstractions are provided by templates. Lower level abstractions - or utility functions are provided via a set of JavaScript classes that "do useful things".

The overhead of building functionality in the core Presentation Engine (as opposed to templates) is that of additional code and associated data memory that's then present in each HTTP process. If not careful this can lead to process bloat and limit the number of concurrent pages a web-server can process.

Listed below are the utility JavaScript classes that supplement those provided by JavaScript itself.

Quick reference - click on a class to go directly to it's definition :

ClassDescriptionDocumentation

Binary

The core JavaScript language has very vew data-types. None of those are suitable for storing raw binary data such as images or file content. Such objects are often a vital part of a web-application.

The Binary class allows applications to encapsulate and manipulate raw binary data. It also provides a file-system interface allowing both directories to be opened and read.

tutorial | spec

JSONexp

Implementation of an IETF RFC 7159 'JSON' encoder (stringify) and decoder (parse)
This class is new to Whitebeam release 1.3.32

spec

GraphicImage

Another common web-application requirement is the manipulation of images - for example to upload images from users and resize to create thumbnails. The GraphicImage class provides the application developer with all the tools to manipulate JPEG, GIF and PNG images, including resizing, cropping and adding text.

tutorial | spec

HttpRequest

The HttpRequest object allows an application to send HTTP requests to other servers (or to itself). This is a core building block for technologies such as SOAP and XML/RPC.

Note historically HttpRequest dealt with HTTP protocol requests. This functionality has been extended over time so the class now supports file transfer over: HTTP, HTTPS, FTP and SFTP.

tutorial | spec

SmtpRequest

SMTP (Simple Mail Transfer Protocol) is the means by which email is moved across the Internet. The SmtpRequest class in Whitebeam provides very thorough support for the construction and transmission of sophisticated email messages.

As well as simple text emails - the SmtpRequest class supports the construction of hierarchical multi-part mime encoded emails, which in turn allows emails with embedded images and rich text.

tutorial | spec

WbString

A sub-class of the standard Javascript 'String'.
This class is new to Whitebeam release 1.3.5

The main contribution of this class is a set of static (class) methods that provide access to fast native string encoding/decoding and hashing functions.

spec

PgsqlConnection

These classes provide raw access to PostgreSQL databases. While the Whitebeam templates provide high level abstractions that store information in a Whitebeam Schema, this class allows an application to go beyond the template functionality and build any application specific database.

tutorial | spec

XmlParser
XmlGeneric
XmlTag
XmlText
XmlComment
XmlCData
XmlPi
XmlNodeSet

Whitebeam is built on an XML framework. This set of classes provide DOM like manipulation of XML tree structures. This includes both the tree of the page being executed and any other XML/HTML document you wish to process. For example text returned in an HTTP SOAP response can be parser then searched (using XPath for example).

Click on the class name on the left for a full definition of that class. Use the tutorial link on the right to understand how these classes can be used in your applications.

tutorial
Whitebeam release 1.3.36
(loadtime : 13ms)