Wizard Definition {GWEBM-1}

This program is used to setup and maintain ITS Wizard definitions for the ITS iEnabler.

Processing:  General processing rules for wizard page generation.

 Wizard detail is created or generated via:
  1. The wizard structure (GWEBM-1).
  2. An engine (gen.gw1pkg.gw1buildxml) will convert the tag data stored in this structure into XML.
  3. A style sheet (gw1wiz.xsl) is then applied to this XML (gen.gw1pkg.gw1SetupHTML) which will produce the HTML/Javascript rendered to the page.
Associations:
  1. Package: gw1pkg (./gen/gw1pkg.sql) - Package utilised for converting the HTML and wizard structure defined here into XML which can be rendered to the browser via the wizard style sheet. See appendix B for the wizard process flow

    Functions utilised:
    Procedures utilised:

  2. Style sheet: gw1wiz (./gen/gw1wiz.xsl) - The default wizard style sheet which will render the HTML page. This can be replaced per process by any other style sheet which can be applied to the default XML definition. This would normally consist of a modified copy of the original loaded into the DSR structure. See appendix C - Wizard XML structure.


  3. GJPWSI Web session table - All detail for managing the wizard session is stored here, per browser session. If the session cookie (sessid) used to manage this is present at startup, all associated wizard data (GOGWWD) will be removed and a new session will be setup. This session table is utilised for:
    Mandatory Session Values:
    NameValue
    process_code<wizard process code>
    menu<wizard process code>
    page_code<wizard page code>
    numtypeG
    unum1
    userGuest
    from_formIndicates the viewing of the page from the form (gw8app).

  4. GOGWWD Web wizard data table - All named HTML input elements defined, via a tag, for a page will be saved to this table, if a submit button is included on the page. This detail is saved as a name/value pair with the tag code as the name and the value of the input as the value. This save process is automated by including a submit button tag and is handled via the javascript changeToNameValuePairs (wizard.js) - included as the form's (frmOne) action attribute.

Supported browsers: Which must support the HTML 4.01 DTD

Block 1:  Page Code Definition

Field Type
&
Length
Description
Page Code A20  Wizard page code.
Page Name A100 Page name. Utilised as the page heading on each page.
Navigation Link Short Name A20 Page short name. Utilised by the process breadcrumb (quick link navigation bar) display, the link title will display the full page name when the mouse moves over the displayed short name.
Pickinglist Modify Page A20 The page code to be utilised for modification of a picking list's row of data.
Display Indicator A1 Y(es)/N(o). Display the required detail captured via this page on the wizard summary display page.

Example:

Example Page Code definition

Processing Rules Block 2:  Process

Field Type
&
Length
Description
Code A10  Wizard process code.
Process Code Description A100 Process description.
Start Page Code A10 The page which the process starts with. i.e. The first page to be displayed for the process.
Page Code Description A100 Page name.
XSL Style Sheet A8 The XSL style sheet linked to the process.
XSL Style Sheet Description A? The XSL style sheet description.
ITS Process A10 The ITS defined process code (GNRPCD - STGRDC-1) linked to this wizard process.
ITS Process Description A10 The ITS defined process code (GNRPCD - STGRDC-1) linked to this wizard process.
Apply iEnabler Security A1 Apply iEnabler security to the wizard process - for wizards called from within the iEnabler environment. Y - yes OR N (Default NULL = N - no). If a process is to be called via the iEnabler this indicator must be set to Y - yes.
Add Breadcrumbs A1 Y - Yes (Default NULL = N - no) - Adds a quick link navigation bar to the wizard process. This Quick Link navigation bar will then be included on every page, following the first page. This includes a clickable link to the home page (first) and any other page(s) preceding the current page.
Process Db Procedure A400 The database procedure to be executed once wizard data capture has been completed.
Redirect Process Code A20 The wizard start process to be called once wizard data capture has been completed from the final thank-you page.
Summary Page Heading Tag A20 The purpose of this tag is to allow a heading to be created via the tag block for the wizard summary page. This tag is linked here for each of the pages data which is to be displayed via the wizard summary.

Example:

Example for Process definition

Processing Rules See Also:

Block 3:  Process Objects

Field Type
&
Length
Description
Process Code A20  Wizard process code.
Process Code Description A100 Process description.
Object Code A10 ITS defined object code.
Object Description A? ITS defined object code description (DAEOBJ - DMAIN-1).
Process Key N? Up to 7 key fields can be defined for a wizard process. These key field object codes form the key to retrieving their associated XML data from the DSR - ITSWIZRD.

Example:

Example for Process Object definition

Processing Rules: See Also:

Block 4:  Content Type Definition

Field Type
&
Length
Description
Content Type A2  Content type code.
Description A40 Content type description.
Active A1 Active indicator.

Example:

Example for Content Type definition

Processing Rules
Block 5:  Page Definition

Field Type
&
Length
Description
Process Code A10  Wizard process code.
Page Code A10 Wizard page code.
Tag A20 Wizard tag code.
Sequence N Sequence of the tag within the page.
Summary Display N Sequence of the tag within the summary page.

Example:

Example for Process/Page/Tag definition

Processing Rules See Also: Block 6:  Tag Definition

Field Type
&
Length
Description
Tag A20  Tag code.
Description A40 tag code description.
Content Type A2 Content type code.
Content Value A4000 Content type value. See Content Type Definition Rules below.
Redirect Type A2 Redirect type code. See Redirect Type Definition Rules below.
Redirect Value A400 Redirect value.
Prompt A512 Tag prompt.
Object Code A10 ITS defined object code.
Institution N Institution code.

