Reader small image

You're reading from  Oracle Siebel CRM 8 Developer's Handbook

Product typeBook
Published inApr 2011
Reading LevelIntermediate
Publisher
ISBN-139781849681865
Edition1st Edition
Languages
Concepts
Right arrow
Author (1)
Alexander Hansal
Alexander Hansal
author image
Alexander Hansal

Alexander Hansal has worked as an IT professional in small, medium, and global corporations. Since 2001, Alexander works as a technical instructor and consultant for Siebel CRM and Oracle Business Intelligence in Europe. He enjoys teaching, and shares his knowledge and expertise in his classes at Oracle University and in his weblog, http://siebel-essentials.blogspot.com/
Read more about Alexander Hansal

Right arrow

Chapter 2. Developer Tasks

In this chapter, we will describe the processes and tasks that a developer typically has to carry out during the configuration process. In addition, we will try to establish a thoughtful and well structured approach of customization with the upgrade in mind. The following topics will be discussed here:

  • Initializing the local database

  • Getting object definitions from the server database

  • Projects and objects

  • Siebel Tools options

  • The development process

    • Checking out

    • Creating or modifying object definitions

    • Validating object definitions

    • Compiling object definitions

    • Testing and debugging

    • Checking in

  • Local locking and prototyping

  • Archiving object definitions

  • Importing archived object definitions

  • Comparing object definitions

  • Searching the Siebel Repository

  • Integrating external source control systems

  • Automating developer tasks using command line options

  • Keeping the upgrade in mind

This chapter's intention is to give a brief overview of the functionalities of Siebel Tools. Most of these features...

Initializing the local database


The Siebel development environment is a separate installation of a Siebel Enterprise dedicated for the sole purpose of supporting development activities. Instead of making changes to the Siebel Repository in the server database, developers use local databases and local Siebel client installations on their workstations. This provides a secure environment for testing the changes before publishing them to the server environment and making them accessible for other developers.

The following diagram depicts the building blocks of a Siebel development environment:

The following facts can be derived from the preceding diagram:

  • Siebel Tools: installed on the developer workstation—connects to the local database

  • During the Check Out or Check In process: described in more detail later in this chapter—Siebel Tools connects to the server database

  • The developer uses the Siebel Tools compiler to create a new version of the Siebel Repository File (SRF)

  • The Siebel Mobile Web Client...

Getting object definitions from the server database


Administrators can set the Extract all Repository Tables parameter to True before submitting the Database Extract job on the Siebel Server. When this is the case, the local database is already populated with repository data during the initialization process and developers can start working immediately.

If the parameter is not set to true, the repository tables in the local databases are empty and the developer has to use the Siebel Tools Get functionality to populate them.

To copy— or get—the full set of repository data from the server database to our local database, we execute the following steps:

  1. 1. If necessary, log on to Siebel Tools to the local database.

  2. 2. In the Tools menu, select Check Out....

  3. 3. The Check Out dialog is displayed. If the repository tables in the local database are empty, all projects are selected by default.

  4. 4. Select the All Projects option to ensure that all projects are selected.

  5. 5. Click the Get button.

  6. 6. Wait for...

Projects and objects


Each object definition in the Siebel Repository must belong to exactly one project. A project can be considered a container for an arbitrary selection of object definitions. The Siebel CRM engineering team at Oracle defines the initial set of projects. Developers at customer sites can either choose to keep the order defined by Oracle or decide to change the project assignment for selected object definitions without affecting Siebel functionality.

In addition, we can create new projects if needed. The following procedure is an example of how to create a new project definition in the local developer database:

  1. 1. In the Object Explorer window, select the Project type.

  2. 2. In the Object List Editor, use Ctrl+N to create a new record.

  3. 3. Enter a meaningful name for the project, such as AHA Prototypes (see the following for an explanation of the prefix).

  4. 4. Check the flag in the Locked column to lock the project in the local database (making the project writeable).

  5. 5. Step off the...

Siebel Tools Options


