While HTML reports are free to do whatever they wish, having a standard set of guidelines ensures a consistent user experience and also simplifies the automatic porting to alternative platforms.
A Widget report is a small report designed to primarily show a small number of facts, rather than full blown interative reports.
A Standard report is a report that has full use of the browser window and will display large amounts of information.
It is highly recommended that all standard reports include the following fixed base
<HTML> <HEAD> <fieldpine:symbol name="default-theme"> <fieldpine:variable name="report-name" value="Short Report Name" replace="0"> <fieldpine:nlq Something> <script src="/report/pos/lib.js"></script> </HEAD> <BODY> <fieldpine:symbol name="context-header"> ... Your Report body goes here ... <fieldpine:symbol name="context-footer"> </BODY> </HTML>
The <fieldpine:symbol name="default-theme"> causes the server to insert a reference to the current CSS style sheet in use for the user. This stylesheet may change under user control, and may also be different on different devices, scuh as a desktop browser vs a PDA.
Defining the variable "report-name" can be useful for header and footer files, as these may wish to display the report name and having it present in the variable means it does not need to be hardcoded.
The <fieldpine:symbol name="context-header"> causes the server to insert HTML to supply a standard header for the page and theme. This means you do not need to insert headers, or be concerned with different headers for different types of devices.
The <fieldpine:symbol name="context-footer"> causes the server to insert HTML to supply a standard footer for the page and theme.
The <fieldpine:nlq ... > provides a server side comment to assist NLQ. This allows a form of searching for reports, by allowing a report to describe what it is displaying. This does not form part of the report, but is used for locating and automatic calling of reports. (RLB@@: Need more here)
In order to allow a clean switching of themes, which define overall appearance, reports should use the CSS classes defined in the themes. This ensures that the HTML is rendered with the correct appearance.(RLB: Table contains examples, these are yet to be defined ...)
|p||m||Marks a main paragraph of text|
|*||eg||Describes a block as an example|
|*||total||Describes a field as a total, such as a grand total|
|subtotal||Describes a field as a subtotal.|
A common standard for parameter naming is adopted. This ensures that report X and call report Y, without needing to be manually linked in all cases. If parameter names and purposes was not standardised, every link betwewn reports would need to be manually implemented.
Reports may receive parameters they do not require, these should simply be ignored, and passed along if possible on outbound links
|u*||Reserved for customers to use as they wish.|
|link||Provide hyperlinks. 0=no, 1=yes.|
|head||Provides explicit control to include or disable theme headers. The default is to include theme headers, however in some circumstances, notably when a report is called inside a frame, headers are not desired.|
|theme||Provides a theme name which overrides the default theme. The GDS server uses this parameter internally.|
|report-name||Holds the name of the report, much like a title|
As each page is prepared for the client browser, a number of optional symbol replacements can occur. This allows page authors to create a generic report and the server will replace and insert certain values.
<fieldpine:symbol name="date" [mask="..."]>
Causes the processor to insert a common base stylesheet for this device, such as Apple iPod/iPhone, Nintendo Wii Console, Nokia phones etc. This stylesheet contains device specific default rendering and preferences. This symbol will generate a <LINK .. type=stylesheet> value insertion and should placed in the HEAD section of the page. If no suitable stylesheet exists for the current device, nothing will be inserted.
Inserts the main theme (or appearance) CSS stylesheet(s). The theme is selected from the following
<fieldpine:symbol name="context-header"> and <fieldpine:symbol name="content-footer">
<fieldpine:symbol name="theme-header"> and <fieldpine:symbol name="theme-footer">
<fieldpine:symbol device="names" attributes="list" target="filename">
var xyz = Number(12345.873495); document.getElementById("output").innerHTML = PosLib_NiceFormat(xyx,2);
Resulting output: 12,345.87