Example:

Example for Tag definition

Processing Rules Content Type Definition Rules

Content
Type
Rules
A Date tag
  • Include (DD-MON-YYYY) as part of the prompt
  • Default redirect type and value: D - database procedure and procedure - gen.gw1pkg.gw1valdata|D. This will add date Ajax type validation for the tag.
  • A click-able calendar image is also included as part of the date tag group. Clicking the image will pop-up a date selection calendar.
  • Tag Attributes (Block 7) included by default:
    • maxlength: 11
    • size: 12
  • No Tag Values (Block 8) required. This could be utilised for providing a default date if required.
B Button tag
  • Possible redirect Types
    • D - Database Procedure.
    • P - Redirect Page.
    • U - URL.
  • No Tag Attributes (Block 7) required.
  • If an onclick event is included with a button which controls navigation be sure to include the javascript: setRedirectTo(ctl); as the last instruction within your onclick javascript code. This allows the normal navigation process flow to take place.
  • Tag Value (Block 8) detail is required for Button display.
    • This is created via the Tag Values Value field. Omission will result in no button being created on the page.
    • The compulsory Tag Values Description field can be captured with a . for a button, as only the value is utilised to create the button object.

  • Special redirect Type
    • C - Complete Process.
    • This special redirect type controls the creation of the XML document which contains all of the data captured from the wizard page(s).
    • By default this would be done at the end of the process by including a button containing this redirect type, along with a redirect page (Redirect Value field) to navigate to once your process is complete - a final "Thank you" page including detail about the data captured or adding to the captured data (Uploading of documents once a process sequence has been assigned etc.)
    • All page data can be saved to XML, as defined above OR after every page completion. This can be achieved by including the tag attribute (Block 7) continue with a value of Y for the complete button and must include the next page to redirect to as the redirect value for the button.
    • This need not be done on every consecutive page, but bare in mind the XML will only be updated, effectively recreated, with new page(s) data when a complete process button is included for the page.
    • This special redirect button instructs the complete procedure to continue with the wizard process after creating the XML document, loading the next page in the process.
    • The XML document will get updated with the data from every page (marked continue Y) in the process.
C Copy tag
  • This tag allows the user to copy a tag definition and all attributes and tag values to a new tag, without having to duplicate the data which makes up the tag. The content type will contain the tag code being copied.
  • This allows a user to utilise the same tag on the same page, with a different tag code - creating an HTML element with the same attributes as an existing element, but with a different element id and name, thus not duplicating the id or name which would create an array when submitted.
  • The Prompt and Picking List Tag fields from the copied tag can be overwritten (replaced) by including these values for the new tag.
  • No Tag Attribute (Block 7) or Tag Value (Block 8) detail required.
  • Tag attributes from the copied tag can be added to or overwritten (replaced) by including tag attributes for the new tag.
  • DO NOT create copied tags from tags which are already copies, rather make the tag a copy of the original.
D Database procedure tag
  • Execute a database procedure via the IAS PL/SQL module like a URL. Parameters passed to the procedure must comply with URL processing rules
    e.g. web.wf12pkg.wf12_upd_frm1?x_docnum=RY9181
  • The Content Value of the tag definition will be setup as the clickable anchor in the paragraph.
  • Mandatory tag attributes (Block 7) must be defined for the execution of the Database Procedure (anchor).
    • With an attribute Name: href and Attribute Value: <The Database Procedure to execute>
    • Including an Attribute with Name: target and Attribute Value: <_blank>, Will open the URL (href) defined above in a new blank browser window
  • Optional tag attributes (Block 7) can be defined for a pop-up window
    • Attribute Name: onclick
      Attribute Value: window.open(this.href,'window','width=590, height=150, top=200, left=150, resizable=no,scrollbars,toolbar=no,menubar=no');return false;
  • No Tag Values (Block 8) required.
E Text/Additional HTML tag
  • The Content Value of the tag definition will be printed as text where positioned on the wizard page.
  • This content type is also associated with any additional html text/code or formatting required for the page. i.e. any HTML outside of the other content types available for tags. This additional HTML will be converted so it can be included within the XML utilised to process a page, and converted back to standard HTML when displayed.
  • Optional Tag attributes (Block 7) can be defined to include HTML style formatting if necessary.
    • Attribute Name: style
      Attribute Value: e.g. color: #5A7EDC; padding-left: 5px;
  • No Tag Values (Block 8) required.
H HTML tag
  • This content type creates additional HTML, directly from the Content Value field, onto the wizard page.
  • No Tag attributes (Block 7) or Tag Values (Block 8) required.
I Input text tag
  • This content type creates a named input element onto the wizard page.
  • The Prompt of the tag definition will display in front of the field as a field prompt.
  • Mandatory tag attributes (Block 7) must be defined for the input box.
    • Attribute Name: maxlength
      Attribute Value: Numeric value - which specifies the maximum length (in characters) of the input field
    • Attribute Name: size
      Attribute Value: Numeric value - which specifies the width of an input field.
  • Optional Tag attributes can be defined to include HTML style formatting if necessary.
    • Attribute Name: style
      Attribute Value: e.g. color: #5A7EDC;
  • No Tag Values (Block 8) required. A description and value on this block can be utilised to add a default value for the input field.
