8About Siebel Web Templates and Siebel Tags

About Siebel Web Templates and Siebel Tags

This chapter describes Siebel Web Templates and Siebel Web Engine (SWE) tags. It includes the following topics:

For more information, see How the Siebel Web Engine Creates a Siebel Application, and Configuring Siebel Web Templates and Siebel Tags

If you must modify a list applet in Siebel Open UI, then you must use a specific JavaScript file to do the rendering. You cannot modify only the Siebel Web Template. For more information about customizing Siebel Open UI, see Configuring Siebel Open UI.

About Siebel Web Templates

This topic describes Siebel Web Templates. It includes the following information:

    Overview of Siebel Web Templates

    A Siebel web template includes a preset format thatSiebel CRM reuses each time it requires a particular layout. This configuration allowsSiebel CRM to use only a single template rather than multiple files every time it requires a particular layout. For more information, see Siebel Web Template.

    A Web browser uses HTML to define the layout and format of a page. Siebel web templates provide this HTML layout to the Siebel Web Engine when it displays Siebel objects in the Siebel client. The templates contain markup tags, such as HTML and XML, that Siebel CRM intersperses with Siebel tags.Siebel CRM prefixes these tags with swe in Siebel Tools and od in Web Tools.

    A Siebel web template includes empty placeholders that contain no data. To enter data and user interface elements into a template,Siebel CRM associates views, applets, controls, and other objects with each template. These objects are defined in the Siebel repository.Siebel CRM maps each object to an empty placeholder in the template. For example, assume a view maps to three applets. You associate a view web template with the view, and then map each applet to a placeholder in that template.

      Types of Siebel Web Templates

      Siebel CRM uses the following types of Siebel web templates:

      • Page container template. Provides a structure for Siebel CRM. Each Siebel application uses one page container that it uses as a container for view web templates. A view that does not use the container page typically varies significantly from other views. For example, the login page does not use the page container.

      • Web page template. Defines the layout for the entire display. Includes information about where Siebel CRM displays the screen bar, view bar, and view.

      • View web template. Defines the layout for a view. Specifies where to position applets and other page-level controls on the view. Specifies the format of the view.

      • Applet template. Defines the layout for fields and controls in an applet. Specifies how to format elements in an applet. An applet can include more than one mode. Siebel CRM associates each mode with a template. For more information, see Options to Control How the User Creates, Edits, Queries, and Deletes CRM Data.

      • Format template. Allows you to create custom HTML types, such as specialized controls, list items, and page items. These templates use the SWF (Siebel Web Format) extension. For more information about SWF files, see Configuring an HTML Control Type and Caution About Using Specialized Classes.

      Siebel CRM can contain other pages that do not contain any Siebel tags. For example, you might include an About This Application help page. This page is not a template.

        Development Environment You Use to Create HTML Output

        The following image describes the development environment you can use to create HTML output. The Siebel Web Engine uses templates, repository definitions, and HTML to create HTML output.

        Development Environment You Use to Create HTML Output
        Explanation of Callouts

        You use the development environment to do the following:

        1. Edit the HTML in an external HTML editor.

        2. Use the Web Layout Editor in Siebel Tools to edit the layout of an applet and to map object definitions to the Siebel web template.

          If a Siebel client requests a view, then the Siebel Web Engine does the following:

        3. Gets the object definition for the view and the object definition for each applet in that view from the Siebel runtime repository. Gets the data defined in the object definition from the data manager layer of the Application Object Manager (AOM).

        4. Matches this data with the template that the view references and each applet in the view.

        5. Uses the placeholders in the template to display this view. Defines where Siebel CRM places each user interface element in the object definition and how to format this element.

          If the user accesses the HTML file in a Web browser, then Siebel CRM displays it as a Web page. It uses the layout that the original template defines and it gets the data and controls.

          Siebel Web Template Reuse

          You can share a Siebel Web template among many objects in the Siebel repository. A template includes placeholders that do not contain data, so Siebel CRM can map any number of repository objects to a placeholder. This configuration allows you to modify only one template to apply style or structural modifications to numerous user interface elements. A typical Siebel application contains approximately 5 to 50 templates. These templates form the basis for several hundred views and applets. For example, Siebel CRM can share a template that defines the layout and format of a predefined list applet among all the list applet definitions that reside in the Siebel repository.

          If a placeholder is not mapped, then the Siebel Web Engine ignores it. It also ignores the HTML that exists between the Siebel tags that define the placeholder. For example, if the template contains the layout for a list applet that is 10 columns wide but only two of the columns are mapped, then the Siebel Web Engine ignores the other eight unmapped columns. This configuration improves efficiency and performance.

            Flexibility of Use

            Siebel CRM comes with many predefined applet web templates and view web templates that you can modify. To support your business processes, it might not be necessary for you to modify any of the applet web templates and view web templates. In some situations, especially with customer and partner applications, you can modify predefined templates to reflect the look and feel that your company requires. You can create entirely new templates.

            A Siebel Web template can include another Siebel Web template. Siebel CRM uses this configuration to improve efficiency. For example, to separate how Siebel CRM handles an applet title from how it handles the applet body, you can create a template file that includes the title in the applet template. This configuration allows you to define an applet layout one time, and then combine it with multiple different title layouts.

            A Siebel Web template must use valid HTML. It is recommended that you do not add JavaScript beyond what the Siebel Web Engine already creates. If it is necessary to add JavaScript, then you must use Siebel Tools to define browser script.

            You can use Siebel Tools or an external editor to modify a template. For more information, see Using Siebel Tools.

              Support for Multiple Browser Types

              The layout and style of HTML Web pages is dynamic. This configuration allows Siebel CRM to simultaneously support multiple browser types and versions. A Siebel web template supports conditional branching. Siebel CRM evaluates conditions according to the results that a business service returns.

                How Siebel CRM References Web Pages

                This topic describes some of the properties of the application object that identify the template that Siebel CRM uses for a particular situation. For more information, see the following topics:

                  About the Container Page

                  The container page is the outermost template. It references view web templates and view web templates that reference applet templates. The container page contains markup language and Siebel Web Engine tag elements that define the Web equivalent of the application window. You can examine this logic in the CCPageContainer_Common_ss web template. The Siebel Web Engine processes the container page template, view web templates, and applet web templates.

                    Container Page Elements

                    The container page includes the following elements:

                    • Markups for the top of the container page. Example markups include the corporate banner and Siebel tags that Siebel CRM uses for predefined queries. For example, in the Web Page Layout Editor you can view how the Queries menu label is the FavoritesLabel Web page item. For more information, see Guidelines for Modifying a Predefined Query.

                    • Screen tab bar. Created beneath container page markups as a table. The Siebel Web Engine logic that is associated with the following tags loads the screen tab bar:

                      • <div od-type="screenbar">

                      • <div od-type="screenlink">

                      • <div od-type="nav-control">

                    • View bar. The Siebel Web Engine logic that is associated with the following tags loads the view bar:

                      • <div od-type="viewbar">

                      • <div od-type="viewlink">

                      • <div od-type="nav-control">

                    After Siebel CRM loads the container page and displays screen and view names, the screen and view names work like links in the following ways:

                    • If the user clicks a screen tab, then Siebel CRM uses the template for the default view for this screen to create and display the view.

                    • If the user clicks a view name in the view bar, then Siebel CRM loads the view web template that is defined in the object definition of the view.

                    The Siebel Web Engine does the following:

                    • Processes the set of tags in the view web template to include applets in the page.

                    • Uses the view object definition, view web templates, and applet web templates to identify the applets that Siebel CRM displays in a sector.

                    • Gets controls from the Siebel repository to resolve tag references to controls in each applet. Loads controls into the Web page as defined in the applet web template child object of the applet. For more information, see How Siebel CRM Uses HTML Frames in the Container Page.

                      How Siebel CRM Uses HTML Frames in the Container Page

                      The container page can contain HTML frames that allow Siebel CRM to independently update and scroll different parts of a page. Example elements include toolbars, menus, the main content area, and so on. For more information, see the following.

                      You can group applets into separate frames in a view web template. It is recommended that you do not use this configuration except where independent refresh or independent scrolling is required.

                      Siebel CRM uses the <div od-type="frameset"> tag and the <div od-type="frame"> tag to do the following:

                      • Create attributes for HTML frames.

                      • Allow the Siebel Web Engine to control how it targets and refreshes URLs.

                        OD Tag That Defines the Set of Frames in a Document

                        The <div od-type="frameset> tag defines the set of frames that the document contains. Similar to the HTML frameset tag, the Siebel Web Engine displays it as an HTML frameset tag. The body of this tag can only contain <div od-type="frame> tags.

                        The <div od-type="frameset"> tag uses the following format:

                        <div od-type="frameset" htmlAttr="xxx">  ... <!--od section frameset close–> </div>
                        

                        The <div od-type="frameset"> tag includes the htmlAttr attribute. This attribute defines the attributes for the HTML frameset tag. For example, the following code supports a layout where the frames that belong to the frameset use 89 pixels, 25 pixels, and the remainder of the window:

                        htmlAttr="rows=’89,25,*’" 
                        

                          OD Tag That Marks the Beginning and End of Content in a Frame

                          The <div od-type="frame"> tag marks the beginning and end of the contents that Siebel CRM places in a frame. The Siebel Web Engine displays this tag as an HTML frame tag, with the src attribute of the tag set to a Siebel Web Engine URL that gets the contents of the frame. You must place this tag in the body of the <div od-type="frameset"> tag.

                          The <div od-type="frame"> tag uses the following format:

                          <div od-type="frame" type="xxx" name="yyy"> .... <!--od section frame close–> </div>
                          

                          The <div od-type="frame"> tag includes the following attribute:

                          type
                          

                          The type attribute indicates the nature of the contents of the frame. The Siebel Web Engine uses this information to decide when to refresh the frame. It supports the following values for the type attribute:

                          • Siebel CRM uses the following values in a container page template:

                            • Toolbar. Specifies that the frame contains the toolbar.

                            • Screenbar. Specifies that the frame contains the primary tab bar.

                            • Viewbar. Specifies links to views and categories of views.

                            • View. Specifies that the frame contains the current view, that is, the content area.

                            • Page. Specifies that the frame contains a Web page. Siebel CRM does not refresh these frames after initial loading.

                          • Applet. In a view web template, specifies that the frame contains an applet.

                          • Content. Defines the content area and contains a view frame that displays the main view. To display an alternate view, it can contain one or more AltView frames. The search center is an example of an alternate view.

                          • AltView. Designates subframes to display one or more alternate views in the content frame in addition to the one in the view frame.

                          • Name. Used only if the type of the frame is page. In this situation, you can use this attribute to define a name for the frame. For other frame types, the Siebel Web Engine creates consistent names for the frame.

                            Nested Framesets

                            The Siebel Web Engine supports nested framesets. In this situation the <div od-type="frame"> tag contains a <div od-type="frameset"> tag, and the type attribute of the outer <div od-type="frame"> tag is the following:

                            page
                            

                              Example Frameset Code From a Container Page

                              The following <div od-type="frameset"> code is from the Page Container web template:

                              <div od-type="frameset" htmlAttr="rows='60,21,25,*' border='0' frameborder='No'">
                                 <div od-type="frame" div od-type="page" htmlAttr="marginheight='0' marginwidth='0'noresize scrolling='No'">
                                   <div od-include="CCFrameBanner>"/>
                                 <!--od section frame close–>
                                 </div>
                                 <div od-type="frame" div od-type="screenbar" htmlAttr="marginheight='0' marginwidth='0' noresize scrolling='No'">
                                   <div od-include="CCFrameScreenbar>"/>
                                 <!--od section frame close–>
                                 </div>
                                 <div od-type="frame" div od-type="viewbar" htmlAttr="marginheight='0' marginwidth='0' noresize scrolling='No'">
                                   <div od-include="CCFrameViewbar"/>
                                 <!--od section frame close–>
                                 </div>
                                 <div od-type="frame" div od-type="view" htmlAttr="marginheight='0' marginwidth='0' noresize scrolling='Auto'">
                                   <div od-type="current-view"/>
                                 <!--od section frame close–>
                                 </div>
                              <!--od section frameset close–>
                              </div>
                              

                                About View Web Templates

                                Siebel CRM uses a view web template to associate a view web template with a view. A view web template uses the <div od-type="applet> tag to define placeholders for applets. You can use the Web Layout Editor to map an applet to each placeholder.

                                  Example Code of a View Web Template

                                  The following is code is from an example view web template:

                                  <!-- Template Start: CCViewBasic -->
                                  <!------------ Page Title ------------->
                                  <title>
                                  <div od-property="Title"/>
                                  </title>
                                  <!----------- Salutation applet and Search Applet, table 3.1 ------>
                                  <table border="0" cellspacing="0" cellpadding="1" width="100%">
                                     <tr>
                                       <td width="66%"><div od-type="applet id="101"/>&nbsp;</td>
                                       <td width="33%"><div od-type="applet id="201"/>&nbsp;</td>
                                  </tr>
                                  </table>
                                  <!-------- End Salutation applet and Search Applet, table 3.1 ------>
                                  <!------------ Regular Applet(s) ---->
                                  <div od-prefix od-id=[1:5] od-iterator="currentId>
                                     <div od-type="applet" id="od-type:currentId"/>
                                  <!--od section iterator close–>
                                  </div>
                                  <!------------ Special Applet(s) ---->
                                  <div od-prefix od-id=[11:3] od-iterator="currentId>
                                     <div od-type="applet" od-id="od-attr-currentId"/>
                                  <!--od section iterator close–>
                                  </div>
                                  <!-- Template End: CCViewBasic -->
                                  

                                    Applet ID Tags

                                    Each <div od-type="applet" id=x> tag is a placeholder that determines the location for an applet in the view web template. To display different views, you can map applets that currently exist in the view to placeholders in this same view web template. View web templates that come predefined with Siebel CRM include the following <div od-type="applet"> tags:

                                    • Tags with IDs of 101 and 201. Displays the salutation and search applets that Siebel CRM displays at the start of the views.

                                    • Tags with IDs 1 through 10. Displays the main applets in the view.

                                    • Tags with IDs that begin with 11. Displays special applets that Siebel CRM displays at the lowest level of some views.

                                      HTML Frames in a View Web Template

                                      To display applets in a view, you can use HTML frames in view web templates and create a frame definition document. The Siebel Web Engine refreshes these frames only if one or more of the applets that the frame contains includes new data.

                                      The following situations require HTML frames in the content area of a view web template:

                                      • If a tree applet occupies a frame in the first section and the corresponding list applet occupies the frame in the section in an explorer view.

                                      • If the user does a search. Siebel CRM requires a search frame and a results frame in the second portion of the content area.

                                      Example Code for Using HTML Frames in a View Web Template

                                      The following is an example of code that uses HTML frames in a view web template:

                                      <!-- CCView_33_66_Frame start -->
                                      <div od-type="frameset" htmlAttr="cols='33%,66%'' border='1' frameborder='Yes'">
                                      <!-- Column 1 Applets -->
                                      <div od-type="frame" type="Applet" htmlAttr="marginheight='0' margin width='0' scrolling='Auto'">
                                      <div od-prefix od-id=[101:10] od-iterator="currentId>
                                         <div od-type="applet" od-id="od-attr-currentId" hintText="Applet" od-context="<parent>">
                                           <!--start applet-->
                                           <div od-property="FormattedHtml"/>
                                           <!--end applet-->
                                         <!--od section applet close–>
                                         </div>
                                      <!--od section iterator close–>
                                      </div>
                                      <!--od section frame close–>
                                      </div>
                                      <!-- Column 2 Applets -->
                                      <div od-type="frame" type="Applet" htmlAttr="marginheight='0' marginwidth='0' scrolling='Auto'">
                                      <div od-prefix od-id=[201:10] od-iterator="currentId>
                                         <div od-type="applet" od-id="od-attr-currentId" hintText="Applet" od-context="parent">
                                           <!--start applet-->
                                           <div od-property="FormattedHtml"/>
                                           <!--end applet-->
                                         <!--od section applet close–>
                                         </div>
                                      <!--od section iterator close–>
                                      </div>
                                      <!--od section frame close–>
                                      </div>
                                      <!--od section frameset close–>
                                      </div>
                                      <!-- CCView_33_66_Frame end --> </HTML>
                                      

                                        Overview of Applet Web Templates

                                        An applet web template is a type of Siebel web template that allows you to define multiple templates for a single applet, where each template file is associated with one or more modes. The applet web template is a child of the applet. For more information, see About the Form Applet and List Applet and Adding a Web Template to an Applet.

                                          Properties of the Applet Web Template

                                          The following table describes properties of the applet web template.

                                          Table Properties of an Applet Web Template

                                          Property Description

                                          Type

                                          Indicates the edit mode that the applet template supports, such as Edit or New. For more information, see Options to Control How the User Creates, Edits, Queries, and Deletes CRM Data.

                                          Web template

                                          Provides the name of the Web Template used for that mode.

                                            Properties of the Applet Web Template Item

                                            The applet web template item defines the mappings that exist between controls and list columns to placeholders in the web template file. The applet web template item is a child of the parent applet web template. The following table describes properties of the applet web template item.

                                            Table Properties of an Applet Web Template Item

                                            Property Description

                                            Name

                                            Name of the applet web template item, which is typically the same as the Control property.

                                            Control

                                            Name of the control as Siebel CRM displays it in the Siebel client.

                                            Item Identifier

                                            A unique, numeric identifier for each control that Siebel Tools creates in the layout editor. Siebel CRM uses the value in the markup language tag that specifies the corresponding control in a template. It binds the control to a position on the page. Each applet web template item that comes predefined with Siebel CRM includes this unique number.

                                            If you use the Web Template editor to add an object to an applet web template, then Siebel CRM automatically adds an applet web template item for this object and it sets the value for the item identifier to a unique value. If you modify the value of the Item Identifier property, then you must make sure the value you enter is unique among all objects that the Applet Web Template Items list displays. Siebel Tools does not automatically verify that the value you enter is unique. If every item identifier value in the Applet Web Template Items list is not unique, then the Siebel CRM run-time environment might not work correctly.

                                            Type

                                            Indicates the type of control that the applet web template item defines. You can choose one of the following values:

                                            • Control
                                            • List Item
                                            • Web Control

                                              About Grid Form Applet Templates

                                              A grid template simplifies the work of creating the layout of a form applet. Web Tools displays a grid layout template in a graphic interface that includes objects that you relocate from a palette to a work space. The grid layout applet web template, Siebel tag, and other features in the Applet Web Template Editor allow you to modify the layout of a form without directly modifying the underlying applet web template. For more information, see Using Grid Layout for an Applet.

                                              You can do the following with an applet web template that uses a grid. You cannot do this work in an applet web template that does not use a grid:

                                              • Use Web Tools to modify the layout of the form without having to directly modify the web template.

                                              • Place labels and controls independently in the applet layout. Labels and controls are a single object in the Siebel repository that use one set of shared properties, but you can manipulate them as separate items in the Applet Web Template Editor.

                                              • A template that uses a grid does not automatically compress empty space in a column.

                                              A grid layout applet web templates uses the following Siebel tags:

                                              • <div od-type="form-applet-layout"> <!--od section form-applet-layout close–> </div>

                                              These tags do not use placeholder tags. Instead, they provide a single container that contain all controls in the main body of a form applet. These tags allow you to use the Applet Web Template Editor to configure the layout of a form applet. You must use the Applet Web Template Editor to modify the layout of an applet that uses a grid applet web template.

                                              Note: The feature described in this topic is available in Siebel CRM 18.10 Update and later releases.

                                                About Nongrid Form Applet Templates

                                                Predefined applet web templates that do not use a grid use placeholder tags to define the layout of the applet. You can use the Applet Web Template Editor in Web Tools to map controls to any available placeholder. You cannot use the Applet Web Template Editor to modify the layout of the placeholders themselves. To modify the layout of the placeholders that Siebel CRM displays in these templates, you must modify the applet web template file.

                                                Siebel CRM can display a form applet in any of the following modes:

                                                • Base

                                                • Edit

                                                • New

                                                • Query

                                                  Example Code of a Nongrid Form Applet Template

                                                  The following example code of a nongrid form applet template can run in Edit, New, and Query mode. An applet that runs in Base mode is similar except it does not contain the <div od-type="form> tag. For more information, see Options to Control How the User Creates, Edits, Queries, and Deletes CRM Data.

                                                  <div od-type="control" id="1100">
                                                   <div class=CmdTxt>
                                                     <div od-property="FormattedHtml hintText="Outside Applet Help Text"/>
                                                   </div>
                                                  <!--od section control close–>
                                                  </div>
                                                  <table class="AppletStyle1" width="100%" align="center">
                                                   <div od-type="form">
                                                     <tr>
                                                       <td colspan="2">
                                                       <div od-include ="CCTitle"/>
                                                       </td>
                                                     </tr>
                                                     <tr>
                                                       <td>
                                                       <div od-type="error">
                                                       <div od-property="FormattedHtml"/>
                                                       <!--od section error close–>
                                                       </div>
                                                       </td>
                                                     </tr>
                                                  <div od-prefix od-id=[1301:10] od-iterator="currentId>
                                                  <div od-type="control od-id="od-attr-currentId" hintMapType="FormItem">
                                                     <tr valign="top">
                                                       <td class="scLabelRight">&nbsp;
                                                       <div od-property="RequiredIndicatorhintText="Required"/>
                                                       <div od-property="DisplayName" hintText="Label"/>
                                                       </td>
                                                       <td class="scField">
                                                       <div od-property="FormattedHtml" hintText="Field"/>&nbsp;
                                                       </td>
                                                     </tr>
                                                   <!--od section control close–>
                                                   </div>
                                                  <!--od section iterator close–>
                                                  </div>
                                                  <!--od section form close–>
                                                  </div>
                                                  </table>
                                                  

                                                    Tags Included in a Nongrid Form Applet Template

                                                    This topic describes the some of the tags that a nongrid form applet template includes.

                                                    OD Tag That Accepts User Input

                                                    The <div od-type="form"> tag encloses a section of a page that accepts user input. It is similar to an HTML form tag. This tag includes the following attributes:

                                                    • htmlAttr. Must include valid attributes of the HTML form tag other than method, name, or action. Siebel CRM uses these attributes in the same way it uses the HTML form tag that it creates.

                                                    • name. Creates an HTML form with the defined name. If the name attribute is not defined, then Siebel CRM uses an internally created name.

                                                    OD Tag That Specifies Placeholders for Controls

                                                    The <div od-type="control"> tag specifies placeholders for controls. This tag includes the following attributes:

                                                    • od-id. References the control for the placeholder.

                                                    • od-property. References the value of the control to display. This attribute includes the following values that are relevant for a form applet:

                                                    • FormattedHTML. Configures Siebel CRM to display the data value of the control.

                                                    • DisplayName. Corresponds to the Caption property.

                                                    • RequiredIndicator. Configures Siebel CRM to display HTML if the underlying business component field is required.

                                                    OD Tag That Handles Errors

                                                    For more information, see Configuring How Siebel CRM Displays an Error That Occurs on the Siebel Server.

                                                      About List Applet Templates

                                                      This topic describes the list applet template. For more information, see Options to Control How the User Creates, Edits, Queries, and Deletes CRM Data.

                                                        Example Code of a List Applet Template

                                                        The following is example code of a list applet template:

                                                        <table width="100%" cellspacing="0" cellpadding="0" border="0" align="center">
                                                        <div od-type="form>
                                                         ...
                                                        <div od-type="list>
                                                        <!-- List Header Section Start>
                                                           <div od-type="control" id="147">
                                                             <td class="Header" align="center">
                                                             <div od-property="DisplayName"/>
                                                             </td>
                                                           <!--od section control close–>
                                                           </div>
                                                           <div od-type="select-row">
                                                             <td width="42" align="center" class="Header">&nbsp;
                                                             </td>
                                                           <!--od section select-row close–>
                                                           </div>
                                                        <div od-prefix od-id=[501:20] od-iterator="currentId>
                                                           <div od-type="control" id="od-attr-currentId">
                                                             <td align="od-context-TextAlignment" class="Header">
                                                             <div od-property="ListHeader"/>
                                                             </td>
                                                           <!--od section control close–>
                                                           </div>
                                                        <!--od section iterator–>
                                                        </div>
                                                           <div od-type="control" id="142">
                                                             <td class="Header" align="center">
                                                             <div od-property="DisplayName"/>
                                                             </td>
                                                           <!--od section control close–>
                                                           </div>
                                                        <!-- List Header Section End>
                                                        <!------------ Loop for all 7 records, List Body ------------->
                                                        <div od-iterator="row" od-id="[0:7]">
                                                        <tr class="od-context-RowStyle">
                                                           <div od-type="control" id="147">
                                                             <td width="42" align="center" class="Row">
                                                             <div od-property="FormattedHtml" hintMapType="Control"/>
                                                             </td>
                                                           <!--od section control close–>
                                                           </div>
                                                         <div od-type="select-row">
                                                            <td width="42" align="center" class="Row">
                                                            <div od-property="FormattedHtml"/>
                                                            </td>
                                                        <!--od section select-row close–>
                                                        </div>
                                                         <!-- ---------- List Field Values (501-520) ------------->
                                                          <div od-prefix od-id=[501:40] od-iterator="currentId>
                                                            <div od-type="control" od-id="od-attr-currentId">
                                                             <td align="od-context-TextAlignment" class="Row">
                                                             <div od-property="FormattedHtml"> 
                                                             hintText="Field"/>
                                                             </td>
                                                           <!--od section control close–> 
                                                           </div>
                                                          <!--od section iterator close–>
                                                        </div>
                                                           <!-- ---------- Per-record Control Buttons ------------->
                                                             <div od-type="control" id="142">
                                                             <td align="center" class="Row">
                                                             <div od-property="FormattedHtml" hintMapType="Control"/>
                                                             </td>
                                                           <!--od section control close–>
                                                           </div>
                                                           </tr>
                                                           <!--od section iterator close–>
                                                           </div>
                                                           <!-- ---------- End Loop, List Body ------------->
                                                          <!--od section list close–>
                                                           </div>
                                                        ...
                                                           <!--od section form close–>
                                                           </div>
                                                          </table>
                                                        

                                                          Tags That a List Applet Template Includes

                                                          This topic describes some of the tags included in a list applet template.

                                                          OD Tag That Encloses an Editable Section

                                                          The <div od-type="form"> tag encloses an editable section. You use it for an editable list applet.

                                                          OD Tag That Encloses the List Header and Body

                                                          The <div od-type="list"> tag encloses the section of the template that contains the list header and body. Siebel CRM replaces the section between the start and end of the <div od-type="list"> tags with the specialized list control that supports some capabilities, such as resizing columns. For more information, see Caution About Using Specialized Classes.

                                                          OD Tag That Defines a Placeholder for a List Column

                                                          The <div od-type="control"> tag defines a placeholder for a list column. It includes the Property attribute that specifies the property of the control to display. This attribute includes the following values that are relevant for a list applet:

                                                          • FormattedHTML. Configures Siebel CRM to display the data value of the control.

                                                          • DisplayName. Corresponds to the Caption property.

                                                          You can use some properties of a list column to control the attributes of an HTML element that the <div od-type="control> tag contains. For example, you can use the following code to set the align attribute of a TD tag to equal the Text Alignment property of the enclosing list column:

                                                          <td align="od-context-TextAlignment">
                                                          
                                                          OD Tag That Repeats for Each List Row

                                                          The <div od-iterator=row> tag encloses the section of the template that Siebel CRM repeats for each list row.

                                                            About Tree Applet Templates

                                                            This topic describes the tree applet template. For more information, see Configuring a Tree Applet.

                                                              How Siebel CRM Buildsand Displays a Tree Applet

                                                              To display a tree, Siebel CRM iterates through each item of the tree in a top-down, depth-first fashion, and displays one item at a time. Siebel CRM defines this behavior in the <div od-node="xxx"> tag.

                                                              Siebel CRM uses the <div od-indent="xxx"> tag to indent each tree item. It uses this tag to do the following:

                                                              • Place the text in the correct indent level relative to the root.

                                                              • Display the expand icon, collapse icon, the text of the item, and the links.

                                                              Siebel CRM uses a series of GIF images to do the indentation or to insert white spaces if in text-only mode. Siebel CRM uses images to display the expand icon and collapse icon, or to display text if in text-only mode. The <div od-type="indent-img"> tag defines these objects. Siebel CRM displays, as part of the view, the list applet that is associated with the currently chosen tree node. For more information, see Configuring Icons in a Tree Applet.

                                                                Example Code of a Tree Applet Template

                                                                In this example, if the user clicks or expands a tree, then the <div od-type="applet-tree-list “>tag provides a placeholder for a list applet that Siebel CRM displays. The applet that Siebel CRM displays depends on the node that is currently chosen.

                                                                The following is example code of a tree applet template:

                                                                <!--View with tree applet in the first section and list applet in the second-->
                                                                <table border="0" cellspacing="0" cellpadding="1" width="100%">
                                                                 <tr>
                                                                   <!-- Begin Tree Applet -->
                                                                   <td>
                                                                     <div od-type="applet id="1" hintText="Tree Applet"/>
                                                                   </td>
                                                                   <!-- Begin List Applet -->
                                                                   <td>
                                                                     <div od-type="applet-tree-list/>
                                                                   </td>
                                                                 </tr>
                                                                </table>
                                                                

                                                                  Example Code of a Tree Applet Template That Displays the Tree in a Single Column

                                                                  In this example, Siebel CRM ignores the following items:

                                                                  • For tree items, it ignores the <div od-type="node> tag that includes a DisplayName type.

                                                                  • For tree nodes, it ignores the <div od-type="node> tag that includes a FieldValue type.

                                                                  The following example code of a tree applet template displays the tree in a single column:

                                                                   <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0>
                                                                    <TBODY>
                                                                     <div od-iterator=nodeIterator>
                                                                     <TR VALIGN=top>
                                                                     <TD NOWRAP>
                                                                     <div od-iterator=indentIterator>
                                                                       <div od-type="indent-img/>
                                                                     <!--od section iterator close–>
                                                                     </div>
                                                                     <div od-type="node type="DisplayName">
                                                                       <div od-property="FormattedHtml"/>
                                                                     <!--od section node close–>
                                                                     </div>
                                                                     <div od-type=node type="FieldValue">
                                                                       <div od-property="FormattedHtml"/>
                                                                     <!--od section node close–>
                                                                     </div>
                                                                     </TD>
                                                                     </TR>
                                                                     <!--od section iterator close–>
                                                                     </div>
                                                                   </TBODY>
                                                                  </TABLE>
                                                                  

                                                                    Tags That Siebel CRM Includes in a Tree Applet Template

                                                                    This topic describes some of the tags that Siebel CRM includes in a tree applet template.

                                                                    OD Tag That Displays Tree Nodes and Field Values

                                                                    Siebel CRM uses the <div od-node> tag to display tree nodes and field values. It iterates through each visible item that resides in the tree control in a top-down, depth-first fashion.

                                                                    The attributes are optional. If the Count attribute is not defined, then the tag iterates through all nodes in the tree. The <div od-node> tag includes the following attributes:

                                                                    • Count. Specifies the number of times the tag iterates through content. If you require a specific tree format, then you use can use this attribute.

                                                                    • StartValue. The value that Siebel CRM uses to start the iteration. To start the iteration, the tag assigns this value to an internal iterator, and then increments it by one for each iteration.

                                                                    OD Tag That Indents Tree Items

                                                                    Siebel CRM uses the <div od-indent> to indent tree items. It iterates through each level of a tree item. The <div od-indent> tag does not include any attributes.

                                                                    OD Tag That Provides a Placeholder for a GIF Image

                                                                    Siebel CRM uses the <div od-type="indent-img"> as a placeholder for a GIF image that corresponds to the indent level for the tree item that the user chooses in the Siebel client. At each level, the Siebel Web Engine uses the <div od-type="indent-img"> tag to identify the GIF file. The GIF image can include an empty space or a vertical bar. The <div od-type="indent-img"> tag does not include any attributes.

                                                                    OD Tag That Provides a Placeholder for a Tree Item

                                                                    Siebel CRM uses the <div od-type="node> as a placeholder for tree item. A tree item can be a repository tree node or a field value. Note the following:

                                                                    • If the tree item is a tree node, then Siebel CRM displays the display name.

                                                                    • If the tree item is not a tree node, then Siebel CRM creates a field value.

                                                                    The expand icon, collapse icon, and links are parts of a tree item. Depending on the configuration file settings, Siebel CRM displays the expand icon or collapse icon as a GIF image or text. It only displays the expand icon or collapse for a tree item that contain child items. The following links are associated with each item:

                                                                    • A link for the expand icon and collapse icon that allows the user to expand or collapse the item

                                                                    • A link for the item image that allows the user to choose the item or to navigate to next or previous workset

                                                                    Choosing an item allows the user to access the list applet that is associated with the tree node. The <div od-type="node> tag must use the <div od-property=<propertyName>> tag as a child tag.

                                                                    The <div od-type="node> tag includes the type attribute. This attribute can include the following values:

                                                                    • DisplayName. Displays the Display Name of the tree node.

                                                                    • FieldValue. Displays a field value.

                                                                      About Catalog List Applets and Rich List Templates

                                                                      A catalog list applet or a rich list template supports a layout that is similar to a catalog. Siebel CRM can display a catalog in a view that references applets that maintain a parent and child relationship. You can display records from the parent applet and the child applet so that Siebel CRM interweaves them with each other.

                                                                        Example of an Applet That Interweaves Records

                                                                        The following image describes an example of an applet that interweaves records.

                                                                        Example of an Applet That Interweaves Records

                                                                        Note how Siebel CRM interweaves records in this example:

                                                                        • The parent applet provides data for the bullet items under Portable Music.

                                                                        • The child applet provides data for values that Siebel CRM displays after Portable Music.

                                                                        To create this layout, the parent and child applets are list applets. The parent applet is a root level applet. You can use more than one root level applet to display more than one set of parent-child relationships in a view.

                                                                        The Position Property Defines Relationships Between Applets

                                                                        The Position property of the view web template item defines the relationship that exists between the applets. It works similarly to the Position property of the tree node. The root level applets contain position values, such as 1, 2, and so on. You assign the immediate child applets of the applet with position 1 with position values 1.1, 1.2, and so on. You can define third level applets with position 1.1.1, 1.1.2, and so on. These third level applets are child applets of the applet with position 1.1. For more information, see Defining the Position Property of a Tree Node.

                                                                          Tags That Define the Layout for Nonroot Applets

                                                                          This topic describes tags that define the layout for nonroot applets layout. Siebel CRM only supports applets in the base mode in this layout. Note the following:

                                                                          • If the Applet property in the view web template item references a root applet, then Siebel CRM maps this applet to a <div od-type="applet> tag in the view web template.

                                                                          • If the Applet property in the view web template item references a nonroot applet, then Siebel CRM does not assign an Id value to this applet. It does not define the layout of these nonroot applets in the view web template. It defines them in the applet template of the root level applets.

                                                                          SWE Tag That Iterates Through Each Child Applet

                                                                          The <div od-child> tag iterates through each of the child applets defined for the applet, as determined by the Item Identifier property of the view web template item of the view that the applet references. You can use this tag only in the base template of an applet. If the applet does not include any child applets, then Siebel CRM skips this tag.

                                                                          The <div od-child> tag uses the following format:

                                                                          <div od-child> ... <!--od section close–> </div>
                                                                          

                                                                          For more information about the item identifier, see Properties of the Applet Web Template Item.

                                                                          SWE Tag That Places the Child Applet in the Parent Applet

                                                                          The <div od-type="child-applet"> tag places the child applet in the parent applet. Siebel CRM uses the base template of the child applet to display the child applet at the location where you place this tag.

                                                                          The <div od-type="child-applet"> tag uses the following format:

                                                                          <div od-type="child-applet"/>
                                                                          

                                                                            Example of a Parent-Child Applet Relationship

                                                                            This topic describes the following example parent-child applet relationship:

                                                                            • The parent applet is Category Items List Applet

                                                                            • The child applet is Sub Category Items List Applet

                                                                            The following table describes the properties of the view web template item in the view that references these applets. For more information about the item identifier, see Properties of the Applet Web Template Item.

                                                                            Table Properties of the View Web Template Item

                                                                            Item Identifier Applet Applet Mode Position

                                                                            100

                                                                            Category Items List Applet

                                                                            Base

                                                                            1

                                                                            101

                                                                            Sub Category Items List Applet

                                                                            Base

                                                                            1.1

                                                                            Code That Defines the Table for the Base Template

                                                                            The following code defines the table for the base template of the Category Items List Applet:

                                                                              <table>
                                                                              <div od-iterator="row">
                                                                              <tr>
                                                                               <td>
                                                                                 <div od-type="control" id = "5001"/> <!-- field value like "Small Business" -->
                                                                               </td>
                                                                               <td>
                                                                                 <div od-child>
                                                                                   <div od-type="child-applet <!-- Show the child applet -->
                                                                                 <!--od section child-applet close–>
                                                                                 </div>
                                                                               </td>
                                                                              </tr>
                                                                              <!--od section iterator close–>
                                                                              </div>
                                                                              </table>
                                                                            

                                                                            The following code resides in the base template for the Sub Category Items List Applet:

                                                                              <table><tr>
                                                                              <div od-iterator="row>
                                                                               <td>
                                                                                 <div od-type="control" id="5001"/> <!-- field value like "Desktop" -->
                                                                               </td>
                                                                              <!--od section iterator close–>
                                                                              </div>
                                                                              </tr></table>
                                                                            

                                                                            Set the HTML Number of Rows property of the Sub Category Items List Applet to the number of values that Siebel CRM must display under each category value. To allow the user to drilldown from the category and subcategory values, you must configure the appropriate drilldown objects.

                                                                              About Siebel Tags

                                                                                Overview of How Siebel CRM Uses Siebel Tags

                                                                                Siebel CRM maps a Siebel object to an Id in a web template. The Siebel Web templates do not include references to controls in the Siebel repository. Instead, it includes placeholder tags that define layout and style. The following is an example of a Siebel tag that places a web page item in a web page:

                                                                                <div od-type="control id="1" property="FormattedHtml"/>
                                                                                

                                                                                Other Siebel tags place other items in a web page, such as view bars, applets, or controls.

                                                                                To process this tag and create the final HTML, the Siebel Web Engine does the following:

                                                                                1. For the current web page, it examines the Siebel runtime repository for web page item whose Item Identifier property is equal to 1. This is the mapping between the template file object and the repository object. For more information about the item identifier, see Properties of the Applet Web Template Item.

                                                                                2. To replace the placeholder in the template file, it displays the Formatted HTML representation of this repository object.

                                                                                The following image describes how the mapping between controls and IDs work to display an image as a link to add a new contact. The HREF is likely different in your implementation. If you create the correct controls and template mappings, then the Siebel Web Engine creates a URL in the HREF that runs the NewRecord method in the correct context.

                                                                                Example of Mappings Between Controls and IDs

                                                                                  Siebel Tag Usage in an HTML Tag

                                                                                  You cannot nest a Siebel tag in an HTML tag. For example, the following code is not valid. It creates an error:

                                                                                  <img src="div od-type="control id="1"/>
                                                                                  

                                                                                  You cannot nest some Siebel tags. For example, the following is not valid. It creates an error:

                                                                                  <div od-type="control id="1">
                                                                                     <div od-type="control id="2" property="formattedHTML"/>
                                                                                     <div od-property="formattedHTML"/>
                                                                                     <!--od section control close–>
                                                                                     </div>
                                                                                  <!--od section control close–>
                                                                                  </div>
                                                                                  

                                                                                    About Singleton and Multipart Tags, and the This Tag

                                                                                    This topic describes singleton and multipart tags, and the this tag.

                                                                                      About Singleton Tags and Multipart Tags

                                                                                      Singleton and multipart tags are part of the basic vocabulary of SGML (Standard Generalized Markup Language). This topic only describes them as they pertain to Siebel CRM, which uses singleton and multipart tags in the typical way.

                                                                                      A singleton element is a tag that includes a slash that indicates the end of the tag. It occurs in the same tag as the tag name. A singleton tag does not include child elements. The following is an example of a singleton tag:

                                                                                      <div od-type="pageitem od-name="value"/>
                                                                                      

                                                                                      The following is an example of a multipart tag. It does not include a slash at the end of the tag:

                                                                                      <div od-type="control" id="1" property="formattedHTML">
                                                                                         ...HTML here... 
                                                                                      <!--od section control close–>
                                                                                      </div>
                                                                                      

                                                                                        About the This Tag

                                                                                        A this tag is a type of Siebel tag that you can use if you must use a multipart tag but reference the control that the Siebel Web Engine creates at a location other than at the beginning or end of the tag. The following code includes an example of a this tag:

                                                                                        <div od-type="control" id="1">
                                                                                           ...HTML here...
                                                                                           <div od-property="formattedHTML"/>
                                                                                        <!--od section control close–>
                                                                                        </div>
                                                                                        

                                                                                        The <div od-property> tag is an alias for the nearest enclosing Siebel context. You can enclose the <div od-type="xxx"> element to create this context. For example, Siebel CRM commonly includes the <div od-property> tag in a multipart <div od-type="control"> element. In this situation, the <div od-property> tag is an alias for the control. You use it to display properties of the control. In some situations, the context is less direct. For example, if Siebel CRM includes a <div od-property> element in an applet template file, and if the <div od-property> tag is not in any <div od-type="control"> tag, then it is an alias for the applet and you can use it to display properties of the applet.

                                                                                          About Iterator Tags

                                                                                          An iterator tag is a type of Siebel tag that defines the number of times the tag must iterate the contents of the iterator tag. For example, if you use the same HTML and Siebel tags with controls or page items that contain different values for the Id parameter, then you can use the following <div od-prefix> tag to reduce the size of the template files:

                                                                                          <div od-prefix=<id attr> od-iterator="<iteratorName> od-id=[startValue:count]>
                                                                                          

                                                                                          You can use the following iterator tags:

                                                                                          • <div od-prefix> \

                                                                                          • <div od-iterator=rowIterator>

                                                                                          • <div od-iterator=childIterator>

                                                                                          • <div od-iterator=nodeIterator>

                                                                                          • <div od-iterator=indentIterator>

                                                                                          • <div od-iterator=valueIterator>

                                                                                          The <div od-prefix> tag includes the following attributes:

                                                                                          • count. Specifies the number of times the <div od-prefix> tag must iterate the contents of the <div od-prefix> tag.

                                                                                          • startValue. The value assigned to the iterator at the start of the iteration. The tag assigns this value to the iterator to start the iteration. The tag increments the value by one for each iteration.

                                                                                          • iteratorName. The name of the iterator. You can use this name to get the value of the iterator during the iteration. You use the following format: <div od-iterator=<tag>Iterator>>.

                                                                                            Determining the Current Value of the Iterator

                                                                                            The name defined in the iteratorName attribute determines the current value of the iterator. The section that the <div od-iterator=<tag>Iterator> tag encloses includes this name.

                                                                                            To determine the current value of the iterator
                                                                                            • For example, if you set the value of the iteratorName attribute to CurrentID, then you can use the following format to get the value of the iterator:

                                                                                            <od-attr-currentid>
                                                                                            

                                                                                            You can use the <od-attr-currentid>+x tag to reference a value that is an increment over the current value. The following code is an example of this usage:

                                                                                            <div od-prefix od-id=[2301:50] od-iterator="currentId>
                                                                                              <div od-type="control" id="od-attr-currentId">
                                                                                              .
                                                                                              .
                                                                                              <!--od section control close–>
                                                                                              </div>
                                                                                              <div od-type="control" id="od-attr-currentId+100"/>
                                                                                            <!--od section iterator close–>
                                                                                            </div>
                                                                                            

                                                                                              About Search and Find Tags

                                                                                              The Siebel client merges search, find, and query in a unified search model. This configuration provides users with multiple ways to locate records. You can configure a template to display search and query features from an application menu and query features from an applet menu. You can use Siebel tags to display the Search and Find applet, and the Results applet.

                                                                                                Search and Find Applet Tags

                                                                                                You can use the following search and find tags to configure how Siebel CRM displays basic search, advanced search, or find in an applet:

                                                                                                • <div od-type="srchCategoryList>

                                                                                                • <div od-type="srchCategory>

                                                                                                • <div od-type="srchCategoryText>

                                                                                                • <div od-type="srchCategoryControl>

                                                                                                Example Code for Search and Find Applet Tags

                                                                                                The following code is an example of using search and find applet tags:

                                                                                                <div od-type="srchCateogryList>
                                                                                                <div od-type="srchCategory>
                                                                                                <td><div od-type="srchCategoryText/></td>
                                                                                                <td><div od-type="srchCategoryControl/></td>
                                                                                                <!--od section srchCategory close–>
                                                                                                </div>
                                                                                                <!--od section srchCateogryList close–>
                                                                                                </div>
                                                                                                

                                                                                                  Search Result Applet Tags

                                                                                                  You can use the following search results tags to display search and find results in a list applet:

                                                                                                  • <div od-type="srchResultFieldList>

                                                                                                  • <div od-type="srchResultField>

                                                                                                  • <div od-property>

                                                                                                  Siebel CRM displays search results tags in the Search_ListBodySearchResults web template.

                                                                                                  Example Code for Search Result Applet Tags

                                                                                                  The following code includes an example that uses search result applet tags:

                                                                                                  <div od-type="srchResultFieldList>
                                                                                                     <div od-type="srchResultField><td align="od-context-TextAlignment" 
                                                                                                     class="Row"><div od-property="FormattedHtml"/>&nbsp;</td>
                                                                                                     <!--od section srchResultField close–>
                                                                                                     </div>
                                                                                                  <!--od section srchResultFieldList close–>
                                                                                                  </div>
                                                                                                  

                                                                                                    Summary of Search, Find, and Search Result Tags

                                                                                                    The following table describes search, find, and search result tags.

                                                                                                    Table Summary of Search, Find, and Search Result Tags

                                                                                                    Tag Name Description

                                                                                                    <div od-type="srchCategoryList>

                                                                                                    Search tag that is an iterator that encloses all the search categories that Siebel CRM must display. It creates context and encloses the following tags:

                                                                                                    • <div od-type="srchCategory>
                                                                                                    • <div od-type="srchCategoryText>
                                                                                                    • <div od-type="srchCategoryControl>

                                                                                                    It uses the following format:

                                                                                                    <div od-type="srchCategoryList> … <!--od section 
                                                                                                    searchCategoryList close–> </div>
                                                                                                    

                                                                                                    <div od-type="srchCategory>

                                                                                                    Search tag that represents a search category object. It encloses the following tags:

                                                                                                    • <div od-type="srchCategoryText>

                                                                                                    • <div od-type="srchCategoryControl>

                                                                                                    It uses the following format:

                                                                                                    <div od-type="srchCategory> … <!--od section srchCategory 
                                                                                                    close–> </div>
                                                                                                    

                                                                                                    <div od-type="srchCategoryControl>

                                                                                                    Search tag that displays the control of the search category. It is a check box in advanced search. It must be called in the context of a srchCategory tag.

                                                                                                    It uses the following format:

                                                                                                    <div od-type="srchCategoryControl/>
                                                                                                    

                                                                                                    <div od-type="srchCategoryText>

                                                                                                    Search tag that displays the display name of the search category. It must be called in the context of the srchCategory tag.

                                                                                                    It uses the following format:

                                                                                                    <div od-type="srchCategoryText/>
                                                                                                    

                                                                                                    <div od-type="srchResultFieldList>

                                                                                                    Search result tag that is an iterator. It encloses all the search result fields that the search engine object contains. Siebel CRM creates result fields dynamically in the business component, and then displays them in the applet.

                                                                                                    This tag creates a context and encloses the following tags:

                                                                                                    • <div od-type="srchResultField>

                                                                                                    • <div od-property>

                                                                                                    It uses the following format:

                                                                                                    <div od-type="srchResultFieldList> … <!--od section 
                                                                                                    srchResultFieldList close–> </div>
                                                                                                    

                                                                                                    <div od-type="srchResultField>

                                                                                                    Search result tag that represents a result field object. Siebel CRM must call it in the context of the srchResultFieldList tag. It encloses the <div od-property="<xxxl>"/> tag.

                                                                                                    It uses the following format:

                                                                                                    <div od-type="srchResultField> … <!--od section 
                                                                                                    srchResultField close–> </div>
                                                                                                    

                                                                                                    <div od-property="<>">

                                                                                                    A search result tag. Depending on the value of the property attribute, it does one of the following:

                                                                                                    • Property is TextAlignment. Gets the text alignment property for the result field from the following object:

                                                                                                    Search Definition - Custom result Field

                                                                                                    • Property is FormattedHtml. Gets the value for the current result field from the results that Siebel CRM gets when it runs the search on the search adapter.

                                                                                                    It uses the following format:

                                                                                                    <div od-property/>
                                                                                                    

                                                                                                      About Siebel Conditional Tags

                                                                                                      This topic describes Siebel Web Engine conditional tags. For more information, see Siebel Developer's Reference.

                                                                                                        If Conditional Tag

                                                                                                        The <div od-if="<>"> tag provides a simple conditional branching capability. It uses the following format:

                                                                                                        <div od-if="<>"> ... <!--od <tagName> close–> </div>
                                                                                                        

                                                                                                        The <div od-if="<>"> tag includes the Condition attribute. Siebel CRM does the following:

                                                                                                        • If the condition is TRUE, then Siebel CRM processes the body of the <div od-if="<>"> tag.

                                                                                                        • If the condition is FALSE, then Siebel CRM skips the body of the <div od-if="<>"> tag.

                                                                                                        The <div od-if="<>"> tag does not provide an else capability. To implement an else condition, you can use some combination of the <div od-switch>, <div od-case="<>">, and <div od-default> tags.

                                                                                                          Switch, Case, and Default Conditional Tags

                                                                                                          If used together, then the following tags provide a conditional branching capability that is similar to the switch, case, and default statements in JavaScript:

                                                                                                          • <div od-switch>

                                                                                                          • <div od-case="<>">

                                                                                                          • <div od-default>

                                                                                                          The <div od-switch> tag is a container tag for the <div od-case="<>"> and <div od-default> tags.

                                                                                                          Format for the Switch, Case, and Default Conditional Tags

                                                                                                          The <div od-switch>, <div od-case="<>">, and <div od-default> tags use the following format:

                                                                                                          <div od-switch>
                                                                                                          
                                                                                                          <div od-case="xxx">
                                                                                                          
                                                                                                          ...
                                                                                                          
                                                                                                          <!--od section xxx close–>
                                                                                                          
                                                                                                          </div>
                                                                                                          
                                                                                                          <div od-case="yyy">
                                                                                                          
                                                                                                          ...
                                                                                                          
                                                                                                          <!--od section yyy close–>
                                                                                                          
                                                                                                          </div>
                                                                                                          
                                                                                                          <div od-default>
                                                                                                          
                                                                                                          ...
                                                                                                          
                                                                                                          <!--od section default close–>
                                                                                                          
                                                                                                          </div>
                                                                                                          
                                                                                                          <!--od section switch close–>
                                                                                                          
                                                                                                          </div>
                                                                                                          

                                                                                                          The <div od-case="<>"> tag includes the Condition attribute. The <div od-switch> and <div od-default> tags include no attributes. To process these tags, Siebel CRM does the following:

                                                                                                          • Ignores any tags that exist in the body of the <div od-switch> tag that are not the <div od-case="<>"> tag or <div od-default> tag.

                                                                                                          • Examines the <div od-case="<>"> tags, starting with the first <div od-case="<>"> tag, and then does one of the following:

                                                                                                            • If any of the <div od-case="<>"> tags satisfy the condition, then Siebel CRM skips any other <div od-case="<>"> tags and <div od-default> tags, and then processes the body of the <div od-case="<>"> tag that satisfies the condition.

                                                                                                            • If none of the <div od-case="<>"> tags satisfy their conditions, then Siebel CRM processes the body of the <div od-default> tag. You must make sure that the body of a <div od-switch> tag contains only a <div od-default> tag.

                                                                                                            Variable Conditional Tag

                                                                                                            An applet template includes the <div od-if="Context, <object>"> tag. It conditionally express the body of the <div od-if="Context, <object>"> tag as determined by a variable that is set in a parent view web template. For the purposes of the <div od-if="Context, <object>"> tag, if an applet is associated with a view, then the web template in the applet acts as a child of the view web template.

                                                                                                            The applet placeholder in the view web template must define a variable that the <div od-if="Context, <object>"> tag in the child applet template can evaluate.

                                                                                                            The expression in the <div od-if="Context, <object>"> tag returns a value of true or false depending on if the variable it evaluates is a property of the <div od-type="applet"> tag in the corresponding view web template. You can use this configuration to conditionally display parts of an applet depending on the position of the part in a view.

                                                                                                            The following image describes object relationships that Siebel CRM uses with the variable conditional tag.

                                                                                                            Table Object Relationships Siebel CRM Uses with the Variable Conditional Tag

                                                                                                            Object Relationships Siebel CRM Uses with the Variable Conditional Tag
                                                                                                            Example Code That Uses the Variable Conditional Tag

                                                                                                            In this example, a view uses a template that contains the following tags:

                                                                                                            <div od-type="applet" hintMapType="Applet" id="1" property="FormattedHtml"  
                                                                                                            hintText="Applet" var="Parent"/>
                                                                                                            <div od-type="applet" hintMapType="Applet" id="2" property="FormattedHtml"  
                                                                                                            hintText="Applet" var="Child"/>
                                                                                                            

                                                                                                            The view object references an applet through a view web template item. The template for this applet includes the following tags:

                                                                                                            <div od-if="Context, Parent">
                                                                                                               <td valign="middle" nowrap>
                                                                                                                 <div od-type="menu type="Button" bitmap="MenuBttn" width="38" height="15" bgcolor="gray" fgcolor="blue"/>
                                                                                                               </td>
                                                                                                            <!--od section Parent close–>
                                                                                                            </div>
                                                                                                            <div od-if="Context, Child">
                                                                                                                 <td valign="middle" nowrap>
                                                                                                                 <div od-type="menu type="Button" bitmap="MenuBttn" width="38" height="15" bgcolor="gray" fgcolor="red"/>
                                                                                                               </td>
                                                                                                            <!--od section Child close–>
                                                                                                            </div>
                                                                                                            

                                                                                                            If you move the applet into the placeholder in the view web template, and if the applet Id for this placeholder is:

                                                                                                            • 1. The first div od-if="Context, Parent"> condition returns TRUE and the second condition returns FALSE. This occurs because the var property of the <div od-type="applet"> placeholder that contains an Id of 1 is set to Parent. As a result, Siebel CRM displays the button menu with a blue foreground.

                                                                                                            • 2. Siebel CRM displays the button menu with a red foreground.

                                                                                                              Guidelines for Configuring Siebel Web Templatesand Siebel Tags

                                                                                                              This topic describes guidelines for configuring Siebel web templates and Siebel tags.

                                                                                                                Guidelines for Using Modes with Web Templates

                                                                                                                In many situations, it is not necessary to use Base mode forms that are read-only. You can use persistently editable forms because work often includes data editing and input. This type of form improves usability because the user can enter data without having to click an edit button, and then wait for Siebel CRM to display the form in edit mode.

                                                                                                                If an applet is in Edit mode in a view, as defined by the applet mode property of the view web template item, then Siebel CRM never displays this applet in Base mode. If the user updates the field values in this applet, and then commits the modification, then Siebel CRM continues to display the applet in this mode after Siebel CRM writes the modifications to the Siebel database.

                                                                                                                To display an applet in Query or New mode, you can call a method, such as NewQuery or NewRecord, on an applet that Siebel CRM displays in Edit mode. After Siebel CRM runs the query or writes the new record, Siebel CRM displays the applet in Edit mode.

                                                                                                                For more information, see Options to Control How the User Creates, Edits, Queries, and Deletes CRM Data.

                                                                                                                  Guidelines for Using HTML Frames in a View Web Template

                                                                                                                  If you use HTML frames in a view web template, then use the following guidelines:

                                                                                                                  • You can use frames in a view web template only if Siebel CRM uses frames in the container page, and only if a separate frame exists in the container page for the view.

                                                                                                                  • If you place an applet in a frame, then you must make sure that Siebel CRM maps at least one <div od-type="applet> tag in the frame to an applet in the Siebel repository. Otherwise, empty frames will occur.

                                                                                                                  • If a <div od-type="frame"> block contains a <div od-type="applet> tag, then set the type attribute of the tag to Applet.

                                                                                                                  • Do not group applets into separate frames in a view web template unless you require independent refresh or independent scrolling.

                                                                                                                    Guidelines for Creating HTML Frames in a Container Page

                                                                                                                    Siebel CRM uses the container page template to create the frame definition document for the Siebel application. If you define HTML frames in a container page, then use the following guidelines:

                                                                                                                    • Use the <div od-include> tag to define the contents of a frame. You can place the contents directly into the body of the <div od-type="frame"> tag.

                                                                                                                    • Make sure the contents of the <div od-type="frame"> tag constitutes a complete HTML document. The contents must contain the required HTML document structure tags, such as html, head, body, and so on. This requirement applies to view web templates.

                                                                                                                    • If the type is view, then make sure the contents of the <div od-type="frame"> tag contains only the <div od-type="current-view/> tag.

                                                                                                                      Guidelines for Using Cascading Style Sheets

                                                                                                                      A cascading style defines qualities of user interface elements, such as color schemes and fonts. The following examples describe how you can use a cascading style sheet to modify the look and feel of the Siebel client:

                                                                                                                      • Display text in the font of your choice.

                                                                                                                      • Define the size of text in points, pixels, and other units.

                                                                                                                      • Configure color for images or background color.

                                                                                                                      You can configure Siebel web templates to use format tags, but if you store style information in cascading style sheets rather than in Siebel web templates, then you can realize the following benefits:

                                                                                                                      • Increase the modularity of a Siebel application.

                                                                                                                      • Increase consistency of a Siebel application.

                                                                                                                      • Simplify modification and reuse of Siebel web templates.

                                                                                                                      Siebel CRM displays style information that it stores in a cascading style sheet slightly differently in different browsers, so you must test your configuration in all browsers that your users use.

                                                                                                                      Siebel CRM locates cascading style sheet files in the following directories:

                                                                                                                      • The Siebel Application Interface installation directory:

                                                                                                                      SAI_ROOT\applicationcontainer\webapps\siebel\FILES
                                                                                                                      
                                                                                                                      • The Siebel client installation directory:

                                                                                                                      SIEBEL_CLIENT_ROOT\PUBLIC\FILES
                                                                                                                      
                                                                                                                      • The Siebel Tools installation directory:

                                                                                                                      SIEBEL_TOOLS_ROOT\PUBLIC\FILES
                                                                                                                      

                                                                                                                      If you apply a patch, then Siebel CRM might overwrite the CSS files. If this happens, then you must manually reenter the modifications you made to the cascading style sheets.

                                                                                                                      For more information, see Cascading Style Sheet and Siebel Developer's Reference.

                                                                                                                        Guidelines for Modifying a Predefined Query

                                                                                                                        If you modify a predefined query, then use the following guidelines:

                                                                                                                        • The <div od-type="pdqbar “> tag defines the predefined query bar. It includes no parameters and can be located anywhere in Siebel CRM. The user chooses the query that Siebel CRM runs. You must explicitly define the following:

                                                                                                                          • The <div od-type="pdqbar “> tag

                                                                                                                          • The Favorites label that Siebel CRM displays before the <div od-type="pdqbar> tag.

                                                                                                                        • To allow translation in a localized or multilingual deployment, it is recommend that you define the favorites label as a control and not as HTML text.

                                                                                                                        • If Siebel CRM does not use HTML frames, then it is not necessary to place the <div od-type="pdqbar> tag in the view frame.

                                                                                                                        • If Siebel CRM uses HTML frames, then you must place the <div od-type="pdqbar> tag in the view frame or the view bar frame.

                                                                                                                        Consider the following requirements:

                                                                                                                        • You cannot place the predefined query bar in the view frame.

                                                                                                                        • You can align the predefined query bar.

                                                                                                                        Query Management Commands

                                                                                                                        A user can add a named query in the combo box. Siebel CRM does this through the query management commands that are available as invoke method calls through the class of the base applet. Siebel CRM makes these queries available to the user as menu items or toolbar buttons.

                                                                                                                        The following table describes the query management commands that you can use.

                                                                                                                        Table Query Management Commands

                                                                                                                        Command Method Description

                                                                                                                        New

                                                                                                                        SWEMthdNewQueryE

                                                                                                                        Places the applet in new query mode.

                                                                                                                        Refine

                                                                                                                        SWEMthdRefineQueryE

                                                                                                                        Places the applet in query refinement mode.

                                                                                                                        Save

                                                                                                                        SWEMthdSaveQueryE

                                                                                                                        Uses the current name of the query to save the current query.

                                                                                                                        Save As

                                                                                                                        SWEMthdSaveQueryAsE

                                                                                                                        Displays a dialog box that allows the user to save the current query that uses a name that the user defines.

                                                                                                                        Delete

                                                                                                                        SWEMthdDeleteQueryE

                                                                                                                        Displays a dialog box that allows the user to delete one of the queries.

                                                                                                                        It is strongly recommended that you do not define an Edit button for the predefined query feature. The Edit button must call the Refine method. A problem might occur if an Edit button exists in a multiview environment and Siebel CRM cannot determine the active view.