Version 5.2.0.2398

October 13, 2010

This version of the framework requires an upgrade to the dodeca-essbase service.

The installation zip file contains the servlets for Essbase 9.3.1 through 11.1.2.

This version uses SpreadsheetGear 2010 (6.0.3.158) and NetAdvantage 2010, Volume 2 (10.2.20102.1004).

Upgraded from SpreadsheetGear 6.0.3.136 to 6.0.3.158.

_Upgraded from NetAdvantage 2010, Volume 1 (10.1.20101.1007) to Volume 2 (10.2.20102.1004) _

The primary new features for this build include 1) a new authentication service that supports the ability to retrieve the roles assigned to the current Windows user through a specified relational query, 2) the ability to execute a script on the server using the new workbook scripting EssbaseRunScript method, 3) the ability to "step" a workbook script from within the Workbook Script Debugger, and 4) JNDI support.

The release notes for this build contain the following sections:

Authentication Services

ClickOnce Prep Utility

Commentary

Essbase Excel and SQL Excel Views

Import Essbase Connections

Java Naming and Directory Interface (JNDI)

JDBC Test Utility

Metadata Persistence

Page Setup Tool

Relational Functionality

SpreadsheetGear

Workbook Script Editor

Workbook Scripting

Workbook Scripting Debugger

Authentication Services

ClickOnce Prep Utility

The DeploymentUrl parameter indicates the metadata servlet (war file) name by the path portion of the Url. For example, the default DeploymentUrl is "http://localhost:13080/dodeca", where "/dodeca" is the path portion of the Url. When the path is specified as something other than the default, such as "http://localhost:13080/dodeca-dev", the utility now creates a metadata servlet named "dodeca-dev". (#852)

Commentary

Essbase Excel and SQL Excel Views

Note: When the dodeca-essbase service is not deployed on the same server as the dodeca metadata service, the default URL will not reflect the actual location. In this case, the URL must be manually entered. (#859)

image

Java Naming and Directory Interface (JNDI)

Support for JNDI required the addition of an optional DataSource property for a SQL connection instance, as shown in the screenshot below. If a DataSource is specified, the Dodeca service attempts to lookup the JNDI data source object on the application server, and then uses the object to obtain the JDBC connection. Additionally, if a Username and Password are specified for the SQL connection, the values are used along with the DataSource to obtain the connection. (#867)

image

JDBC Test Utility

Metadata Persistence

Page Setup Tool

Relational Functionality

This is not an issue with any SQL Server JDBC drivers that we have used internally nor have any issues been reported by customers who are using SQL Server.

To overcome these limitations in the JDBC drivers, the Dodeca client now supports the ability to define the parameter names and their JDBC types. The Dodeca server uses these parameter type definitions to avoid requesting the parameter information from the JDBC driver. (#858)

To define the parameter type information, use the Query Editor, which is accessed from the SQL Passthrough DataSet Metadata Editor.

image

From the Query Editor, click the Open Editor button to the right of the DataTableInfo.Columns property to open the Column Editor.

image

The JDBCType property can be selected from a dropdown list of possible JDBC data types.

image

SpreadsheetGear

Workbook Script Editor

image

Workbook Scripting

The TextBased overload supports the specification of a script along with the command line used to execute the script. The script can be tokenized, and the tokens are replaced on the client before the script is sent to the server.

The FileBased overload supports the specification of a filename that exists on the server along with the command line used to execute the file, or optionally, just the command line to execute. The script can be tokenized, and the tokens are replaced on the server before the script is executed.

In addition to the standard method arguments, both overloads support the following arguments:

The TextBased overload also supports the following arguments:

In the following example, the FileBased overload is used.

image

The script is launched asynchronously from the client and executes the following command line on the server:

C:/Hyperion/products/Essbase/EssbaseClient/bin/essmsh c:/temp/aaa/test.mxl <username> <password>

where the <username> and <password> are the values provided by the client. (Note that the username and password are sent to the server as encrypted and are decrypted on the server.) After the script execution completes, the result value, True or False, is assigned to the results property and the content of stdout or stderr is assigned to the details property. In this script, the client displays a message box that contains the values of the result and details properties.

Workbook Script Debugger

Workbook scripting now supports the ability to configure a workbook script to automatically open the Workbook Script Debugger for the procedures in the script. You can "step" through the procedure’s methods from within the debugger. Breakpoints can be added and methods can be skipped or re-executed.

In addition, method argument values and argument comments can be viewed and edited within the debugger, and the changes can be saved to the original, to another existing, or to a new workbook script.

To configure a workbook script to automatically open the Workbook Script Debugger, the DebugMode property should be set to AllProcedures*:

image

*_In the next release, a ProcedureWithBreakpoint option will be supported as will the ability to set breakpoints from within the Workbook Script Metadata Editor. _

Note: The ShowScriptDebugger method can still be used to open an instance of the debugger as can the WorkbookScriptDebugger tool, but the ability to set breakpoints and step the methods is only supported through the workbook script’s DebugMode setting.

The Workbook Script Debugger Breakpoints tab is presented in the screenshot below, which highlights several of the capabilities.

image

The script execution and breakpoint tools include the following:

image

The formula evaluation and editor tools include the following:

image
image

For example, here the SetFill Address is:

=Address(@CRow(), Column(Ess.DataRange.1)) & ":" & Address(@CRow(), @LCol(Ess.DataRange.1))

The Evaluate Formula result is:

$L$20:$AB$20

The Evaluate Expression result is:

=Address(20, Column(Ess.DataRange.1)) & ":" & Address(20, 28)

Context

The Breakpoints tab contains a Context section, which includes the selected method’s current row and column as well as the current iteration information when the procedure was called from within a loop.

In the screenshot below, the "BlueBar row" procedure was executed from within an ExecuteProcedure method’s cell-by-cell loop. The ExecuteProcedure.CellByCell CurrentRow and CurrentColumn indicate the cell for which this iteration of the procedure is being executed.

image

In the next screenshot, the procedure was executed from within a ForEach method’s NumberToNumber loop. The ForEach.NumberToNumber.StartNumber and EndNumber indicate the bounds of the loop and the "ItemsRow Property"* value indicates the number for which this iteration of the procedure is being executed. Also, note that the Step Out of ForEach Loop tool is enabled.

*In this example, the ItemsRow is the value specified as the ForEach method’s PropertyName argument value. The property value contains the current loop number.

image

In the next example, the procedure was executed from within a ForEach method’s DataCache loop. The ForEach.DataCache.Name and Count indicate the name of the data cache and the number of rows. The "DataCacheRowKey Property"* value indicates the value for which this iteration of the procedure is being executed.

image

Dodeca Framework