When a web application responds to an event activated by a user, it does so by sending an HTML page to the user browser. In Websydian Express HTML pages are generated using an HTML template.
An HTML template is just like a standard HTML page, containing HTML markup codes, except that the template also will contain some special markers called replacement markers. A replacement marker specify where in the HTML template Websydian Express should insert data set by the web application. Thus the final HTML page sent to the browser will be the HTML template where the replacement markers are replaced with data set by the web application.
A replacement marker has the form /(name)
where name
is the name of the value set by the web application. Thus before the web
application starts to generate the HTML page (by calling
WritePage), then it
must set the value of all the replacement markers found in the HTML template
(using SetOutput and
SetGridOutput).
Please note that all replacement markers are case sensitive.
If Websydian Express encounters a replacement marker which the web application has not set any value for, then Websydian Express will replace the replacement marker with the blank (empty) string.
The HTML template is created with the Page Modeler. Information on how to use the Page Modeler can be found in the Page Modeler Reference.
In the Page Modeler a page is created for each HTML template needed by the web application. For each page it is possible to define the following page elements:
Once the page is defined in the Page Modeler, then an HTML template can be created and used by the web application.
The HTML templates created by the Page Modeler can be used by the web application as is. However, in most cases it is desirable to change a few things like the order of the output fields, add textual description, etc.
When changing an HTML template it is important that some special replacement markers are left untouched. This section describes these replacement markers.
The HTML markup for an event looks like this:
<form action="/(WSACTION)" name="WICATORDU" method="POST" autocomplete="OFF"> <script>document.write('/(FORMEVENT-WICATORDC)')</script> <p>Order<input type="TEXT" name="ORDER" value="/(ORDER)" size="3" maxlength="3"></p> ... <p><input class="button" type="SUBMIT" name="Update" value="Update"></p> </form>
It is important that the second line (<script>document..) is left untouched as the replacement marker FORMEVENT-WICATORDC is used internally to construct the HTML hidden fields that contains the session ID, event ID, signature and secure parameters.
The reason for inserting the replacement marker in a script is that it then won't show up when editing the HTML template with FrontPage or another WYSIWYG web page editor.
The value of the action attribute must not be changed as this at runtime will be replaced with the URL used to access the web application.
When a grid is inserted on a page the HTML markup in the template looks like this:
<table class="grid"> <tr> <th>Column Label</th> ... </tr> <!--/(ROWS-999)--> <!--/(Grid)--> <tr> <td>/(COLVALUE)</td> ... </tr> <!--/(Grid)--> </table>
The grid markers (<!--/(Grid)-->
) marks the beginning and end of
the HTML markup that defines one row of data. Websydian Express will then copy
this part of the HTML template for as many times as there are rows in the grid
to display.
It is important that the grid markers are not removed or modified in any way. If they are removed the grid will not be displayed properly at runtime.
The ROWS marker (<!--/(ROWS-999)-->
) determine the maximum
number of rows to display.
The ROWS marker can only limit the number of rows defined by the program. E.g. if the program creates 20 rows in a grid, then the ROWS marker can only force the program to display less than 20 rows - not more.
The following replacement markers can be used in the HTML template.
Please note that all replacement markers are case sensitive.
Replacement marker: /(DUMP)
Inserting this replacement marker in the template will result in that all the values set by the web application will be outputted to the HTML page.
This replacement marker is useful during development and for debugging purposes.
Replacement marker: /(FORMEVENT-name)
Internal replacement marker used to generate the hidden fields for an HTML form. Please read the section Events above for more information.
The name part of the replacement marker is the event ID of the HTML form.
Replacement marker: /(LINKEVENT-name)
In some situations it is preferable to generate an event as an HTML link instead of an HTML form. In that case the form event replacement marker described above cannot be used.
Instead the link event replacement marker can be used. The HTML markup should then look like this:
<a href="/(WSACTION)?/(LINKEVENT-name)">Link</a>
Replacement marker: /(INCLUDE-name)
Used to insert include pages on an HTML page. Please read How to Include Pages for more information.
Replacement marker: /(MENU-name)
Used to insert a link to a business process defined as a menu item in Websydian Express. Please read Specify Menu Alias for more information.
Replacement marker: /(EOF)
Will stop further processing of the template. Please read Stop processing of template for more information.