J Javascript tag
  • Includes and executes the defined script on the wizard page.
  • No tag attributes (Block 7) required.
  • There are 2 Ways of including Javascript on the wizard page:
    • 1. Entering the required javascript into the content value field of the tag definition
      OR
    • 2. Using numerous Tag Values (Block 8) with the required javascript code set-up in the tag value Value field.
  • e.g. alert(document.frmOne.postalCode.value);
  • Any Javascript functions contained in the following included JS files (found via the ./itsincludes/js virtual path) can be utilised within these tags.
    • its_scripts.js
    • overlib.js
    • wizard.js
      Some useful functions:
    • forceUpper: Force text within the field to Uppercase included as: forceUpper(this);
    • isnumber: Check if entered value is a number
    • callDynBGproc(DBProcedure,DBParameters,DBTagName): This function will call any process on the server without actually refreshing the page
      Useful syntax:
      var y = 'callDynBGproc(\'dbproc\',\'&name=value&name=value\');'; eval(y);
    • show(idToShow): Display the object - changes the idToShow elements display to inline-block
    • hide(idToShow): Hides the object - changes the idToShow elements display to none
    • showhide(id): Show the object if hidden or hide the object if displayed
    • valCheckBox(checkboxToVal,fieldToDisable): Enable/Disable field according to check box selection
    • getCheckedValue(radioElement): Evaluates radio button elements to get the checked button value
    • displayWhenValSL(fieldToTest, specificValue, idToDisplay): Display "idToDisplay" when the value of the the select list is "specificValue"
    • trim: Trims leading and trailing whitespace
    • ltrim: Trims leading whitespace
    • rtrim: Trims trailing whitespace
    • toCurrency: Convert value of object to fixed, rounded decimal value
  • Remember:
    • The position of the javascript tag within the page is very important. These tags get executed as designed (in the order defined) on the page, if the javascript code refers to tags which have not been created when executed then you will get a javascript error.
    • Can be utilised to create a new javascript function, not included in one of the JS include files, which can be called from within the current wizard page.
    • Try and keep this script local to manipulating the HTML page DOM (Document object model) for the current page only.
L LOV (list of value) tag
  • The Content value of the tag definition must include the LOV SQL Code as defined on BATCH-15.
  • No Tag Attributes (Block 7) or Tag Values (Block 8) required.
  • On the generated HTML page, fields are created namely <tag_code> and <tag_code>_desc. The reason being that an LOV returns a code and description on the iEnablers.
  • These two input fields are defined as follows:
    • Both fields are disabled - They can only be populated via LOV execution.
    • The first field represents the code value returned from the LOV pop-up window.
      • By default this field is not displayed (Hidden - It is included to be written away to the wizard data table).
      • If display of the code and description is required, include the tag attribute showlovcode with an attribute value: Y.
    • The second field represents the description value returned from the LOV pop-up window. Visible by default.
  • LOV elements get an onblur event by default - Ajax type call to load the LOV pop-up window with the detail returned from the the SQL obtained from BATCH-15 for the associated SQL code.
  • The dependant tag attribute is particularly useful when an LOV element is dependant on the value of a previous tag. This will prevent selection of the LOV element if this previous tag field value is NULL.
  • Performing an Ajax type call on an LOV element, via Redirect Type D (Database Procedure), passes the LOV code element through to the receiving package procedure.
M Image tag
  • The Content value of the tag definition must include either:
    • The full path to the image e.g. http://mamba.its.co.za:7772/itsimages/calendar.gif.
      OR
    • The image path for images stored in the virtual path /itsimages e.g. /itsimages/calendar.gif
  • No Tag Attributes (Block 7) or Tag Values (Block 8) required.
  • An image can be utilised to call a URL (web page OR a PL/SQL cartridge module), locally or in a new window (utilising HTML target attribute for the href element or window.open). e.g.
    <a href="http://www.w3schools.com/" target="_blank">Visit W3Schools!</a> The target attribute defines where the linked document will be opened, _blank will open the URL in a new window.
    Two tag attributes (Block 7) will be defined in this example: href and target
    Eg.
    • Attribute Name: href
      Attribute value: http://www.google.com will call the specified URL
    • Attribute Name: target
      Attribute value: _blank: will open the URL in a new window
    Or in an onclick event (Block 7).
    Eg.
    • Attribute Name: onclick
      Attribute Value: window.open('http://google.co.za','window','width=590, height=150, top=200, left=150, resizable=no,scrollbars,toolbar=no,menubar=no');
  • Remember that a PL/SQL cartridge module can also be called via Attribute href (Block 7) by including the package with parameters as the attribute value.
    Eg. Attribute Name: href and Attribute Value: gen.gw1pkg.gw1startup?x_processcode=PROTOTYPE.
N Hidden tag
  • No Content value need be defined
  • No Tag Attributes (Block 7) or Tag Values (Block 8) required.
  • This tag will include a named HTML hidden input element on the page. This element can then be manipulated via javascript, an ajax type call to the database etc. for inclusion as a field submitted into the wizard data table.
  • A default value can be included with a hidden element by adding a Tag Value (Block 8).
  • Populating a hidden field with a value from a previously captured wizard field:
    1. Enter the tag name of the field to be copied into Content Value field.
    2. Select Redirect Type 'Redirect Page'.
    3. Enter the page this tag to be copied can be found into the Redirect Value field.
    4. Add a default value into the Tag Values block (Block 8).
