Version 6.7.0.4294

February 4, 2014

This version of the Dodeca Framework uses the .NET Framework, version 2.0, Service Pack 1 and higher on the desktop. The components used in this version of Dodeca are SpreadsheetGear 2012 (7.0.5.140), NetAdvantage 2011, Volume 1 (11.1.20111.2042), Aspose.Cells 7.0.3.0, and Syncfusion Essential Studio 11.3.0.30.

This version of Dodeca has two server-side services that run inside a Java Application Server. The Dodeca service is supported and tested on Java 1.6. The Dodeca-Essbase service for all Essbase versions prior to, and including, Essbase 11.1.1.3 are supported and tested on Java 1.5. The Dodeca-Essbase service for all Essbase versions 11.1.1.4 and higher are supported and tested on Java 1.6. Both services are known to run on Java 1.7, although extensive testing has not been performed on that Java version.

The release notes for this version contain the following sections:

Authenticated Username/Password and (Essbase, SQL) Connection Integration

ClickOnce Prep Utility — Proxy Server Support

Dodeca Essbase Service — Fixed Issue

Essbase Member Select Dialog — Fixed Issues

EssbaseSQLPassthroughDataSet Selector List — Fixed Issue

EssbaseUserRolesFromGroupNames Authentication Service Enhancements

Excel View (and Essbase Excel View) Template Designer — Move/Copy Sheet

Metadata Property Search Utility Enhancements

PDF Views — Fixed Issue

Relational (SQL) Views — Add/Insert/Delete DataTableRange Rows on Filtered Range

SQLPassthroughDataSet Error Messages

View Selector Tree — Find View / Category

View Status Bar — Fixed Issues

Workbook Scripting — Event Links, Functions, Methods

Warning

When upgrading from version 6.4.3.3803 (or earlier) to version 6.5.0.3872 (or later), the first time the first user accesses an application (without first importing the metadata), the error below will occur. To correct the error, modify any metadata instance and commit the change to the database.

image

Authenticated Username/Password and (Essbase, SQL) Connection Integration

A Dodeca application can be configured with an authentication service, which is used to authenticate a user at startup by requiring valid credentials, such as an Essbase user name and password. Several authentication services are supported, and can be used to prevent access to an application, to control which view hierarchies are presented in the view selector based on a user’s roles, and to allow more extensive view sharing options.

