Developing a Whitebeam Application

Site Map
 
Home
 
Application Guide
  Quick Start
    Introduction
    Application
    Administration
    Source
    Structure
    Forms Data
    Sessions
    Access Ctrl
    Templates
    Files
    Debug
    File Loc
    Hints+Tips
  PHP and ASP
  Writing Apps
  Applications
  Tutorials
  Samples
Reference
Community
Contact Whitebeam
To-Do
Download
Credits
Licence
Whitebeam Users
 
 
 

Developing a Whitebeam Application

Structuring an Application

If you have a background in structured programming and object oriented design techniques producing an application that uses a browser interface can leave you cold. The issue is the way to structure the application when the device used to control program flow, the hyperlink, is essentially a "goto". Whitebeam recommend a specific structure and have designed some key features into the system to support it.

A requested page often has to do more than just present data and a few hyperlinks e.g. it might have to be a form in order to submit parameters back. The URL to which the page is then submitted may have to do some server processing and then present a new page back to the originator. However it might need to present a different page depending on the parameters submitted. This can sometimes be achieved by dividing the submitted page into a number of separate forms, each form with a different submit URL. However this is not always possible and anyway, typically leads to duplicated code.

To avoid this problem Whitebeam recommends that in most cases the code that processes a form is in the same page as generated the form. i.e. the form is submitted to itself. This makes it much easier to structure the application, code variable names etc. You are probably asking how, if a form submits to itself, do you put up a new, different form or page? The Whitebeam system supports a redirect mechanism, available either through an XML tag:

<rb:redirect src="somewhere" />

or alternatively through the ROM:

rb.page.redirect("somewhere")

This causes the presentation engine to discard all page output from the currently executing Pattern page and start again with the redirected Pattern page. Note that a redirect is not a goto. It is structured in that execution of the original page will continue after the redirected page is processed. Although no page output will be produced, any side effects of program execution will still take place (e.g. you could have a piece of code on the original page that "tidied up" after any redirect).

Another, associated mechanism supported by the Whitebeam system is the included page (<rb:include src="something" /> tag). The included item does not have to be a complete page, any valid XML document is acceptable. The include mechanism also enables sections of the named file to be selected as specified by an id attribute; those sections in the included file being identified by a rb:id attribute in the tag name.

Whitebeam release 1.3.36
(loadtime : 10ms)