O Option tag
  • Option tags include all tags which offer multiple value selection not based solely on an LOV.
  • The Content value of the tag definition must be either:
    • C - Check box
      • Tag Value (Block 8) detail is required to determine the value of the check box if checked. The wizard data value for unchecked check boxes will default to NOT_CHECKED for the tag.
      • Supply the tag value Description as . (full stop) and the tag value Value as the value to be returned if checked.
      • Setting the Tag value Default field to Yes will check the box and to No will un-check the box when the wizard page loads.
      • Checkbox description/prompt - Entering a Prompt will place prompt text in front of the checkbox, entering a value description will place the text behind the checkbox.
    • R - Radio button
      • Along with all radio button elements, a hidden description field containing the selected item's label text will be added to the page. Format - <tag code>Desc
      • Tag Value (Block 8) detail is required to determine the value of the radio buttons if selected.
      • The tag value Description will describe the button in question and the tag value Value will be assigned if selected.
      • Tag value Default: Yes = selected and No = not selected
      • Two attributes have been added for radio buttons: radio_align attribute for radio button alignment - vertical / Null for horizontal (the default) and radio_label_pos attribute for radio button label position - left/right of the button Remember to add padding-top: 5px (should be OK) to promptclass for vertical aligned radio buttons to add a space between values and add a width to align the prompt with radio buttons
    • S - Select list
      • Along with all select list elements, a hidden description field containing the selected item's text will be added to the page. Format - <tag code>Desc
      • Optional tag attributes (Block 7) can be defined for the input box.
        • Attribute Name: size
          Attribute Value: Numeric value - which specifies the number of visible options in a drop-down list.
        • Attribute Name: multiple
          Attribute Value: multiple - which specifies that multiple options can be selected
      • Tag Value (Block 8) detail is required for both:
        • Fixed (hard coded) values - A record per value.
        • LOV (List of values) - Supply the tag value Description as LOV and the LOV SQL code as the tag value Value.
      • These 2 types of tag values can be combined if necessary.
      • The tag value Description will be displayed in the drop-down list with the tag value Value being assigned if selected, with the exception of LOV tag values.
      • The tag value Default will indicate which value is selected by default.
      • Generally the select list standard default value would be Null (empty) or '-1' with a description of '--- Please select ---' This value would be the first value in the list and can be added to LOV type select lists, which would append this value/description to the LOV list returned from the SQL stored in BATCH-15.
      • To include a NULL (empty) value in the select list create
        1. Description: &#160;
        2. Value: -1 or empty
P Picking list tag
  • A picking list tag is utilised to define a series of page tags which will make up a detailed record or group of detailed records, captured via a page. It represents multiple instances of page data captured via a series of fields on the page. This allows multiple input fields to be captured repetitively as a group of records in a record list, A multi-row shopping trolley concept for various inputs.
  • Every row (page of tags) created as part of the picking list can be removed, via a Remove checkbox included by default per row.
  • Optional tag attributes (Block 7) can be defined for the picking list, but should be kept to a minimum due to the cascading style sheet tags used to govern picking list look and feel.
  • Tag Value (Block 8) detail is required for all the page inputs which make up a row of data to be saved to wizard data for the picking list page. Excluding a page tag from the picking list will result in the data being hidden from the picking list display, but still saved to wizard data, for processing later.
  • Only tags which are linked to the picking list during tag definition can be made part of the picking list display and the data to be subsequently saved to wizard data for processing later.
  • The picking list fields displayed and subsequently saved to wizard data are made up from the tag name and tag name prefix created as part of the tag and tag attribute definition. This allows the page data to be distinguished from the picking list row data which will be saved to wizard data.
  • A prefix (default 'x_') is assigned to a tag name for picking list elements to differentiate between the input fields on the screen and the picking list array data to be written away to the wizard data table. Picking list display - All fields required later for data validation and insert must be defined as a picking list tag value. Otherwise the data will not be saved into GOGWWD and cannot be accessed later.
  • Including a pickinglist_page tag attribute (Block 7) when the picking list is to be displayed on a different page to the picking list creation page (Content type P).
  • Picking list development process:
    1. Create the picking list element data capture page. As a minimum, all input elements required to be saved into wizard data for processing later should be included. Only data added to the pickinglist value tab (Block 8) will be added to the pickinglist record list. Excluding screen elements from this tab will prevent them from being added to wizard data.
    2. Create the picking list tag to be displayed on the current picking list capture page or on a different page, by including a pickinglist_page attribute (Block 7). Remember to include a content value for the picking list tag heading.
    3. Add this picking list tag code to each tag element required to be saved - Picking List Tag field (Block 6 Tag Definition)
    4. Add a picking list prefix attribute (pickinglist) to each tag element required to be saved (Block 7 - Tag Attributes).
    5. Add any additional tag attributes (Block 7) which may be required for the picking list - keep these to a minimum, generally the class attributes grpclass - e.g. display: inline-block; clear: both; to exclude the default padding style and promptclass - e.g. display: none; to allow more horizontal room on the page will be changed here.
    6. Query the picking list tag. Add all the input elements required to be saved into wizard data for processing later into the tag values block (Block 8) for the picking list tag. Remember to include the prefix with the name. An LOV is available for selection provided the associated page element has the picking list tag associated with it. See step 3.
    7. Any tag to be included in the picking list which has an associated description element linked to it, can also be included in the picking list tag definition. This is recommended for all Option (Checkbox, radio button, select list) and List of value tags. Including these elements will save these description elements into wizard data.
    8. The tag value (Block 8) field Is The Pickinglist Field Visible? will determine if the picking list data captured in the associated tag field is displayed via the picking list tag. Both visible tags and those not visible will be saved to wizard data.
    9. The default promptclass for pickinglist tags: display:none;
    10. The pickinglist add data button should be placed before the pickinglist display tag on the page. This a standard submit button which must redirect to itself (Redirect type - P and Redirect value - Picking list page code). Redirecting to the same picking list page will validate and save the captured picking list detail and display the saved detail in a list.
    11. When the picking list page contains a submit button which also navigates to another page (Next button), to prevent the pickinglist data entry fields from being validated, include the attribute checkmandatory - N. This will also allow any non-picking list tags which exist on the page to be validated and saved accordingly.
  • Picking list development modify page inclusion process:
    1. Add the page code for the required modification page to the pickinglist page definition (Block 1 - Page Code). Field: Pickinglist Modify Page.
    2. Define the pickinglist data modification page.
    3. Create a tag for each field to be modified, remember to include all checkboxes which result in the display of additional elements etc. The list of values supplied for the tag field will only display possible tags created on the originating pickinglist page.
    4. Including a disabled or readonly attribute, (Block 7 - Tag Attributes): Attribute Name and Value = disabled/readonly, will prevent the field from being updateable. Remember select lists only support the disabled attribute.