Before we start developing, we should take a look at the most important program options for Siebel Tools. We can launch the Development Tools Options dialog by selecting the Options... item in the View menu. The dialog has several tabs as depicted in the following screenshot:

The following table describes the tabs in the Development Tools Options dialog and the settings that can be made.

The development process


Developers are typically given clear instructions about the required modifications from the solution architects and business analysts. For example, a new field should be added to the Contact business component and the Contact Form Applet should expose the new field as a new textbox control.

When implementing the preceding example and during all other development cycles, the developer has to adhere to a process that can be depicted as follows:

In the following sections, we will refer to the preceding example while we discuss each of the process steps in detail.

Checking out

When a developer, connected to the local database in Siebel Tools, wants to establish write access to an object, she or he has to use the Check Out functionality of Siebel Tools. There are two choices: Checking out single object definitions or entire projects.

Since Siebel CRM version 8.0, the Siebel Repository is preconfigured to support single object locking. In technical terms, the majority of projects...

Local locking and prototyping


Under certain circumstances we only need local write access. These circumstances include prototyping or evaluation of object behavior. We can right-click any object definition and select Lock Object from the context menu to set the Locked flag only in the database that we are currently connected to.

Alternatively we can use the Alt+L keyboard shortcut to lock the entire project that the currently selected object definition belongs to.

Objects that are locked in only one database cannot be checked in. If we wish to keep the changes we must create an archive file of the object. The next section discusses how to create archive files.

Archiving object definitions


Siebel Tools supports the creation of archive files, with a .sif suffix, for selected object definitions or entire projects. As indicated in the previous sections, these archive files are created during the Check Out process automatically to provide easy comparison and restoring capabilities. A .sif file contains the XML representation of the archived objects.

Archive files can also be created manually and have proven very useful for backup purposes or to quickly provide fellow developers with object prototypes.

We can use the Add to Archive... command in the context menu to add one or more objects to a list of objects to be archived. The Export to Archive File dialog is displayed on the first invocation of the command.

It is possible to use the Object Explorer and Object List Editor to select additional object definitions for the archive file. The following screenshot shows the Export to Archive File dialog:

When the selection process is finished, we specify the...

Importing archived object definitions


The Import Wizard of Siebel Tools allows importing object definitions from one or more archive files. The wizard can be invoked from the Tools menu. The following example process describes how to use the Import Wizard:

  1. 1. In the Tools menu, select Import from Archive....

  2. 2. In the Select Archive to Import dialog, browse to a .sif file.

  3. 3. Click the Open button.

  4. 4. In the Preview window of the Import Wizard we can select and delete objects from the list to exclude them from importing.

  5. 5. In the Conflict Resolution section we choose a suitable conflict resolution strategy. If we are in doubt, we should keep the default setting (Merge).

  6. 6. Click Next.

  7. 7. In the Review Conflicts and Actions window of the Import Wizard, we can inspect each object and its attributes and control the conflict resolution behavior by right-clicking in the Object differences or Attribute differences list.

  8. 8. Click Next.

  9. 9. Click Yes to confirm the summary message.

  10. 10. Wait for the import...

Comparing object definitions


As indicated in the section on the Check In process, a comparison utility exists that allows visual comparison of object definitions in the following ways:

  • Compare two selected object definitions of the same type

  • Compare a selected object definition against an object definition of the same type and name in a different repository

  • Compare a selected object definition against the content of an archive (.sif) file

The Compare Objects window can be invoked from the context menu by right-clicking one or a selection of two object definitions and selecting the appropriate subcommand of the Compare Objects command.

In addition to visualizing the differences between the two selections, the Compare Objects window supports copying of child objects between the selected parent objects. Two arrow buttons in the middle of the window serve this purpose. The target object must be locked for this feature to work.

Note

The copy feature of the Compare Objects window is especially useful...

Searching the Siebel Repository


Siebel Tools provides a text search utility, which can be invoked from the Search Repository... option in the Tools menu. The utility allows selecting one or more object types and executes a full text search on all attributes of the selected object types. Due to the fact that the average Siebel Repository contains millions of records and the search is therefore very time consuming, this option should only be used as a last resort when the standard query option is not applicable.

