9Configuring a Siebel Application

Configuring a Siebel Application

About Configuring a Siebel Application

Configuration is the process of modifying a predefined Siebel application to meet business requirements. This process can range from making a minor modification, such as adding text box controls and their underlying fields, to creating a new user interface or creating new business entities.

Siebel Tools is an integrated development environment that allows you to reconfigure and configure Siebel CRM. It is a software configuration toolset rather than a programming language. This toolset allows you to create and modify object definitions and their properties so that you can develop and configure Siebel CRM. You can also modify aspects of the Siebel Open UI application user interface outside of Siebel Tools, such as by using methods described in Configuring Siebel Open UI.

Siebel CRM is built on object definitions that Siebel CRM runs when the user uses the Siebel client. You can use Siebel Tools to modify these object definitions. To create a completely new module, you can create new object definitions or modify predefined definitions. It is not necessary for you to write C++ program code, but you can write Siebel Visual Basic (Siebel VB), Siebel eScript, or browser script to supplement the programmatic logic of Siebel CRM. Note that Siebel Visual Basic and Siebel eScript run on the Siebel Server. Browser script runs on the client.

    Usage and Configuration of Nonlicensed Objects

    The licensing agreement between Oracle and Oracle customers is such that customers are only entitled to use and configure Siebel objects that belong to modules they have purchased. Example objects include business components and tables. If Siebel CRM does not display a Siebel object in the licensed user interface through views that Siebel CRM displays according to your license key, then you are not entitled to use that object in a custom configuration. To display these tables, you can define new tables, new business components, and new user interface objects.

      Roadmap for Configuring a Siebel Application

      To configure a Siebel application, you perform the following processes and tasks:

      1. Developing an Implementation Plan

      2. Using Development Tools and Setting Up the Development Environment

      3. Process of Determining Whether You Can Reuse a Predefined Object

      4. Optional. Process of Creating and Binding an Entity Relationship Diagram

      5. Configuring Tables

      6. Configuring Views, Screens, and Applications

      7. Configure various aspects of your Siebel application.

        You can configure some aspects of your Siebel application. For more information, see the relevant chapter in this book. For example, see the following chapters:

      8. Improving the Performance of Siebel Business Applications

      This roadmap provides a typical guideline that describes how to configure a Siebel application. The actual tasks you perform and the sequence that you use to perform them varies significantly depending on your implementation requirements. For more information, see Siebel Deployment Planning Guide and Developing and Deploying Siebel Business Applications.

      Developing an Implementation Plan

      This topic includes the following information:

      This task is a step in Roadmap for Configuring a Siebel Application.

      To develop an implementation plan

      1. Perform a thorough business analysis that details the needs of your organization and users.

      2. Get approval and commitments for time and resource from the relevant organizations.

        • Determine whether a predefined Siebel application can or cannot meet the needs of your users.

        • If a predefined Siebel application cannot meet the needs of your users, determine what business needs require modifications to the Siebel application.

        • Determine how you can assure success with your configured application.

      3. Write design documents that include the following items:

        • The requirements that the configured application satisfies.

        • An entity relationship diagram (ERD) or text that describes the entity relationships. For more information, see Using the Entity Relationship Designer.

        • The names and descriptions of the business objects and business components that Siebel CRM requires, and how they relate to one another.

        • Screen flow diagrams and a list of fields that Siebel CRM displays on each applet.

        • (Conditional) How your implementation will use various Siebel technologies. For more information, see About Siebel Technologies That Configure Siebel CRM Behavior.

        • A description of your development environment and process. For example:

        • The complete stepwise procedures your development and test team must follow to complete Siebel CRM configuration.

        For more information, see Developing a Configuration Strategy.

      4. Make sure the participating organizations and users review and approve the design.

        Developing a Configuration Strategy

        The major goal of configuring Siebel CRM is to develop an application that meets the look, feel, and requirements of your organization and your users, and that is easy to maintain and upgrade.

        To develop a configuration strategy

        1. Use the following guidelines in the plans for your configuration project:

          • Make as few modifications as possible.

          • Use predefined Siebel application functionality. Create a new object only if you cannot modify a predefined object to meet your requirements. If you follow this principle, then your Siebel application is much easier to maintain and upgrade to future Siebel product releases. For more information, see Reusing Predefined Objects

          • Standardize configuration development.

          • Achieve acceptable system performance. For more information, see Siebel Performance Tuning Guide.

          • Build a consistent and intuitive Siebel client. For example, if you create a new form applet, then make sure it uses the same look and feel as other form applets in your Siebel application.

        2. Plan your design starting at the top and working downward:

          1. Design the user interface for the Siebel client.

          2. Design the underlying business logic.

          3. Design the data objects layer that is necessary to support your configuration.

        3. Develop a plan to configure Siebel CRM starting at the lower level and working upward:

          1. Modify objects at the data layer.

          2. Modify objects at the business object layer.

          3. Modify objects at the user interface layer.

          This configuration helps you to make sure the correct values for all required object properties are available as options. For more information, see About the Siebel Object Architecture.

        4. Use one of the following configurations to structure the development work:

          • Assign a development role to a single developer or group. This configuration allows different groups to work in parallel.

            For example, one group or an individual person can develop a Web page and the logical business object definitions and data object definitions that are required to support the page.

          • Assign a single developer or group to one architectural layer.

            This configuration takes advantage of the expertise of developers. For example:

            • The RDBMS specialist defines extensions in the data objects layer.

            • The system architect defines the business object layer.

            • The user interface developer defines the user interface objects layer.

          Use a web template. It requires each group to complete some work before another group begins their work.

          Developing a Plan to Control File Versions forthe Physical User Interface Layer

          This topic describes how to manage modifications that your development team makes to the physical user interface. You do not configure the physical user interface layer in Siebel Tools, so you cannot use the Siebel Tools check out and check in feature to manage web templates, JavaScript files, or style sheets. These files are part of the physical user interface layer. If multiple developers simultaneously modify these files, then follow the recommendations that this topic describes. For more information, see Overview of the Physical User Interface Layer.

          The description in this topic is appropriate for most projects. For more information, see Getting Help From Oracle.

          To develop a plan to control file versions for the physical user interface layer

          • Assign a single developer or group to manage web templates, JavaScript files, and style sheets. Make sure all modifications are made by this individual or group, who is solely responsible for releasing amended files to the Siebel Web Server environment.

          • Use version control software to manage modifications to web templates, JavaScript files, and style sheets. ClearCase is an example of source control software. This configuration makes sure that only a single individual amends these files at any time. It provides an audit trail of modifications.

          • If source control software is not available, then use manual controls that allow a structured release. Assign an individual or group that is responsible for all amendments to physical user interface files and their subsequent release.

          • Use a separate directory structure for each release that includes subfolders for the various objects that are released. Copy all amended physical user interface files that are included in the release to the appropriate subfolder.

            The date on which a file is amended can identify the web templates or JavaScript library files that you must release to users. It is necessary to use central release folders or to copy modified or new objects to these folders. A web template is an example of a modified or new object.

            Using Development Tools and Setting Up the Development Environment

            This task is a step in Roadmap for Configuring a Siebel Application.

            This topic summarizes the development process for Siebel CRM and provides information about setting up the development environment. It includes the following information:

              Overview of the Development Process

              This topic describes a summary of work you perform to develop a Siebel application. Developing a Siebel application is not necessarily a serial process. During some phases, it makes sense for you to configure multiple sections of Siebel CRM concurrently. Some tasks are iterative, such as testing and debugging, so it is likely that you will modify the simplified and linear task that this topic describes so that it meets the development requirements for your team.

              Most of the topics in Using Development Tools and Setting Up the Development Environment describe tasks that you can perform to set up a development environment. See also Using Siebel Tools.

              To develop a Siebel application, you do the following:

              1. Set up your development environment.

                1. Install Siebel Tools.

                2. In Siebel Tools or Web Tools, create your developer workspace.

              2. Develop the Siebel application:

                1. Use Siebel Tools to modify or create the following object definitions:

                  • Data objects, such as tables, columns, indexes, and so on.

                  • Business components and business objects.

                  • User interface objects. For example, applets, views, and screens.

                2. Modify web template files.

                3. Compile your Siebel application and perform unit testing.

                  For more information, see Using Siebel Tools.

              3. Optional. Use the tools that are available to you in the Siebel development environment to define whatever assignment and workflow rules are required.

                Example tools include Siebel Assignment Manager and Siebel Workflow.

              4. Optional. Use Siebel Visual Basic or Siebel eScript to configure the functionality of Siebel CRM.

              5. Optional. Localize Siebel CRM if the Siebel client must display content in two or more languages. For more information, see Localizing Siebel Business Applications

              6. Perform system and performance testing of your Siebel application.

              7. Iterate through the development steps until your design is fully implemented, and until Siebel CRM runs smoothly and meets your performance objectives.

              8. Deploy Siebel CRM to your users and train your users on how to use Siebel CRM.

                Guidelines for Developing a Siebel Application

                This topic describes some guidelines for developing a Siebel application. For more information about some of these points, see Localizing Siebel Business Applications

                  Guidelines for Naming an Object

                  If you name an object, then use the following guidelines:

                  • Never include a question mark at the end of a field name or user interface label.

                  • Use an object name that is meaningful and descriptive. For example, Account Detail Applet With Agreement, instead of Account Detail Applet 2.

                  • Do not use a license key option as an object name. For example, do not use Product Forecasting. This configuration can cause Siebel CRM to not display a user interface object, such as a view.

                  • Prefix the name for each custom object that you create with your company name. For example, ABC Product Forecasting View. This configuration distinguishes your custom object from a predefined object.

                  • Be careful with spelling, spacing, and capitalization when you name an object. Typically, the logical name of an object in the Siebel repository uses complete words, mixed casing, and a space between words. A physical database object might use an abbreviation, uppercase, and an underscore. For example, the Service Request business component references the S_SRV_REQ database table.

                  • Do not use a reserved SQL word in an object name. For example SELECT, COUNT, FROM, WHERE, and UNION. This configuration can cause unpredictable application behavior.

                  • Avoid modifying the name of an object. It is time consuming to modify the name of an object when Siebel CRM references it throughout the Siebel repository. If you must modify the name of an object, then use the Find in Repository feature from the Tools menu in Siebel Tools to find all of the references.

                  • Siebel Tools uses English (ENU). It does not support objects from other character sets, such as ASCII (American Standard Code for Information Interchange) codes or accented characters. If you attempt to use objects from another character set, then Siebel Tools displays a unique constraint error.

                  If you are not sure how to name an object, then you can use the predefined objects in the Siebel repository as a guide. Examine the predefined objects and conform to the naming formats that they use. For example, to create a new Association applet, use the business component name Assoc Applet naming format.

                  For more information, see the following topics:

                    Guidelines for Setting the Upgrade Ancestor Property

                    Upgrade Ancestor is a property that allows a copied object to include properties of the original object that Siebel CRM uses to define the copy. During an upgrade, Siebel CRM modifies the original object and the copied object. You can use the following object types with the Upgrade Ancestor property:

                    • Applets

                    • Business Components

                    • Reports

                    • Integration Objects

                    For example, assume you create a copy of the Account List applet, name it the Premium Account List Applet, and then set the Upgrade Ancestor property. The new applet might differ from the original applet because the new applet includes a search specification that Siebel CRM only displays in accounts that are considered premium accounts. In a subsequent release, Oracle might add a new predefined list column to the Account List applet. During an application upgrade, your Account List applet and the Premium Account List Applet retain the configuration modifications you made. These applets receive the new predefined list column added in the new version.

                    Use caution if you copy an object. For more information, see Guidelines for Reusing a Predefined Object.

                    Note the following factors if you use the Upgrade Ancestor property:

                    • If you copy an object, then Siebel Tools does not automatically define the Upgrade Ancestor property. You must define it manually.

                    • Creating a new object without defining the Upgrade Ancestor property could add to your upgrade effort because Siebel CRM does not upgrade a custom object. Siebel CRM copies it to the new repository, but without modifications.

                    • Creating a new copy of a business component or applet can result in a redundant configuration.

                    For more information, see Siebel Database Upgrade Guide.

                      Guidelines for Modifying Configuration Files

                      You can modify an application configuration file, but Siebel CRM does not support modifications that you might make in some of these application configuration files. In general, do not modify configuration files except as explicitly described in Siebel documentation or unless instructed by Technical Services. Any file that contains one of the following extensions and is part of the Siebel installation is a Siebel configuration file:

                      • cfg

                      • css

                      • gif

                      • swt

                      • htm

                      • xsl

                      • sws

                      • swf

                      • sw

                      • ctl

                      • sql

                      • ucf

                      • rox

                      • rod

                      • prd

                        Setting Up the Configuration File for Siebel Tools

                        This topic describes how to set up the configuration file for Siebel Tools. For more information, see Using Siebel Tools.

                        To set up the configuration file for Siebel Tools

                        1. Open the tools.cfg file in a text editor.

                        2. Set the EnableToolsConstrain parameter to FALSE.

                          For more information, see the following.

                        3. Make sure the ClientConfigurationMode parameter is not set to All.

                          You cannot use the Form Applet Wizard, List Applet Wizard, View Wizard, or set the HTML Sequence if the value of the ClientConfigurationMode parameter is All.

                        4. Save the tools.cfg file.

                        5. If Siebel Tools is open, then exit out of it, and then open it.

                        How the Enable Tools Constrain Parameter Affects Text Strings

                        The following table describes how the EnableToolsConstrain parameter affects text strings. For more information, see Using Siebel Tools.

                        Table How the EnableToolsConstrain Parameter Affects Text Strings

                        Task If EnableToolsConstrain Is TRUE If EnableToolsConstrain Is FALSE

                        Creating a text string

                        To enter a value for a translatable text string, such as an Applet Title, you must choose from a list of string references.

                        You can use the string override property to override the string reference.

                        Creating a symbolic string

                        You cannot create a custom symbolic string.

                        You can create a custom symbolic string.

                        You can use one of the following configurations to create a custom text string:

                          Displaying Object Types You Use to Configure Siebel CRM

                          You can display object types in the Object Explorer that you use to configure Siebel CRM.

                          To display the object types that you use to configure Siebel CRM

                          1. Open Siebel Tools.

                          2. Click the View menu, and then click Options.

                          3. Click the Object Explorer tab.

                          4. Scroll down through the Object Explorer Hierarchy window until you locate the Entity Relationship Diagram tree.

                          5. Make sure the Entity Relationship Diagram tree and all child objects of the Entity Relationship Diagram tree include a check mark.

                            If all child objects in the Entity Relationship Diagram tree are displayed, then Siebel Tools displays a check mark with a background for the tree.

                          6. Repeat step 4 for the following object types:

                            • Task Group and all children of the Task Group object type.

                            • View and all children of the View object type.

                            • Import Object and all children of the Import Object type.

                            • Control User Prop and List Column User Prop, which are children the Applet object type.

                            • Business Component User Prop, which is a child of the Business Component object type.

                            • Class object type.

                            • Other object types, as necessary.

                          7. Click OK.

                            Creating Scripts to Configure Siebel CRM

                            This topic describes how you can use Siebel Visual Basic, Siebel eScript, and browser script to write scripts that configure Siebel CRM. It includes the following information:

                            A script is associated with an object and event in the Siebel Event Model.

                              Scripts That You Write for the Server

                              Siebel Tools includes the following scripting languages:

                              • Siebel Visual Basic. Similar to Microsoft Visual Basic. It supports scripting only on the Windows operating system.

                              • Siebel eScript. Compatible with JavaScript. It supports scripting in Windows and other operating systems, such as UNIX.

                              You can use Siebel Visual Basic and Siebel eScript to do the following work:

                              • Integrate Siebel CRM with a third-party application.

                              • Configure the base functionality of the screens and business components in Siebel CRM.

                              • Develop a data validation routine to enforce rules before or after Siebel CRM manipulates records. Siebel CRM does validation routines before the user updates or inserts a record. This configuration makes sure that the user does not enter data into the database that is not logical or is not complete.

                              • Develop a data manipulation or computational routine to modify or analyze data.

                              • Develop a data transport routine to import and export small volumes of data between Siebel CRM and a third-party application.

                              • Develop a routine that opens an external application on the Siebel Server in reply to a Siebel event or to send start-up parameters. This capability is valid for browser script only.

                              You use the Script Editor, Debugger, and Compiler to develop and test Siebel Visual Basic script, Siebel eScript script, or browser script. Siebel CRM integrates this capability with the Applet Web Template Editor. You can attach a script to a control that Siebel CRM displays in the Siebel client, such as a field.

                              You can associate a server script with the following object types:

                              • Web Applet

                              • Business Component

                              • Business Service

                              • Application

                              For more information about:

                              • Scripting, see Siebel eScript Language Reference and Siebel VB Language Reference.

                              • Redeploying a script written for a prior release of Siebel CRM in the Siebel client, see Siebel Database Upgrade Guide.

                              Simultaneous Use of Siebel Visual Basic Script and Siebel eScript

                              To respond to various client events, you can use Siebel Visual Basic and Siebel eScript simultaneously in the same environment but not in the same object. It is recommended that you use Siebel eScript only because it works on UNIX and Windows servers. When you initially add a script to an object, Siebel Tools prompts you to choose the scripting type.

                                Scripts That You Write for the Browser

                                Browser script allows you to use JavaScript, which is an interpreted language that runs in many Web browsers. A browser script responds to an event on a browser Java object. This browser object works with the corresponding object that runs in the object manager. The set of events that you can script with a Browser object type is different from the set of events that you can script with a server script:

                                • For Siebel CRM, you can script a wide variety of events that the browser supports. An HTML control does not support the OnClick event. For more information, see Siebel eScript Language Reference.

                                • For a Siebel employee application, you can only script on the OnBlur or OnFocus events.

                                You use Siebel Tools to write a browser script. You can associate a browser script with the following object types:

                                • Applet

                                • Business Component

                                • Business Service

                                • Application

                                Note: A browser script on a business component is appropriate only if Siebel CRM displays the Siebel object that the script references in the Siebel client.
                                Hierarchy of Object Types That Siebel CRM Uses With a Script

                                The following image describes the hierarchy of relationships between object types that Siebel CRM can use with a script. To script a browser event, you use a child object type of the parent. You can use these object types with their server counterparts in Siebel Visual Basic, JavaScript, or Java.

                                Hierarchy of Relationships Between Object Types That Siebel CRM Uses with a Script

                                The following image includes an example of how you can use a browser script to validate the field in a form that Siebel CRM displays in the Siebel client. This example uses browser script on the BusComp_PreSetFieldValue event handler in the Account business component.

                                Example of Browser Script to Validate a Field

                                  Creating and Deploying a Browser Script

                                  You can create and deploy a JavaScript file (.js).

                                  To create and deploy a browser script
                                  1. Use one of the following configurations to create the browser script:

                                    • In Siebel Tools, create or open a workspace.

                                    • Create required browser scripts and then deliver the workspace that will publish the changes to runtime repository.

                                      If you compile objects to a runtime repository, then Siebel Tools only creates browser scripts for compiled objects. Siebel Tools places them in the directory that you define in the Scripting tab of the Development Tools Options dialog box. To view this dialog box, choose the View menu, and then the Options menu item.

                                      If you do not create a directory, then Siebel Tools stores the browser script in the following directory:

                                      SIEBEL_TOOLS_ROOT\public\language_code\srf_timestamp\bscripts\all
                                      

                                      where:

                                      • SIEBEL_TOOLS_ROOT is the root directory where you installed Siebel Tools.

                                      • language_code is the language code, such as ENU.

                                      • srf_timestamp is the timestamp when the runtime repository was saved.

                                      For more information, see Using Siebel Tools.

                                    • In the command-line interface, run the genbscript.exe utility.

                                      If you run the genbscript.exe utility, then it creates all browser scripts that exist in the Siebel repository and places them in a directory that you define. You run this utility from the SIEBEL_TOOLS_ROOT/bin directory. Use the following format to run genbscript:

                                      genbscript config_file destination_directory language_code
                                      

                                      where:

                                      • config_file is the name of the configuration file.

                                      • destination_directory is the destination directory where genbscript stores the script files.

                                      • language_code is the language code, such as ENU. The language code parameter is optional for ENU, but you must define it for other languages.

                                      • For example:
                                        genbscript c:\siebel\client\bin\enu\uagent.cfg c:\siebel\client\public\enu 
                                        enu
                                        
                                  2. Deploy the browser script to the following directory on the Siebel Application Interface:

                                    SAI_ROOT\applicationcontainer\webapps\siebel\language_code
                                    
                                  3. Deploy the browser script to the following directory on the Siebel Mobile Web Client, as necessary:

                                    SIEBEL_CLIENT_ROOT\public\language_code
                                    
                                  4. If you migrate scripts from one location to another location, then you must copy the following directories to the correct location (from SIEBEL_TOOLS_ROOT\public\language_code, for example):

                                    srf_timestamp\bscripts\all
                                    

                                    If you create a browser script, then the Siebel software creates a directory path and names it according to the version of the Siebel runtime repository. The system appends it to the path that you create as the destination directory. For example, after you compile or migrate browser scripts to the Siebel Application Interface, the Siebel software uses the following path to the browser script files:

                                    SAI_ROOT\applicationcontainer\webapps\siebel\language_code\srf_timestamp\bscrip
                                    t\all
                                    
                                  5. If you compile on a Siebel Server that runs in the Windows operating system, and then migrate browser scripts to a Siebel Server that runs on an Oracle Solaris or AIX operating system, then you must FTP the directories to the correct location on the Oracle Solaris or AIX computer.