R Fixed Range tag
  • This content type creates 2 elements depicting a range i.e. from and to input elements.
  • No Content value is required
  • No Tag Attributes (Block 7) required.
  • 2 Tag Values (Block 8) required:
    • 1. Tag value Description for the first tag, with tag value Default = Yes
    • 2. Tag value Description for the second tag, with tag value Default = No
  • Both these records can have default values loaded via the tag value Value field.
T Textarea Input
  • This content type will create a textarea element on the page.
  • No Content value is required.
  • Mandatory Tag Attributes (Block 7) required.
    • Attribute Name: cols
      Attribute Value: Numeric value - which specifies the visible width of a text-area.
    • Attribute Name: rows
      Attribute Value: Numeric value - which specifies the visible number of rows in a text-area
  • Default Tag attributes included with a textarea (Can be changed accordingly) :
    • cols: 66
    • rows: 3
  • No Tag Values (Block 8) required.
  • Textarea development process for the default textarea definition:
    1. Create a new tag group:
      Include a new text tag (content type E), for the description of the data to be entered into the textarea, start position in the group and
      Include the tag charDisplay which displays the character limit (250) and the number of characters entered currently as the end tag in the group.
    2. Create a new textarea tag as a copy of the default tag textareaDesc
U URL tag
  • Execute a URL link.
    e.g. https://www.its.co.za
  • The Content Value of the tag definition will be setup as the clickable anchor in the paragraph.
  • Any text preceding the clickable anchor can be included in the Prompt of the tag definition.
  • Tag attributes (Block 7) must be defined for the execution of the URL link (anchor).
    • Attribute Name: href (Must be supplied)
      Attribute Value: <The URL link to execute>
    • Attribute Name: onclick (Optional - Pop up in a new window)
      Attribute Value: window.open(this.href,'window','width=590, height=150, top=200, left=150, resizable=no,scrollbars,toolbar=no,menubar=no');return false;
    • The target HTML attribute can also be utilised for opening a URL in a new tab/window.
  • No Tag Values (Block 8) required.
  • Eg. A URL tag can be utilised to submit the current page and redirect to a previous page by including (Block 7) the following tag attributes:
    • Attribute Name: onclick
      Attribute Value: setRedirectTo(document.getElementById('backBtn')); changeToNameValuePairs(document.forms[0]);
      Where 'backBtn' is the back redirection button for the page
W Wizard Data
  • A display only element which gets and displays previously captured wizard data (GOGWWD) for the current session.
  • Content value - Contain the tag name of the element for data retrieval from wizard data.
    Remember: this could be the tag code or the description, usually defined as <tag_code>_desc
  • Redirect type - Set to Redirect Page and Redirect value - Contain the page code on which this element resides.
  • Prompt - Contain the prompt for this display field
  • The field will be displayed as Prompt and element data e.g. Date of Birth: 19-SEP-1970
  • The standard tag Attributes (Block 7) can be utilised with this element.
  • No Tag Values (Block 8) required.
X External Data
  • Has a tag definition content value of the database procedure which will return the external data HTML code. Particularly useful when dealing with multi-row display and/or input forms.
  • Can be utilised for including existing PL/SQL cartridge modules within the wizard structure.
  • The HTML returned by the procedure must be wrapped in <tag_data> and </tag_data> tags.
  • No Tag Attributes (Block 7) or Tag Values (Block 8) required.

Redirect Type Definition Rules

Redirect
Type
Rules
D - Database Procedure
  • Executes a database procedure.
  • Possible usages:
    • Page validation (See Wizard Error Handling section)
      • When used with content type B - Button, can be utilised for page level validations.
    • Field validation (AJAX type call) - (See Wizard Error Handling section)
      • Name of the database procedure to validate the input.
      • Note: These calls utilise the included javascript function calldynbgproc for the name/value pair of the element in question. Any parameters can then be passed as 1 value with a pipe seperator | between values.
    • DML
      • Name of the database procedure to execute the required DML, with parameters delimited by a pipe sign as <package_name>|<validation_type>
        Eg. gen.gw1pkg.gw1valdata|G|ierot
P - Redirect Page
  • Redirect to another wizard defined page (Block 1 - Page Code).
U - URL
  • Redirect to specified URL link.

Default tags

Tag Description
birthDate Creates a mandatory input element for date of birth entry. Includes the date selection calendar button.
charDisplay Character entry display for textarea tag. Referenced by the javascript included with the default textarea tag - textareaDesc
citzType Creates a mandatory select list based on:
  • C - New Zealand Citizen
  • R - Permanent Resident of New Zealand
  • V - Verified Domestic student
