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 2017 (8.0.67.102), NetAdvantage 2011, Volume 1 (11.1.20111.2042), Aspose.Cells 17.1.0.0, Syncfusion Essential Studio 13.4.0.63, and GdPicture.NET 11.0.6.
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, 1.8, 1.9, and 1.10.
The release notes for this version contain the following sections:
Ctrl+A
keyboard shortcut can now be used to select all listed cache items, and
the Delete
key can be used to delete all selected items. #1972The ability to change the styling of a Dodeca application has long been supported through the various application Appearance settings, including the ApplicationStyle and StyleLibraryBinaryArtifact properties. The ApplicationStyle can be set to one of several built-in style options. The StyleLibaryBinaryArtifact can be used in lieu of the ApplicationStyle property, and provides a more customized approach to controlling the appearance.
In version 6.0.0.3106, a style library was included with and used by the ADMIN and USER applications in the metadata STARTER_KIT, which is installed with the Dodeca Framework. It emulates the Color Scheme of Blue supported by Office 2010. By way of the starter kit, this style library has become the default styling used by customers, and is consequently the styling most commonly associated with a Dodeca application:
For the 7.5.0 version, a new style library has been created to provide a more updated look. It emulates the Office Theme of White supported by Office 2013 and Office 2016:
The new Dodeca style uses a primary accent color, which is the teal from the Dodeca logo, along with two tints of the same color. This approach is consistent with the Office applications. The tints are primarily used for hot tracking and highlighting.
To use the new style library in an existing application, the following steps are required:
Import the DodecaTeal_OfficeWhite_Style style library from the starter kit metadata into an existing tenant.
C:\Program Files\Applied OLAP\Dodeca Framework 8.1.4.35\metadata
.Configure an application to use the imported style library:
How to customize the style library by changing the primary accent color
The DodecaTeal_OfficeWhite_Style style library can be used as the template for creating another style library with a different primary accent color and associated tints. The color can be taken from a company’s logo to create a more branded or customized look.
The steps necessary for achieving this effect will be demonstrated by way of an example: The rusty red from the Dodeca logo will be used as the primary accent color for a new style library. Starting with the RGB value for your primary accent color, calculate the associated tints.
One tool for calculating the tints can be found online at http://www.brandwares.com/RGBTintCalculator.php.
The RGB values for the rusty red:
Next, the following steps are performed to create the new style library.
Extract the .isl (Infragistics Style Library) native XML from the DodecaTeal_OfficeWhite_Style style library binary artifact.
Modify the RBG values of the primary accent color and tints in the ISL xml file.
The file associates the RGB values for the teal (and tints) with various user-interface controls. These occurrences will be replaced with the corresponding color and tints for the new style library. For this example, we will replace the teal/tints with the rusty red/tints:
Replace 230, 241, 244 with 247, 236, 232 (or the 10% tint of your color)
Create a new style library.
Configure an application to use the new style library.
If the selected application is the current application, exit the application and restart to see the effect of the new style library.
{ BEFORE
, { CALCULATE
, could freeze the editor when generating code
completion hints, due to invalid syntax definitions. The issue has been
addressed, both by correcting the syntax definitions and by handling
invalid syntax definitions gracefully. #1948Enhancement: Introduce support for context-sensitive completion hints when editing Calc Scripts. #1976
In version 7.3.0.6125, released October 3, 2017, the Essbase Scripts Metadata Editor was introduced to support the creation, development, and testing of Essbase Scripts stored as metadata objects. The Essbase Server Scripts Editor takes this functionality and extends it to
the Essbase Server, allowing Essbase administrators and developers with sufficient permissions to create, develop, and test Essbase scripts and queries stored directly on the Essbase server. #1955
See also: Essbase Scripts Metadata Editor.
Enhancement: When exporting metadata to a local zip file, add a hyperlink to the task pane to support opening Windows Explorer and highlighting the exported file. #1965
The JNDI data source is case-sensitive, so when specifying a data source for an Essbase connection, the case should match the intended data source configuration on the server.
The Metadata Dependency Explorer provides an interface for viewing interdependencies between the various metadata instances. The interdependencies can be thought of in terms of a hierarchy, which represents the relationships between the instances. For example, a given view may depend on a selector, which may depend on the selector’s default selector list, which may depend on an Essbase script.
A dependency relationship between two given metadata instances can be characterized as Instance A depends on Instance B and in turn, Instance B is depended on by Instance A. The utility supports exploring both types of dependencies. So, for example, you may want to find all the metadata instances that a given view depends on directly or indirectly, and then find all other views that also depend on or share the same toolbars configuration.
The utility also supports the following:
How to Access the Metadata Dependency Explorer
The Metadata Dependency Explorer can be accessed from the Admin menu, from the various Metadata Editors, and from the context menu within the Explorer dialog for a given metadata instance contained in the dependency results.
From the Admin menu:
From a Metadata Editor:
From the Metadata Dependency Explorer:
Using the Metadata Dependency Explorer
Multiple instances of the Metadata Dependency Explorer dialog can be open and interacted with simultaneously, and the application may be interacted with while the Explorer dialogs are open. The search for dependencies is performed on the server, and the request from the client is processed in the background, which allows you to continue to interact with the application while the client is waiting for the dependency search results.
When the Metadata Dependency Explorer is accessed from the Admin menu, you must select the metadata type of interest and also verify that the Dependency Type is set as desired. By default, the dependency search will look for metadata that the selected metadata instance depends on.
The ability to search the list of metadata instances is supported for all metadata types. When appropriate for the selected metadata type, the "Filter By" control allows for selecting the metadata instance type. This is similar to the various metadata editors. In the screenshot below, only ExcelEssbase view instances whose name contains the string income are displayed in the list.
When a metadata instance from the list is then selected, the dependency search is automatically performed.
You may cancel a search by clicking the Cancel button when the dialog is inactive and waiting. In this screenshot, all metadata that directly depends on the Market_Tree selector list is being searched.
The screenshot below shows the results of the search for the metadata that the Income Statement (from the Sample application) depends on.
You may use the Metadata Type Filters to control which of metadata types represented in the results are actually displayed. For example, in the screenshot above, all of the metadata types represented in the metadata depended on by the Income Statement are displayed. In the screenshot below, only the selector lists are displayed.
Clicking on the ID of any instance in the results opens the appropriate metadata editor and navigates to the metadata instance’s properties.
The check boxes in the left column of the results can be used to select which instances to export or delete. When one or more instances are checked, the Delete and Export utility buttons are enabled.
In the screenshot below, all of the metadata instances, except for the toolbars configurations, have been checked.
Clicking on the Export button displays the Export Metadata to Local Zip File dialog.
As indicated above, the Metadata Dependency Explorer can be accessed from a metadata editor or from the context menu within the Metadata Dependency Explorer for a given metadata instance contained in the dependency search results, as shown below.
Using this example, clicking Show Metadata Dependent On 'Scenario_Combo' opens a new Metadata Dependency Explorer window, which displays only the Scenario_Combo in the list of metadata instances. You have the option to display all selector list instances by clicking "Show All Selector Lists".
The Options ribbon group contain the Show Overridden Default Selector Lists and the Export Custom Tool Controllers Module options.
The Show Overridden Default Selector Lists option is applied to the dependency search results when the selected metadata type is View. It is used to control whether a given selector’s default selector list is included in the results when the selected view overrides the default. The default can be overridden in the view’s SelectorConfiguration.
The Export Custom Tool Controllers Module option is used to allow the Custom Tool Controllers module to be exported along with the selected metadata instances in the dependency search results.
In addition, the DataTableName property value may be selected from a dropdown list of all the DataTable values defined for the queries in the SQLPassthroughDataSet associated with the DataTable Range. #1557, #1524
The Workbook Script Editor has undergone several enhancements to optimize the creation and editing of workbook scripts, such as allowing the workbook script developer more control over the layout of the various components to provide better utilization of the editor real estate.
New toolbar tools, which include several state buttons (or toggles) to control the following:
Support for keyboard navigation.
In this screenshot, the method arguments are displayed on the side, and the comments and descriptions are not displayed in the Procedures grid.
In this screenshot, the Procedures grid is maximized, method arguments are displayed on the side, and descriptions and comments are displayed.
New Workbook Script Editor Toolbar Buttons
Auto-Adjust Column Width (All Grids)
![]() | (Ctl-J) | Automatically sets the column width of the active column based on the contents of the column. |
Auto-Expand/Collapse Methods/Procedures Toggle (Procedures Grid)
![]() | (Ctl-Alt-X) | When selected, the methods of the active procedure are automatically expanded and all other procedures are collapsed. |
Hide/Show Comments Toggle (Procedures Grid)
![]() | (Ctl-Alt-C) | When selected, all comment and description columns are hidden. |
Display Arguments On Side Toggle (Procedures Grid)
![]() | (Ctl-Alt-A) | When selected, arguments are listed in a separate grid on the right. |
Maximize Procedures Grid Toggle (Procedures Grid)
![]() | (Ctl-Alt-M) | When selected, the script selector is unpinned, the Definition, Properties, and Event Links grids are hidden, the Help pane is hidden, and the procedures grid is maximized. |
Select the Script to Use When Listing Procedures for Arguments (Procedures Grid)
![]() | This dropdown can be used to select which script is used when listing values for arguments that take a procedure name as the value. The selected script is the default, but any script can be selected. |
The motivation for this tool was to avoid the potentially significant delay when the dropdown list is used to select a Procedure argument value. Previously, since a local procedure (from the current workbook script) or an external procedure (from another workbook script) can be specified, the population of the dropdown list required that all procedures across all workbook scripts be scanned. With the introduction of this tool, the procedures presented in the dropdown list can be sourced from a single workbook script, thus eliminating the overhead.
Hide/Show Help Pane (All Grids)
![]() | (Ctl-H) | Toggles the display of the help pane. |
Button Size Toggle (All Grids)
![]() | (Ctl-Alt-B) | Toggles the size of toolbar buttons between large and small. |
New Workbook Script Editor Keyboard Navigation Hotkeys
Ctl-U
: Uppercase Text
Uppercase the selected text. If no text is selected then the character following the cursor is uppercased.
Ctl-Shift-U
: Lowercase Text
Lowercase the selected text. If no text is selected then the character following the cursor is lowercased.
Left Arrow (Enhanced)
: Move to Previous Character/Cell
If the active cell is not in edit mode, the focus will move to the previous cell.
If the active cell is in edit mode and the cursor is in the first position of the text, then the cursor will move to the previous cell.
If the active cell is in edit mode and the cursor is not in the first position of the text, then the cursor will move one character to the left.
Right Arrow (Enhanced)
: Move to Next Character/Cell
If the active cell is not in edit mode, the focus will move to the next cell.
If the active cell is in edit mode and the cursor is at the end of the text, then the cursor will move to the next cell.
If the active cell is in edit mode and the cursor is not at the end of the text, then the cursor will move one character to the right.
Ctl-Shift-Home
: Select Rows Above
Selects active row and all previous sibling rows.
Ctl-Shift-End
: Select Rows Down
Selects active row and all subsequent sibling rows.
Ctl-A
: Select All
Selects active row and all sibling rows.
F6
: Move to Next Grid
Moves the focus to the next visible grid (Definition, Properties, Event Links, Procedures, and Arguments).
Shift-F6
:Move to Previous Grid
Moves the focus to the previous visible grid (Definition, Properties, Event Links, Procedures, and Arguments).
Ctl-Shift-Down Arrow
: Expand Rows
Expands the children, if any, of the selected row(s).
Ctl-Shift-Up Arrow
: Collapse Rows
Collapses the children, if any, of the selected row(s).
Home (Enhanced)
: Move to Beginning
If the active cell is not in edit mode, the focus will move to the first cell in the active row.
If the active cell is in edit mode and the cursor is in the first position of the text, then the cursor will move to the first cell in the active row.
If the active cell is in edit mode and the cursor is not in the first position of the text, then the cursor will move to the beginning of the text in the active cell.
Ctl-Home
: Move to First Row
Move the focus to the first row of the active grid.
End (Enhanced)
: Move to End
If the active cell is not in edit mode, the focus will move to the last cell in the active row.
If the active cell is in edit mode and the cursor is at the end of the text, then the cursor will move to the last cell in the active row.
If the active cell is in edit mode and the cursor is not at the end of the text, then the cursor will move to the end of the text in the active cell.
New Function – The ResolveAliasTable function can be used to ensure that an existing alias table is used within the context of a workbook script method. The function returns the specified alias table if the table exists for the connection. If the alias table does not exist, the alias table associated with the view is returned, which will be either a non-default alias table or the Default alias table. #1926
Function Usage:
@ResolveAliasTable(<AliasTableName>, [<ConnectionID>], [<PreferViewDefault>])
New Function – The AliasTableExists function is used to determine whether the specified alias table exists for a connection. #1926
Function Usage:
@AliasTableExists(<AliasTable>, [<ConnectionID>])
New Function – The DimensionUDA function returns a semicolon delimited list of UDA’s for the specified dimension. The returned UDAs may optionally be filtered based on a specified wildcard string. #1924
Function Usage:
@DimUDAs(<DimensionName>, [<ConnectionID>], [<DefaultValue>], [<Matching>])