A new setting, called UseAuthenticatedUsernameAndPassword, has been added to the SQLConnection and EssbaseConnection metadata to allow for the authenticated user to automatically be used for the connection. (#1251)

EssConnection:

When an authentication service is associated with the Dodeca application, the UseAuthenticatedUsernameAndPassword property controls whether the authenticated username and password are used as the Essbase connection username and password.

When an Essbase authentication service is used, the behavior is similar regardless of whether the UseAuthenticatedUsernameAndPassword property is True or False, because any connection to Essbase from the client will attempt to use the authenticated credentials unless a Username and Password are explicitly specified for the Essbase connection metadata instance. The difference is that when the UseAuthenticatedUsernameAndPassword is True and the connection fails, the default login services will not prompt the user for alternate credentials.

When a non-Essbase authentication service is used, it may be desirable to use the authenticated credentials for the Essbase connection. This can be achieved by setting the UseAuthenticatedUsernameAndPassword property to True. If the connection fails, the default login services will not prompt the user for alternate credentials.

SQLConnection:

When an authentication service is associated with the Dodeca application, the UseAuthenticatedUsernameAndPassword property controls whether the authenticated username and password are used as the SQL connection username and password.

ClickOnce Prep Utility — Proxy Server Support

The ClickOnce Prep Utility now supports the ability to specify a Proxy Server for the SmartClient application. (#1249)

The Proxy Options section of the ClickOnce Prep Utility includes the following settings:

Dodeca Essbase Service

Essbase Member Select Dialog

EssbaseSQLPassthroughDataSet Selector List

EssbaseUserRolesFromGroupNames Authentication Service Enhancements

The EssbaseUserRolesFromGroupNames authentication service first was introduced in Build 1673 to allow for Essbase groups to be used as Dodeca roles. Several subsequent versions have included enhancements or addressed issues as recently as the last release, Version 6.6.0.4194. In Version 6.2.0.3390, the authentication service was revised in conjunction with the introduction of the view sharing capability, but users were limited to sharing a view with no one or with everyone.

In this current release, the EssbaseUserRolesFromGroupNames authentication service has been enhanced to more completely support view sharing. New properties have been added to control exactly with whom the authenticated user is allowed to share views. (#1253)

Please note that with the EssbaseUserRolesFromGroupNames authentication service, an Essbase group is treated as a Dodeca role, so the term "role" refers to an Essbase group.

None - No sharing with individual users is allowed.

UsersInSameRoleAsUser - Sharing is allowed with any user who is assigned to a role (i.e. Essbase group) that the authenticated user is also assigned to. For instance, if the authenticated user is assigned to GroupA and GroupB, then sharing is allowed with the other users who are assigned to GroupA along with the other users who are assigned to GroupB.

AllUsers - Sharing is allowed with all other users.

SpecificUsers - Sharing is allowed with the users identified by the UsersToShareViewsWith_SpecificUsers property.

None - No sharing with roles is allowed.

SameRoleAsUser - Sharing is allowed with the roles that the authenticated user is assigned to.

AllRoles - Sharing is allowed with all roles.

SpecificRoles - Sharing is allowed with the roles identified by the RolesToShareViewsWith_SpecificRoles property.

image

When configuring the EssbaseUserRolesFromGroupNames authentication service for an application, the RolesToShareViewsWith_SpecificRoles and UsersToShareViewsWith_SpecificUsers settings are edited using a dialog that presents the list of roles and users, respectively. The Essbase connection specified for the authentication service of the edited application is used to obtain the roles/users presented in the editor dialog.

The first time the RolesToShareViewsWith_SpecificRoles or UsersToShareViewsWith_SpecificUsers editor is accessed during a session, the retrieval of the role or user names is launched on a background thread. The administrator is informed, and has the option of keying in the role or user names or trying again later when the names are available, which may be immediately or after several seconds or sometimes minutes depending on the configuration of the authentication provider and the number of users. Once the retrieval is complete, the role or user names are added to the session cache, and subsequent attempts to edit the setting will open the editor dialog with the list of selectable names presented in a dropdown list.

In the following example, the external authentication provider configured for Essbase is Microsoft Active Directory (MSAD). For testing purposes, 10,000 MSAD users were created.

image

The UsersToShareViewsWith property is set to SpecificUsers. When the UsersToShareViewsWIth_SpecificUsers editor is opened for the first time during the session, the following message is displayed:

image

After the user names are retrieved and available, the dialog supports keying in a user name or selecting a user name from a dropdown list.

image

Sharing Views

For a user running the example application, the view sharing dialog will allow a view to be shared with everyone and/or with any of the specified users.

image

When the authenticated user is allowed to share views with all roles and/or all users, the retrieval of the role and/or user names is initiated at startup on a background thread*. Depending on the authentication provider and the number of roles and/or users, the gathering of the names may not have completed by the time the user attempts to share a view. When this occurs, the user is informed.

image

Once the retrieval is complete, the role and/or user names are saved to the session cache, so the retrieval occurs only once during a session.

* A background thread is used 1) to ensure that the amount of time required to start up the application will not be impacted by the retrieval of role and/or user names, and 2) to lessen the potential of a delay when the user attempts to share a view for the first time during a session.

Excel View (and Essbase Excel View) Template Designer — Move/Copy Sheet

image

Metadata Editor Enhancements

image
image

Similarly, for a SQLView and an ExcelEssbaseView, you can navigate to the SQLPassthroughDataSet Editor for any SQLPassthroughDataSet that is assigned to a SQLPassthoughDataSetRange by right clicking the *DataSetRanges* property label, then selecting the SQLPassthroughDataSet of interest from the context menu. (#1254)

image

*Helpful Hint*

The ability to navigate from the active metadata instance in one metadata editor directly to an associated metadata instance in another metadata editor was introduced in Build 1110 (July 2008.) If you are not familiar with this capability, it is worth knowing about.

So, for example, in the View Metadata Editor, if an Excel Essbase View is selected, clicking the WorkbookScriptID property label with the left mouse button (to activate the item) and then clicking the right mouse button displays a context menu. If the WorkbookScriptID is set to the ID of a workbook script, such as MyWorkbookScript, the context menu contains an "Edit MyWorkbookScript" item. Clicking the item opens the Workbook Scripts Metadata Editor (or activates the editor if already open) and the MyWorkbookScript instance is automatically selected. If the ID is not assigned a value, the context menu displays "Open Workbook Scripts", which also opens or activates the Workbook Script Metadata Editor, but without automatically selecting an instance.

Metadata Property Search Utility

PDF Views

Relational (SQL) Views

Note

In the original implementation of the relational functionality, entire rows were added/inserted/deleted only when the data table range was configured to sort and/or group the data table range rows; otherwise; cells were added/inserted/deleted within the data table sheet range. The ability to add/insert and delete data table rows was disallowed when an auto-filter was active within the data table sheet range, since Excel does not allow cell operations to be performed on the cells within a filtered range.

This resulted in an inconsistency between the behavior in Excel and Dodeca. In Excel, cells can be added/inserted/deleted when the sheet contains an auto-filter range, but not when a filter is active. And, in Excel, entire rows can be added/inserted/deleted when a filter is active.

Resolution: The implementation was changed to perform the data table range row operations on entire rows and not the cells with the data table sheet range. (#1250)

SQLPassthroughDataSet Error Message

Since a SQLPassthroughDataSet can contain multiple queries, additional information has been added to the reported error message when an error occurs during a retrieval operation. This information includes the following: SQLPassthroughDataSetID, DataTableName, SQL Error Code, and SQL State Code. (#1244)

image

View Selector Tree — Find View / Category

The new Find feature supports the ability to search within the view selector tree for views and/or categories based on a whole or partial match of a specified string with a view or category name. A case-sensitive or insensitive search can be performed. The Find dialog is accessed either by right clicking the mouse in the view selector, then selecting the Find option from the context menu, or by using the shortcut keys Ctrl+F.

The availability of the Find feature is controlled by the ViewSelectorTree’s AllowFind property, which is set to True by default.

The Find dialog is modeless, which allows the user to interact with the application while the dialog is open. For instance, a found view can be opened without having to close the Find dialog first. (#1256)

image

IMPORTANT: When an application uses the Office2010Style_Blue style library, the background of the view selector tree is pale blue. The style library also defines the appearance of the selected node as pale blue, which prevents a node (that represents a view or category that matches the criteria) from being highlighted.

To address this issue, the style library should be updated to the version contained by the metadata starter kit installed with the Dodeca Framework. From an Admin application, open the "Import Metadata From Local Zip File" utility, and navigate to the C:\Program Files (x86)\Applied OLAP\Dodeca Framework 6.7.0.xxxx\metadata\metadata_starter_kit.zip and import the Office2010Style_Blue style library binary artifact.

image

View Status Bar

Workbook Scripting — Event Links, Functions, Methods

_Item has already been added. Key in dictionary: 'CurMonth' Key being added 'CurMonth'. _

Resolution: The service now returns the value of the substitution variable that is defined at the lowest level scope. (#1246)

Resolution: The substitution variable value defined for the specified scope is returned. If no scope is specified, the "Any" scope is applied, which has the effect of returning the most specific (i.e. lowest level scoped) definition. (#1245)

Dodeca Framework