A default --- Please select --- value is added to the list.
Dependant Tags
  • cntryLnk
  • cntry
  • domesticStudent
  • charDisplay
  • eligibilityDesc
closeWindow Creates a Close button, when clicked executes javascript which closes the current window.
cntry Creates a mandatory LOV for country code selection based on a list of values WAP01_19 created in BATCH-15.
coreSubject Creates a mandatory LOV for core subject - subject categories selection based on a list of values WIZSBCRY created in BATCH-15. A Database Procedure (gw1valdata) is included to create the default subject category session variable - ialrow102
dateSelectMM
dateSelectYYYY
Creates a mandatory select list tag sequence for month (01-12) and year input (Based on data returned from SQL WIZCCYR in BATCH-15).
ethnicGroup Creates a mandatory multiple selection select list based on a list of values WAP01_08 created in BATCH-15. An optional Other - OTHER value is added to the end of the list.
firstLanguage Creates a mandatory select list based on a list of values FIRSTLAN created in BATCH-15. A default --- Please select --- value is added to the list.
finalYearLevel Creates a select list based on values 1 through 14. A default --- Please select --- value is added to the list.
firstNames Creates a mandatory input element for first name entry.
gender Creates a mandatory input radio button element for gender entry. Default value is M - male.
lastName Creates a mandatory input element for last name/surname entry.
mainSubject Creates a mandatory LOV for main subject selection per subject category and enrolment reason (OT) based on a list of values WIZSUBMN created in BATCH-15.
nsnNumber Creates an input element for NZ National Student Number entry.
prefName Creates an input element for preferred name entry.
studyYear Creates a mandatory select list based on a list of values WIZACCYR created in BATCH-15, for the enrolment study year selection.
studentId Creates a standard HTML input element with maxlength set to 15 and size 16.
textareaDesc Creates a textarea limited to 250 characters (3 rows/66 columns) which references the charDisplay tag to dispaly the number of characters typed into the textarea as the user types. Character entry limit validation is also handled by the javascript included by default with this tag.
title Creates a select list based on a list of values WAP01_01 created in BATCH-15. A default --- Please select --- value is added to the list.
yesNo Creates a non-mandatory select list with 2 values (Y)es and (N)o. A default --- Please select --- value is added to the list.
Address fields
streetName Creates a mandatory input element for street number and name entry.
suburbName Creates a mandatory input element for residential suburb or rural delivery number.
town Creates a mandatory list of values element based on the WIZ01 SQL created in BATCH-15.
postalCode Creates a mandatory input element for postal code.
postalCodeLnk Creates a residential postal address postal code search URL link - NZ postal code search facility.
email Creates a mandatory input element for email. Includes an email validation AJAX call.
phoneNumber Creates a mandatory input element for a telephone number.

See Also:
Block 7:  Tag Attributes

Field Type
&
Length
Description
Tag A20  Tag code.
Attribute Name A100 Tag code attribute name.
Attribute Value A400 Tag code attribute value.

Example:

Example for Tag Attribute definition


Processing Rules Tag Attribute Special Cases

Attribute Name Attribute Value Meaning
checkmandatory Y/N Attribute for submit button tags. Default value "Y" - can be ommitted. "N" will ensure that pickinglist element input fields are not validated as mandatory or added to GOGWWD when this button is clicked. All other non-pickinglist element input fields will be validated accordingly and added to GOGWWD - this will include the picking list details already added and subsequently displayed via the pickinglist tag.
dependant Tag code this tag is dependant on. Utilised with tags which have a dependancy on other tag values captured/selected previously. Especially useful for tags whose value depends on data captured previously and stored in the session table e.g. Dynamic list of values based on cookie values.
display_type code/description/codedesc Utilised with wizard display tags only (Content type 'W'). Including any of these attribute values for the display of an LOV tag, will display the code only, description only or both the code and description depending on the attribute assigned. The default (i.e. excluding any of these for an LOV tag) will display the description only.
doback Y - button attribute Indicates the button is responsible for backward navigation. Not including this attribute value will create a normal button which executes the redirect instruction. Backward navigation is controlled via values stored by default within the wizard data structure (GOGWWD) as follows:
  • Page code (gogpcode): The page code for the page being viewed currently.
  • Name (gogname): gog_crumb
  • Sequence (gogseq): The sequence in which the page was called.
This sequence of gog_crumb values will store the navigation sequence of pages as they are viewed. thus allowing backward page navigation to a previous sequence.
dojs Event/trigger name e.g. onchange Executes the event in question when the page is loaded. This allows the user to manipulate elements on the screen from previously captured data entered on the page. Having the event execute on load of the page maintains the state of these manipulated elements.
dosubmit Y/N - button attribute
  • Y OR Not including this attribute value - Creates the button as a submit button, saving all the named elements on the page to the wizard data table before executing the redirect instruction.
  • N - Creates a normal button which executes the redirect instruction without submitting / saving the page detail. ONLY include this attribute for buttons which need not submit the page data to the wizard data table.
dotlevel Numeric value.
  • 1 - Default level
  • >1 - Level of indentation.
Creates the tag as an un-ordered or ordered list. The level determines the indentation level for the tag. Can be omitted if dot number is 0 and the tag element is displayed on level 1 - the default.
dotnumber Numeric value.
  • 0 - Standard bullet (•): un-ordered list
  • >0 - Numeric bullet: ordered list.
