Skip Headers
Oracle® Retail Predictive Application Server Administration Guide for the Fusion Client
Release 14.1
E59119-01
  Go To Table Of Contents
Contents

Previous
Previous
 
Next
Next
 

18 Guided Launch

This chapter contains the following sections:

Guided Launch is an RPAS feature that provides retailers with a planning-centered, integrated UI solution that can be used to respond to events by adjusting the affected plans within the context of the changed circumstances and interacting plans. A planner's workspace can be developed in which relevant events are announced in role-specific dashboards. The planner can drill down into the event report to identify the context of the event. Appropriate planning applications can be launched to react to the event by either replanning or deriving further insight from the plans, in order to justify the event.

If the RPAS Fusion Client is deployed in an SSO environment, then the launching pad application (that is, the planner's workspace) must also be deployed to the same SSO environment. If this is not done, the launch context may not always be passed through to the Fusion Client.

RPAS launches the Fusion Client given a context, that is, the template or workbook to launch and the wizard parameters that define the scope if a new workbook is to be built. The user can open the launched Fusion Client within an area inside the launching portal page or in a separate browser window. Launching the Fusion Client involves the following steps:

  1. The Fusion Client application is launched by a user.

  2. The context is created, asking to open a workbook or create one. In the case of the latter, the positions to include in the workbook are also specified. The context is passed to the Fusion Client when a user initiates the guided launch.

  3. If a new workbook is being built, it is created

  4. A new or existing workbook is opened, if that is what the context specified.

The following topics are covered in this chapter:

Launching the RPAS Fusion Client

A system integrator is responsible for creating a web-based application that can launch RPAS. Creating an application involves the following steps:

  1. Configure the navigational pane to appropriately launch RPAS.

  2. Create static or dynamic web reports and dashboards, including OBIEE and other Oracle Fusion technologies, to present integrated data to the end-user with links or buttons that create Guided Launch links in the launching application page that either target a frame within the launching page or a separate browser window.

  3. Create alerts or alert reports, using BPM, OBIEE, or other Oracle Fusion technologies that have links or other UI mechanisms that can launch RPAS.

RPAS provides the framework that system integrators can use to launch any RPAS-based workbook, independent of whether the workbook uses a standard wizard or a custom wizard.

RPAS supports launching workbooks that are built using the dynamic-template API. This includes all templates built using RPAS Configuration Tools but does not include templates that have been coded in C++ using an API lower that the Dynamic Template.


Note:

Successfully launching RPAS administrative templates that are not built using RPAS Configuration Tools is not guaranteed.

Issuing a Launch Request from a Web Page

RPAS Guided Launch is implemented as an extension of the RPAS Web Launch feature. As a prerequisite, the RPAS Web Launch Servlet and RPAS Client web installation package must be deployed to a web server and made available to system integrators. For more information, see the Oracle Retail Predictive Application Server Installation Guide.

The RPAS Fusion Client is expected to be deployed and running. The home page URL for the Fusion Client would be something like http://<ipaddr>:<port>/<fusionclientapplicationname>.

System integrators must design the report page to have a link or other web GUI widget that invokes client-side Java Script code to initiate an RPAS Guided Launch.

An HTTP POST request is required to be constructed and submitted in the following format:

  • target host: URL of Fusion Client home page. example: http://example.com:8001/rpas

  • POST body (name/value pair):

  • name: XMLString

  • value: An XML string that represents the context

Here is an example of a guided launch page that displays the Fusion Client pages in an i-frame:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<html>
<head>
    <title>In context launch test page</title>
    <script type="text/javascript">
    function prepareForLaunch() {
    var iframe = document.getElementsByTagName("iframe")[0];
    iframe.src="about:blank";
    return true;
    }
    </script>
</head>
<body>
    <form id="launch" method="POST" action="http://a.example.com:8001/rpas" target="ifname" onsubmit="prepareForLaunch()">
            <input type="hidden" name="XMLString" value="<?xml version='1.0' encoding='UTF-8' ?>
<RPASLaunchContext>
    <Workbook>
    <open>                                   
    <solutionId>pcgd</solutionId>
    <name>t1</name>
    </open>
    </Workbook>
</RPASLaunchContext>" >
      <p>
        <input type="submit" name="submitbutton" value="RPAS InContextLaunch Workbook by name" />
      </p>
    </form>
    <iframe id="ifname" name="ifname" height="500" width="100%" scrolling="yes"/>
</body>
</html>

User Authentication

This section describes the authentication of users.

OSSO-Based Authentication

If the HTML active content is protected by OSSO, it can be assumed that the user has already been authenticated.

Figure 18-1 OSSO-Based Authentication

Surrounding text describes Figure 18-1 .

Deploying Guided Launch

Consider the following details in deploying an RPAS Guided Launch enabled application. The RPAS Web Launch Servlet has to be deployed on a web server. This web server does not have to be the same as the web server that is used for any reporting, dashboard, or BAM applications. In this release, RPAS Guided Launch is able to interact with the dynamic content of the web page using mechanisms described in the previous sections. As long as system integrators can ensure that the RPAS Web Launch Servlet is available, Guided Launch can be achieved from any web-based application.

In an all-Oracle solution, the portal would be a Webcenter application. The portal page would have links to launch the RPAS Fusion Client either in a separate window or within a pane on the portal page. The two applications (portal and RPAS Fusion Client) can run on different application servers. But they must both use the same OSSO infrastructure for authentication and authorization.

When using Guided Launch, make sure that the launching portal application and the Fusion Client are both deployed in the same SSO environment. In order to access a portal page, you must be logged into the SSO environment. Because of this, you are not prompted to log in when you attempt to access a portal page via a guided launch of the Fusion Client.

If you log out of SSO and then attempt a guided launch using a portal page link, you will be prompted to log into SSO again. However, the context will be lost and you will be taken to the Fusion Client home page. If this happens, click the link again. You will not be prompted to log in and the context will be properly executed.

Use Cases

This section describes some RPAS use cases.

Launching Without Context

A system integrator may want to launch RPAS without any context. This means starting up a RPAS Fusion Client window and logging on automatically, but without opening or building a workbook. This type of launch is required to support a generic link in the navigation pane where an end-user can simply launch RPAS to do planning using RPAS Today. The navigation pane only serves as a launchpad for RPAS where RPAS can be started and logged into by clicking a static link or button.

To code this type of launch, the user must either remove the <Workbook> tag from the context or ensure that the <Workbook> tag does not include an <open> or <build> request.

Launching With Context

An RPAS launch that includes more than a simple login into RPAS is considered a guided launch. This includes launching a RPAS Fusion Client instance to open an existing workbook or build a workbook given the template and wizard parameters.

Opening an Existing Workbook

A system integrator may want to design an application that opens a pre-built workbook. This workbook may have been built by a system integrator, the user, workbook build batch, or previous guided launch request.

It is assumed that system integrators are aware of either the internal, unique workbook name that RPAS uses or the workbook label, and optionally, the template name and creation date and time of the workbook. These parameters can be specified in the XML context specification to have RPAS open the workbook. For information, see "Open Workbook".

To enable opening the latest workbook from a nightly auto-workbook-build batch, system integrators can provide the label and template name. Guided Launch automatically defaults to the latest workbook of the same label.


Note:

The last workbook that was created is opened, not the last workbook that was modified.

Building a New Workbook

A system integrator may want to ensure that a new workbook is built for the end-user that depends on what the end-user is or has been doing in the web application. The following examples illustrate this concept.

  • If a link for Merchandise Financial Planning is clicked in the navigation pane, RPAS is launched to build a workbook for the Merchandise Financial Planning template. The end-user is required to make all the wizard selections.

  • If the user is navigating through a report and has identified some outliers at the SKU/Store level, RPAS is launched to automatically build a workbook for those SKU/Stores without requiring the end-user to reselect them in the wizard.

This can be achieved using the build context detailed in "Building a Workbook".

RPAS Guided Launch Format

The guided launch is described in XML format. It consists of one component, the workbook. The workbook component contains information for opening or building a workbook.

Workbook Settings

The Workbook section has two options, opening a workbook or building a workbook. If the options or the whole Workbook section is not specified, the RPAS client logs in to the domain without any workbook operation. For information on opening a workbook, see "Open Workbook". For information on building a workbook, see "Building a Workbook".

XML Schema

The following is the full schema for the RPAS Guided Launch.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
  <xs:element name="RPASLaunchContext">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="Workbook"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Workbook">
    <xs:complexType>
      <xs:sequence>
        <xs:choice>
          <xs:element ref="solutionId"/>
          <xs:element ref="taskName"/>
        </xs:choice>
        <xs:choice minOccurs="0">
          <xs:element ref="selectDomain"/>
          <xs:element ref="domainName"/>
        </xs:choice>
        <xs:choice>
          <xs:element ref="build"/>
          <xs:element ref="open"/>
        </xs:choice>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="open">
    <xs:complexType>
      <xs:sequence>
        <xs:choice>
          <xs:element name="name" type="xs:string"/>
          <xs:sequence>
            <xs:element name="label" type="xs:string"/>
            <xs:element name="templateName" type="xs:string" minOccurs="0"/>
            <xs:element name="createdTime" type="xs:string" minOccurs="0"/>
          </xs:sequence>
        </xs:choice>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="selectDomain">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="selection"/>
      </xs:sequence>
      <xs:attribute name="level" use="required" type="xs:string"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="solutionId" type="xs:string"/>
  <xs:element name="taskName" type="xs:string"/>
  <xs:element name="domainName" type="xs:string"/>
  <xs:element name="build">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="templateName"/>
        <xs:element name="allowManualOverride" type="xs:boolean" minOccurs="0"/>
        <xs:element name="customErrorMessage" type="xs:string" minOccurs="0"/>
        <xs:element name="customWaitMessage" type="xs:string" minOccurs="0"/>
        <xs:element ref="WizardPages"/>
        <xs:element ref="save" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="templateName" type="xs:string"/>
  <xs:element name="save">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="label" type="xs:string"/>
        <xs:element name="access" type="xs:string" minOccurs="0"/>
        <xs:element name="group" type="xs:string" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="WizardPage">
    <xs:complexType>
      <xs:sequence>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element ref="Checkbox"/>
          <xs:element ref="DatePicker"/>
          <xs:element ref="DropDownList"/>
          <xs:element ref="Edit"/>
          <xs:element ref="Listbox"/>
          <xs:element ref="RadioButton"/>
          <xs:element ref="SingleHierSelect"/>
          <xs:element ref="SuperTree"/>
          <xs:element ref="Tree"/>
        </xs:choice>
      </xs:sequence>
      <xs:attribute name="id" type="xs:string" use="required"/>
      <xs:attribute name="option" type="xs:string" use="optional"/>
      <xs:attribute name="fallback" type="xs:string" use="optional"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="WizardPages">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="WizardPage" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="BooleanDataType">
    <xs:sequence>
      <xs:element name="value" type="xs:boolean"/>
      <xs:element name="default" type="xs:boolean" minOccurs="0"/>
    </xs:sequence>
    <xs:attribute name="name" type="xs:string" use="required"/>
    <xs:attribute name="fallback" type="xs:string" use="optional"/>
  </xs:complexType>
  <xs:complexType name="StringDataType">
    <xs:sequence>
      <xs:element name="value" type="xs:string"/>
      <xs:element name="default" type="xs:string" minOccurs="0"/>
    </xs:sequence>
    <xs:attribute name="name" type="xs:string" use="required"/>
    <xs:attribute name="fallback" type="xs:string" use="optional"/>
  </xs:complexType>
  <xs:complexType name="SelectionType">
    <xs:sequence>
      <xs:element name="selection" type="xs:string" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="StringSetDataType">
    <xs:sequence>
      <xs:element name="value" type="SelectionType"/>
      <xs:element name="default" type="SelectionType" minOccurs="0"/>
    </xs:sequence>
    <xs:attribute name="name" type="xs:string" use="required"/>
    <xs:attribute name="fallback" type="xs:string" use="optional"/>
  </xs:complexType>
  <xs:complexType name="StringVectorDataType">
    <xs:sequence>
      <xs:element name="value" type="SelectionType"/>
      <xs:element name="default" type="SelectionType" minOccurs="0"/>
    </xs:sequence>
    <xs:attribute name="name" type="xs:string" use="required"/>
    <xs:attribute name="fallback" type="xs:string" use="optional"/>
  </xs:complexType>
  <xs:complexType name="DimDataType">
    <xs:sequence>
      <xs:element name="dim" maxOccurs="unbounded">
        <xs:complexType>
          <xs:complexContent>
            <xs:extension base="SelectionType">
              <xs:attribute name="name" type="xs:string" use="required"/>
            </xs:extension>
          </xs:complexContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="SelectDomainDataType">
    <xs:sequence>
      <xs:element name="selectDomain" maxOccurs="unbounded">
        <xs:complexType>
          <xs:complexContent>
            <xs:extension base="SelectionType">
              <xs:attribute name="level" type="xs:string" use="required"/>
            </xs:extension>
          </xs:complexContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PQDDataType">
    <xs:sequence>
      <xs:element name="pqd">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:string">
              <xs:attribute name="type" type="xs:string" use="required"/>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Checkbox" type="BooleanDataType"/>
  <xs:element name="RadioButton" type="BooleanDataType"/>
  <xs:element name="DatePicker" type="StringDataType"/>
  <xs:element name="DropDownList" type="StringDataType"/>
  <xs:element name="Edit" type="StringDataType"/>
  <xs:element name="Listbox" type="StringSetDataType"/>
  <xs:element name="SingleHierSelect" type="StringVectorDataType"/>
  <xs:element name="Tree" type="StringSetDataType"/>
  <xs:element name="SuperTree">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="value"/>
        <xs:element ref="default"/>
      </xs:sequence>
      <xs:attribute name="fallback" type="xs:string"/>
      <xs:attribute name="name" use="required" type="xs:string"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="value">
    <xs:complexType>
      <xs:choice>
        <xs:element ref="pqd"/>
        <xs:element maxOccurs="unbounded" ref="dim"/>
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="default">
    <xs:complexType>
      <xs:choice>
        <xs:element ref="pqd"/>
        <xs:element maxOccurs="unbounded" ref="dim"/>
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="dim">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" ref="selection"/>
      </xs:sequence>
      <xs:attribute name="name" use="required" type="xs:string"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="selection" type="xs:string"/>
  <xs:element name="pqd">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute name="type" use="required" type="xs:string"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
</xs:schema>

Open Workbook

In any retail-planning scenario, a particular workbook or an auto-build workbook may be used to plan for a specific grouping of products and locations. When reacting to an event or alert related to these products and locations, it may be necessary to always open a particular workbook or auto-build workbook. System integrators configuring an application can configure and code a guided launch opening of the specific workbook.

System integrators can programmatically specify the parameters that RPAS needs to open a pre-built workbook. This does not involve the use of an API, but involves the XML specification that Guided Launch can use to identify and open the desired workbook.

System integrators can identify the target workbook in either of two ways:

  • Using the RPAS name of the workbook.

  • Using the auto-build parameters, that is, user, template name, label, and creation date. Template name and creation date are optional parameters. If template name or creation date are not specified and multiple workbooks with the same label are found, RPAS chooses the workbook that was created last and then further breaks the tie based on the alphabetical ordering of the template name.

Specifications

Option 1

Table 18-1 Option 1 - Workbook Specification

Setting Description Type Required

name

The RPAS name of the workbook (also known as the "gem name", such as "t1" and "t18" which is the root directory name of the workbook)

String

Yes


Option 2

Table 18-2 Option 2 - Workbook Specification

Setting Description Type Required

label

The workbook label

String

Yes

templateName

The template name of the workbook

String

No

createdTime

The created time of the workbook in the format YYYY-MM-DD hh:mm:ss

String

No


Examples

Here is sample guided launch description for opening a workbook using the RPAS name. Note that if the solution is a global domain environment, you should specify the domain using either <domainName> of <selectDomain>. If you do not specify a domain, the default is tried instead.

<?xml version="1.0" encoding="UTF-8" ?>
<RPASLaunchContext>
<solutionId>MFP</solutionId>
<Workbook>
   <domainName>
     <open>
        <name>t1</name>
     </open>
   </domainName>
</Workbook>
</RPASLaunchContext>

Here is sample guided launch description for opening a workbook using the label and template name:

<RPASLaunchContext>
… … (Same as above, omitted here.)
<Workbook>
    <open>
        <label>wb2</label>
        <templateName>MEASUREANALYSIS</templateName>
    </open>
</Workbook>
</RPASLaunchContext>

Building a Workbook

RPAS users generally build workbooks through a manual process using RPAS Wizard Pages from workbook templates. This process is automated in Guided Launch by specifying the content and selection of the wizard pages in the guided launch description.

The automated process enables system integrators to use the XML schema specify the parameters that RPAS needs to build a new workbook. The integrator can program RPAS guided launch to build virtually any workbook from any workbook templates, simple or complex, by constructing an XML string according to the guided launch schema and the configuration of the wizard pages.

Users can think of the XML specifications as macro definitions of what they do when they build the same workbook manually. The specifications for building a workbook start from a workbook template, which contains a list of wizard pages.

Right after the Workbook tag, the user specifies either solutionId or taskName, this is mandatory for the Fusion Client. After that, the user specifies domain information, which is needed for building a workbook in a global domain environment. The domain information can be either the name itself (domainName element) or a selectDomain element, as shown in the following example:

<selectDomain level='pgrp'>
</selectDomain>
<selection>1000</selection>

Each wizard page has a set of pre-defined widgets:

  • RadioButton

  • Checkbox

  • Edit

  • DropDownList

  • SingleHierSelect

  • DatePicker

  • Listbox

  • Tree

  • SuperTree

Each widget has its own specifications, depending on its type.

The fallback option can be specified at the widget and wizard page level. The widget level fallback option is considered first when the specifications for that widget are incomplete or incorrect. If a specification cannot be resolved at the widget level, the wizard page fallback option is used. If the fallback option on the wizard page is not specified or the option has errors, an error message is displayed to the user.

If any unrecoverable errors occur on a wizard page, the workbook build process falls back to manual mode if the allowManualOverride option is set to true. The wizard starts from the first page. All selections prior to the problematic page are preserved, and the user can click Next to skip them and go to the page with errors, which is blank, along with all subsequent pages.

Specifications

The specifications to build a workbook consist of basic settings and a list of wizard pages. Each wizard page contains a list of widget specifications.

Table 18-3 Basic Settings

Setting Description Type Required

templateName

The template name for the workbook to be built.

String

Yes

allowManualOverride

Allow manual override in case of fatal errors in the XML data. The default is true. The wizard starts from the first page.

Boolean

No

customErrorMessage

Custom error message to display in case of fatal errors in the launch context data.

String

No

customWaitMessage

Custom wait message to display while the workbook is being built.

String

No


Table 18-4 Wizard Page Specifications

Setting Description Type Required

option (attribute)

Wizard page handling option. Can be one of the following values:

manual: forces manual selection for all widgets. This option forces manual input for this and all subsequent pages. However, the wizard still starts from the first page.

skippable: this page can be skipped. Normally used for a conditional wizard page. This page only exists if some particular value is selected for some widget on the previous page.

String

No

fallback (attribute)

Wizard page level fallback option. Can be one of the following values:

default: use values from the default settings for all widgets.

cache: use selections from the cache selection file. Cache files are from last successful workbook build of the same template.

String

No


Table 18-5 Wizard Widget Specifications: RadioButton and Checkbox

Setting Description Type Required

name (attribute)

Widget name.

String

Yes

fallback (attribute)

Widget level fallback option. Can be:

default: use value from the default setting.

String

No

value

Boolean type: selected value for the widget. Value must be either false or true.

XML section

Yes

default

Default value for the widget. Must be a Boolean type.

XML section

No


Table 18-6 Wizard Widget Specifications: Edit, DropDownList, SingleHierSelect, and DatePicker

Setting Description Type Required

name (attribute)

Widget name.

String

Yes

fallback (attribute)

Widget level fallback option. Can be:

default: use value from the default setting.

String

No

value

String type: selected value for the widget.

XML section

Yes

default

Default value for the widget. Must be a String type.

XML section

No


Table 18-7 Wizard Widget Specifications: Listbox and Tree

Setting Description Type Required

name (attribute)

Widget name.

String

Yes

fallback (attribute)

Widget level fall back option. Can be one of the following values:

  • default: use value from the default setting.

  • all: select all available items or positions.

  • intersection: use intersection of the specified items/positions and all available items/positions if any of the specified items/positions do not exist.

String

No

value

String Set type: selected value for the widget. Value is a set of selections.

XML section

Yes

default

Default value for the widget. Must be a String type.

XML section

No


Table 18-8 Wizard Widget Specifications:SuperTree

Setting Description Type Required

name (attribute)

Widget name.

String

Yes

fallback (attribute)

Widget level fall back option. Can be one of the following values:

  • default: use value from the default setting.

  • all: select all available items or positions.

  • use intersection of specified positions and all available positions if any of the specified positions do not exist.

String

No

value

String to String Set Map Type/PQD File Type: selected value for the widget. Can be one of the following values:

  • Value is one or more dimensions, each having a set of selections.

  • Value is a Position Query Definition (PQD) file name in the format: <pqd type="{pqd_type}"> pqd_file_name </pqd> where {pqd_type} must be either PointAndClickPQD or RollingCalendarPQD.

XML section

Yes

default

Default value for the widget. Must be a String to String Set Map type or PQD file type.

XML section

No


Workbook Save Specifications

These save specifications are optional. If they are specified, the workbook is immediately saved after it is built.

Table 18-9 Workbook Save Specifications

Setting Description Type Required

label

Workbook label.

String

Yes

access

Workbook access. Must be user, group or world. If not specified, the default is user.

String

No

group

Workbook group. Required when workbook access is group. There is no default.

String

Conditional


Example

The following example shows a sample launch context for building a workbook. It specifies a new Measure Analysis workbook for a simple domain (TestDomain). The domain is created by using the RPAS utility createRpasDomain with the command line option "-x".

<?xml version="1.0" encoding="UTF-8" ?>
<RPASLaunchContext>
<solutionId>MFP</solutionId>
<domainName>global</domainName>
<Workbook>
  <build>
    <templateName>MEASUREANALYSIS</templateName>
    <WizardPages>
      <WizardPage id="ExtraMeasuresPage" fallback="none">
        <Listbox name="lb1">
          <value>
            <selection>R_EX_DEMOA</selection>
            <selection>R_EX_DEMOB</selection>
            <selection>R_EX_DEMOC</selection>
          </value>
        </Listbox>
      </WizardPage>
      <WizardPage id="DAY" fallback="none">
        <SuperTree name="tree1" fallback="all">
          <value>
            <dim name="WEEK">
              <selection>W01_1997</selection>
              <selection>W01_1998</selection>
              <selection>W01_1999</selection>
              <selection>W01_2000</selection>
            </dim>
            <dim name="DAY">
              <selection>19970108</selection>
            </dim>
          </value>
          <default>
            <dim name="DAY">
              <selection>19970108</selection>
            </dim>
          </default>
        </SuperTree>
      </WizardPage>
      <WizardPage id="STR" fallback="none">
        <SuperTree name="tree1">
          <value>
            <dim name="STR">
              <selection>0102</selection>
              <selection>0144</selection>           
              <selection>0152</selection>           
              <selection>0557</selection>           
              <selection>0594</selection>           
              <selection>0959</selection>           
            </dim>
          </value>
        </SuperTree>
      </WizardPage>
      <WizardPage id="SKU" fallback="none">
        <SuperTree name="tree1">
          <value>
            <dim name="CLSS">
              <selection>021</selection>
            </dim>
          </value>
        </SuperTree>
      </WizardPage>
    </WizardPages>
    <save>
      <label>Testwb</label>
      <access>Group</access>
      <group>ADMIN</group>
    </save>
  </build>
</Workbook>
</RPASLaunchContext>

buildWorkbookContext Utility

The buildWorkbookContext utility is a server side command line utility. It runs under both global domains and local domains.

Before running this utility, you should first manually create a workbook using the workbook template you intend to use in the context. This step generates selection files. In order to capture as much information as possible in the selection files, you can choose to select all for the widgets on wizard pages. This is especially useful for listbox widgets.

After the XML file is generated, you can use the data in the file directly if you want to build an identical workbook. Or, you can use it as a starting point and tailor it to meet some specific requirements.

Command Line Usage

buildWorkbookContext -d [domain_path] -user [user_name] -wbt [wbt_name] -out [output_file]
  • [domain_path]: The path to the global or local domain.

  • [user_name]: The username whose selection files are used. This is the user who can manually run the workbook template wizard.

  • [wbt_name]: The name of the workbook template for which the XML context is built. This is the internal name for the template. It can be identified by looking at the selection files under DOMAIN_PATH/users/[user]/selections. The names of the selection files are in this format: [templateName]_[wizpageID].sel.

  • [output_file]: Output file name for the XML context.