Integrating external source control systems


In the Check In/Out tab of the Development Tools Options dialog we can enable integration of Siebel Tools with an external source control system. When this feature is enabled, Siebel Tools will execute the batch file specified in the options every time a developer performs a Check In process.

The batch file—a sample for Microsoft Visual SourceSafe is provided with the Siebel Tools installation—must be prepared by the development team to invoke the source control system's specific commands.

When source control integration is enabled, the developer will be prompted for a comment on each Check In process and an archive file (.sif) will be checked in as a new version in the source control system.

Automating developer tasks using command line options


The following tasks can be automated by running the Siebel Tools executable (siebdev.exe) and other utilities on the command line:

  • Validate the entire repository

  • Compile the entire repository

  • Compare two SRF files

  • Import from and export to archive (.sif) files

  • Convert custom labels to symbolic strings

  • Export object definitions for Application Deployment Manager (ADM)

To run a validation for the entire repository, a quite lengthy process, we have to invoke the Siebel Tools executable (siebdev.exe) from the command line similar to the following example:

C:\SIA8\Tools\BIN\siebdev.exe /d Local /u AHANSAL /p tzU87tr /bv

The /d switch specifies the data source while the /u and /p switches provide the username and password for that data source. Apart from these switches, the /bv (batch validation) switch will launch the validation utility automatically after Siebel Tools is started.

To compile the entire repository, also called a Full Compile, we use...

Keeping the upgrade in mind


Almost every Siebel CRM project is bound to undergo an upgrade to a newer major release in the long term. For example, a project team that may have started with Siebel CRM version 7.8 could have to face the challenge of upgrading to version 8.2 (or later versions).

Every time when the first two digits of the version number change, which is considered an upgrade as opposed to a patch, which only increases the last two digits, a new version of the Siebel Repository is delivered from Oracle.

The main effort of a Siebel CRM upgrade project is the so-called Repository Merge process during which the changes made by customers and Oracle engineers to the prior standard repository are analyzed and applied to the new customer repository. The following diagram depicts the merge process using versions 7.8 and 8.1 as an example:

We can observe that any object definition created by custom developers is copied to the New Customer Repository, which is the working repository in the...

Summary


In this chapter, we discussed the most important pieces of Siebel Tools functionality that developers typically use in their daily work.

Initializing and populating the developer's database is a mandatory step to establishing the local development environment.

We followed a typical development process to identify tasks such as checking out, modifying, and creating new object definitions as well as validating, compiling, and testing the changes using the Mobile or Developer Web Client.

In addition, Siebel Tools supports development teams with archiving and search features as well as integration with external source control systems.

In order to achieve a professional and upgradeable implementation of the customer's requirements we have to follow basic principles that have been laid out in the section Keeping the upgrade in mind.

In the next chapter, we will introduce the case study scenario, which provides real-life examples for the remainder of the book.

lock icon
The rest of the chapter is locked
You have been reading a chapter from
Oracle Siebel CRM 8 Developer's Handbook
Published in: Apr 2011Publisher: ISBN-13: 9781849681865
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
undefined
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime

Author (1)

author image
Alexander Hansal

Alexander Hansal has worked as an IT professional in small, medium, and global corporations. Since 2001, Alexander works as a technical instructor and consultant for Siebel CRM and Oracle Business Intelligence in Europe. He enjoys teaching, and shares his knowledge and expertise in his classes at Oracle University and in his weblog, http://siebel-essentials.blogspot.com/
Read more about Alexander Hansal

Tab

Description

General

Allows enabling or disabling confirmation dialogs such as prompting to save before compiling. The date and time set in the Changed date section is used to mark all records with the Changed flag when they have been updated after this point in time. The General tab also includes options for the Workflow Process and Task editors.

Language Settings

The language set in this tab is used for string display, compilation and check in or check out.

Check In/Out

In this tab, integration with external source control systems can be enabled. In addition, the ODBC data...