Creates the tag as an un-ordered or ordered list. The numeric value represents the number to be displayed i.s.o. the standard bullet.
error_mandatory Value = Error to be displayed if the mandatory validation fails. Error text to be displayed when a mandatory field has not been entered and the page is submitted.
error_validation User defined error to be displayed if field level validation fails. Error text which can be programatically retrieved and displayed if field validation is unsuccessful.
An HTML division (<div>) is created which can be accessed via Javascript as tag groupname (<tag_code>Grp) appended with ErrVal
Eg. tagNameGrpErrVal.innerHTML.
Any PL/SQL AJAX validation can access the error from the field GOIVALUE on GOIWTA for the tag and attribute name error_validation.
fldclass Value = Full class definition for tag element (<tag name>) div Adds class definition detail to the tag div (HTML <tag name> div) e.g. text-align: right; width: 170px;
grpclass Value = Full class definition for <tag name>Grp div Adds class definition detail to the tag series group combination (HTML <tag name>Grp div) e.g. text-align: right; width: 170px;
isnumber Y Executes javascript to enforce numeric data entry for the tag.
mandatory Y Sets the mandatory attribute for the tag. This places a red asterisk * behind the tag field as the mandatory indicator and executes javascript to enforce data entry for the tag.
on() events Javascript When hiding and un-hiding groups of fields based on selected data element values, remember to cleanup any data entered into the fields being hidden. This includes any error message details which may be present for these fields being hidden. A default error message div element is included for all input elements as <tag_code>GrpErr. To clear the error message set the error div's innerHTML to an empty string as follows: <tag_code>GrpErr..innerHTML="";
pickinglist x_ The picking list prefix to be assigned to the associated tag for the name of the input to be saved to wizard data. Default - 'x_'
pickinglist_page Page code Utilised if the picking list is displayed on a different page to the picking list creation page (Content type P).
position S Start of a tag series
  C Continue the tag series
  E End of a tag series
promptclass Value = Full class definition for tag prompt (<tag name>Prompt) div Adds class definition detail to the tag prompt div (HTML <tag name>Prompt div) e.g. text-align: right; width: 170px; All prompt descriptions include a padding-right: 5px; style. Please do not include a padding-right style for promptclass attributes it WILL be ignored at run-time.
promptclass and fldclass CSS float With CSS float, an element can be pushed to the left or right, allowing other elements to wrap around it. Elements are floated horizontally, this means that an element can only be floated left or right, not up or down. Floating elements left and padding them with a number of pixels will allow them to align accordingly. The tag attribute (Tag Attributes - Block 7) fldclass can be used to add attributes to the float prompt div. Adding a style attribute to the tag will do the same for the tag.By default the Prompt div will float left, any other alignment and width style properties can be added via this attribute. This makes field alignment possible for various groups of fields. Include a float property in the style definition to override the default. Prompt and field elements have a default style included if ommitted from the tag attribute definition: text-align: right; display: inline-block; float: left; This style will default into the attribute value field when the promptclass or fieldclass attributes are first entered or selected.
radio_align vertical Utilised to align radio buttons horizontally/vertically. 'vertical' is the only acceptable value for this attribute. Horizontal alignment is the assumed default.
radio_label_pos left Utilised to position a radio button's label. 'left' is the only acceptable value for this attribute. Label position to the right is the assumed default.
showlovcode Y/N Utilised with LOV tags to display the lov code and description input elements on the page when set to Y (Yes). The default N is assumed.
sod SOD code and sub-system code. The SOD code and sub-system code seperated via a comma delimiter. The buildxml process will replace the SOD code/sub-system combination with the actual SOD value (SMNT-12).
storelov LOV wizard data name value pair storage. Used in conjunction with the LOV content type. Data entry as <tag name>|<tag sequence>. Create wizard data value for the selected LOV data using the attribute value as the name/tag code within GOG.
clearlov Enter the link text for the clear LOV field hyperlink. Used in conjunction with the LOV content type. Clear the code and description field of the LOV entry on the HTML page. Any onchange event on the LOV description (either manually coded or by using the storelov attribute) will be run. 'Clear' is the default if ommitted.

Tag Attribute Common Cases

Attribute Name Attribute Value Meaning
maxlength Number Specifies the maximum length (in characters) of an input field (for type="text" or type="password").
size Number Specifies the width of an input field.
disabled disabled Specifies that an input element should be disabled when the page loads.
cols Number Specifies the visible width of a text-area.
rows Number Specifies the visible number of rows in a text-area.
href URL Specifies the destination of a link.
target _blank
_parent
_self
_top
Specifies where to open the linked document.

Tag Attribute Common Events

Attribute Name Attribute Value Meaning
onblur script Script to be run when an element loses focus.
onchange script Script to be run when element value changes.
onkeyup script Script to be run when a key is released.
onclick script Script to be run on a mouse click.
onmouseout script Script to be run when mouse pointer moves out of an element.
onmouseover script Script to be run when mouse pointer moves over an element.

Un-ordered and Ordered lists:  Bullets

Including Bullets in your HTML pages

Block 8:  Tag Values

Field Type
&
Length
Description
Tag A20  Tag code.
Description A200 Tag value description.
Value A200 Tag code attribute value.
Default A1 Tag value default indicator.
Sequence N4 Tag value display sequence indicator.

Example:

Example for Tag Value definition


Processing Rules Tag Value Special Cases

Description Value Meaning
LOV LOV SQL code LOV SQL code obtained from BATCH-15 LOV value. Utilised for a select list based on an SQL i.s.o. fixed values.

Block 9 and 10:  Navigation Rules Definition

