Siebel Advisor API Reference > Pageset Functions for Siebel Advisor >

Start On Active


Several functions comprising the Start On Active function allow you to launch your application at a particular pageset, from an external URL, with or without a preconfigured setting.

For those instances where no pageset ID is specified, you can pass a default start page as a parameter in the SOALoadPageset function. Start On Active supports a variety of parameter passing formats. In addition, you can implement custom URL string parsing functionality using Override Points.

Start On Active can be called from any frame within the application and can be executed anywhere a JavaScript function can be used. It is commonly called from the onClick event handler of a link, but it can also be referred to from an image map, set as the SUBMIT method of an embedded frame, or called from another user-defined JavaScript function.

Start On Active is used to load a particular pageset. The pageset ID is explicitly stated in the function call. To load a pageset with an ID that is determined by the valid configuration of another product, create a link output target using the BuildTarget function.

Parameter Passing Formats

The following URL parameter passing formats are supported, where home.htm is the top level frameset:

http://.../home.htm

Launches the default application.

http://.../home.htm?pagesetid=xxx

Launches the application at pageset xxx with default Feature table selections as defined on the pageset.

If information not related to the Start on Active function is being passed in the URL query string, it should precede the pagesetid key/value pair (for example, a session ID).

http://.../home.htm?pagesetid=xxx&param1=yyy&param2=zzz

Launches the application at pageset xxx with preconfigured settings.

The syntax param1=yyy corresponds to FeatureTable/CodeValue pairs. Code value yyy is selected for Feature table param1. Code value zzz is selected for Feature table param2. If information not related to the Start on Active function is being passed in the URL query string, it should precede the pagesetid key/value. Similarly, pagesetid should precede all dynamic default key/value pairs.

http://.../home.htm?pagesetid=xxx&dyndefs=param1+yyy+param2+zzz

Launches the application at pageset xxx with a preconfigured object.

The syntax param1+yyy corresponds to FeatureTable/CodeValue pairs in the preconfigured object.

Information not related to the Start on Active function may appear anywhere in the query string.

http://.../home.htm?pagesetid=xxx&configvars=true&param1=yyy&param2=zzz

Launches the application at pageset xxx with preconfigured settings.

The syntax param1=yyy corresponds to FeatureTable/CodeValue pairs. The key/value pair configvars=true in the query string is used to indicate that a preconfigured setting is appended to the URL. The preconfigured setting key/value pairs must immediately follow the configvars=true parameter. If the parameter configvars is set to false, the application will launch at pageset xxx with the default settings as defined on the pageset. If information not related to the Start on Active API is being passed in the URL query string, it should precede the configvars key/value pair.

http://.../home.htm?config_file_path=filename.htm

Loads filename.htm, then launches the application at the pageset defined in that document's form, with the preconfigured settings also defined in that form.

The path for filename.htm should be fully qualified. This approach is particularly valuable in circumventing the URL length restrictions of most browsers (generally 2,000 characters in Microsoft Internet Explorer and Netscape Navigator).

Implementing Start On Active

To implement the Start On Active function, use the following methods.

Modify InitApp()

Modify the function InitApp() in custom/customCode.js to call ISS.SOALoadPageset(). The function takes two optional parameters:

  • The default start page if no pageset is specified in the query string.
  • A Boolean value indicating whether this default page is an active pageset (as opposed to a Splash screen).

An example of how this function may look is shown below:

function InitApp() {

// insert initialization code here

// start with contents listing

ISS.ShowContentsList();

// can start with page in addition to or instead of showing contents list

ISS.SOALoadPageset(ISS.GetUIPath()+"welcome.htm", false);

}

To avoid a flash effect, verify that the source of the mainArea frame in ol_ui is "javascript:"

Use Hidden Frames

To implement Start on Active with hidden frames, create a new hidden frame in ol_ui called "dynaframe" using the parameter string format http://.../home.htm?config_file_path=filename.htm.

NOTE:  Be sure to add space for the hidden frame in the frameset's row/column definition.

The source for this file should be the empty javascript call:

<FRAME SRC="javascript:''" NAME="dynaframe" MARGINWIDTH="0"...>

Start on Active File Format Conventions

The contents of any Start on Active file specified in the config_file_path parameter of the URL query string should adhere to the following convention:

<SCRIPT src="jd/header.js"></SCRIPT>

NOTE:  Be sure to include the header.js file and verify that the path is correct relative to the location of your Start on Active file.

Call "ISS.SOAPassDynaObject()" in the file's BODY onLoad handler:

<BODY onLoad="ISS.SOAPassDynaObject()">

Specify all key/value pairs as hidden INPUT fields. If information not related to the Start on Active function is included in the form, it should precede the pagesetid key/value. Similarly, pagesetid should precede all dynamic default key/value pairs.

The following is an example of a Start on Active file:

<HTML>

<HEAD>

<SCRIPT></SCRIPT> <SCRIPT src="jd/header.js"></SCRIPT>

</HEAD>

<BODY onLoad="ISS.SOAPassDynaObject()">

<FORM name=configuration>

   <INPUT type=hidden name=pagesetid value=soa2>

   <INPUT type=hidden name=A value=3>

   <INPUT type=hidden name=B value=2>

   <INPUT type=hidden name=C value=1>

</FORM>

</BODY>

</HTML>

Start on Active File Function Overview

InitApp(), a user-defined function customCode.js in the custom directory, is used to define the start state of the application. The API ISS.SOALoadPageset() calls Start on Active from the InitApp() function.

SOALoadPageset calls GetParmStr() to retrieve the URL query string. Before the string is returned, it is cleaned of special characters using the API CleanQuery(). If there is no query string, the default start page is passed as a parameter in ISS.SOALoadPageset() and loaded into the ISS.uiFrame. Otherwise, StartActive() is called to evaluate the query string.

StartActive first checks whether the query string matches the parameter pattern for the hidden frame approach. If so, the function LoadSOAFrame() is called to load the supplied file into ol_ui.dynaframe. This approach relies on the onLoad handler of the supplied file to call SOAPassDynaObject(). SOAPassDynaObject will parse the form contents into query string format and pass that string back into StartActive for evaluation.

If StartActive does not match the config_file_path pattern in the query string, it calls the GetPagesetID() function to parse out the pagesetid key/value pair. If the key/value pair is found, GetConfigObj() function is called to evaluate the string for dynamic defaults. If the pagesetid key/value pair cannot be retrieved, the default start page is loaded.

GetConfigObj() evaluates the query string against the supported parameter formats. If a pattern match is found, an ISS.DynDef_Obj is constructed with the key/value pairs specified in the query string. This object is returned to StartActive.

Finally, StartActive checks whether a configuration object was returned. If so, it calls ISS.LoadPagesetWithDynDefObj and passes the pagesetid and configuration object as parameters. If not, it calls ISS.LoadPageset with the pagesetid.

NOTE:  All calls to the Start On Active function should be of the form ISS.FunctionName(arg1,...argN);

SOALoadPageset (defaultPg, isActive)

Usage

Use this function to launch the Start On Active pageset functionality.

This function is called from the InitApp() function in customCode.js.

Syntax

SOALoadPageset (defaultPg, isActive)

Argument
Description

default

The name of a default start page to occupy the main area of the application. If the page is a splash screen without ISS calls, it should be fully qualified filename with the path and extension (for example, ISS.GetUIPath()+'welcome.htm'). If the page is an active pageset, specify the pageset name as you would for ISS.LoadPageset (for example, 'advisor'). This parameter is optional.

isActive

Boolean value indicating whether defaultPg is an Active pageset or a splash screen. This parameter is optional - defaults to false.

SOAPassDynaObject ()

Usage

This function is called in the onLoad handler of a Start On Active file used to supply the parameters in the hidden frame methodology. It parses the contents of the document form into URL query string format and then passes the string on for StartActive evaluation.

Syntax

SOAPassDynaObject ()

Siebel Advisor API Reference Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Legal Notices.