Block 9 - Wizard navigation rule
Field Type
&
Length
Description
Rule Code A10  Rule code.
Description A200 Rule code description.
Process Code A20 Process code.
Page Code A20 The page the rule should be applied to when submitted.
Redirect Type A1 Possible redirect Types
  • D - Database Procedure.
  • P - Redirect Page.
  • U - URL.
Redirect Value A400 The database procedure, page code or URL link to redirect to.
Sequence N4 Navigation rule sequence indicator.
Block 10 - Wizard navigation rule detail
Tag Code A20  Tag code.
Page Code A20  Page code.
Value A400  Tag value.

Example:

Example for Navigation Rules definition


Processing Rules
Wizard Data

Processing Rules: HTML <div> and Form Structure

ID Example Notes
Process Code <div id="<process code>" class="process"> Defines the current wizard process. Note the class process included from the wizard style sheet (wizard.css), which can be utilised for manipulating the style of the page.
Progress Bar <div id="progressBar" style="padding-bottom: 5px; padding-left: 5px; padding-right: 5px; display: inline-block; padding-top: 5px;"> This div represents the area which contains the wizard progress bar, if included on the page.
Submit form <form onsubmit="return changeToNameValuePairs(this);" name="frmOne" method="post">
OR
<form name="frmOne" method="post">
The HTML form to be submitted. Will always default to frmOne. If a submit button tag is included within the page definition the Javascript changeToNameValuePairs will be included which will convert all named inputs on the page to name/value pair field and value combination which will be stored in the wizard-data data structure (gen.gogwwd).
Form <div id="formDiv" style="position: absolute; visibility: hidden; z-index: 1000;"> This div includes two named hidden input fields: process_code and page_code. These 2 fields are always included on any page and will always be submitted to the wizard-data data structure.
Tag group <div id="protoPage1NxtBtnGrp" style="display: inline-block; clear: both;"> This div represents the area which contains tag group (Tag prompt and tag field definition) defined within the wizard paragraph. Made up of the tag code appended to Grp. Note: A tag group can also contain a series of tags (tag prompt and tag field combinations for multiple tags on one line).
Tag prompt <div id="protoPage1NxtBtnPrompt" style="display: inline-block; text-align: right; float: left;"> This div represents the area which contains the tag prompt defined within the wizard tag group. Made up of the tag code appended to Prompt.
Tag field <div id="protoPage1NxtBtnFld" style="display: inline-block; text-align: right; float: left;"> This div represents the area which contains the tag field defined within the wizard tag group. Made up of the tag code appended to Fld.
Break <br style="line-height: 0;"/>
<br style="line-height: .5em;"/>
These breaks exist between tag groups in order to ensure each tag group is placed on a new line. This will eliminate the inclusion of paragraph (p) HTML tags between tag groups. To increase the size of these break gaps, edit the style sheet gw1wiz.xsl OR create a new style sheet and link it to the process on GWEBM-1 block 2.

Wizard Navigation Control

Processing Rules: Wizard Error Handling

Processing Rules: Wizard javascript:  General wizard javascript include

These Javascript functions can be utilised within your tags for manipulating elements and element data. Be aware these are not the only Javascript functions included within this JS file, but are the usable functions
Javascript Description
showCalendar This script is not for general use it will setup and display the HTML calendar from the calendar button created for date elements.
show This script can be used to display any hidden HTML object.
hide This script can be used to hide any displayed HTML object.
showHide This script can be used to show an object if hidden or hide an object if displayed.
displayWhenValSL
(HTML Select list)
This script will display a hidden object when the selected value of the associated select list is a specified value.
displayWhenValuesSL
(HTML Select list)
This script will display a hidden object when the selected value of the associated select list is any of the values within an array.
checkFieldLength
(HTML text-area)
This script will compare the length of an object to the supplied object length, for alerting the user when the number of characters entered is greater than the maximum.
displayCharNumber
(HTML text-area)
This script will display the number of characters entered into the textarea, within a specified object. Utilise in both onkeyup and onblur triggers of the object
isNumber This script will validate whether the object in question has a numeric value.
showProgressBar This script will display the wizard progress bar.
valCheckBox Enable/Disable field according to check box selection. Supply the checkbox element id and the field to enable/disable id as input parameters. If the checkbox is checked the field will be enabled and vice versa.
setupDesc Set the default hidden description field for the selected item within select list elements.
setupRadio Set the default hidden description field for checked radio button elements.
getCheckedValue Evaluates radio button elements to get the checked button value.
processIs Function can be utilised within Javascript to validate the process code. Return True if the name of the process code is the same as the input "processName" else return false

Wizard system operation definitions:  SOD's utilised for wizard usage (SMNT-12)

SOD/Sub-system System operational definitions for web wizards
Certain system operational definitions are utilised for wizard capture. The wizard sub-system code used is WZ.
TCS Wizard enrolments.
A1/WZ Adult enrolment student type.
A2/WZ Young adult enrolment student type.
DC/WZ Document Category.
EN/WZ English Subject Category code.
MA/WZ Maths Subject Category code.
NZ/WZ New Zealand Country Code.
ME/BI Maori ethnicity code.

Appendix

History of Changes

Date System Version By Whom Job Description
12-Apr-2010 v02.0.0.0 David Goodrum t161180 New option.
25-Jul-2011 v02.0.0.1 David Goodrum t174454 Amendments to documentation following Te Kura implementation.
25-Jul-2011 v02.0.0.2 David Goodrum t176105 Amendments to documentation following Te Kura implementation.
01-Jan-2015 v03.0.0.0 David Goodrum 204118 Amendments to documentation following Integrator 3 upgrade.