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.4.7.104), NetAdvantage 2011, Volume 1 (11.1.20111.2042), Aspose.Cells 17.1.0.0, Syncfusion Essential Studio 11.3035.0.30, 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, although extensive testing has not been performed on that Java version.
This release was preceded by the following 7.2 pre-releases:
The release notes represent 7.2.0.5810 and all the pre-releases, and contain the following sections:
Default Admin Toolbars: A new Workbook Script Reference Guide tool has been added to the Help menu of the Default Admin Toolbars to ensure that report developers and administrators can access the provided documentation quickly and easily. #1726 [7.2.0.5782]
See also: [#Documentation_7_2_0]
The default splash screen has changed.
The ability to control whether only a single instance of a view can be opened by the user from the view selector is now supported. When a view’s AllowOnlySingleInstanceFromViewSelector property is True, only a single instance is allowed. When the user attempts to open another instance of the view from the view selector, the existing view' instance is activated. #1576 [7.2.0.5782]
Caveat: The AllowOnlySingleInstanceFromViewSelector property is not applicable for saved or shared views.
Fixed Issue: When an Authentication Service is assigned to an application and IntegrateDodecaRoles is true, two UserAccessValidation requests are sent to the Dodeca metadata service. #1713 [7.2.0.5782]
Resolution: This issue has been resolved with the introduction of a NativeRolesForUserService, which returns the native roles for a user without doubling the login count.
Fixed Issue: Previously, for a ClickOnce deployment, the username was cached at startup when provided as a query string parameter. The issue occurs when the username is no longer specified as a parameter, and the cached username is used instead of the current system user, which potentially results in the application running with the wrong or invalid user. #1710 [7.2.0.5782]
See also: AllowUserArgument
Enhancement: The Dodeca Workbook Script Reference Guide has been redesigned to enhance its usefulness and make finding the required information easier than ever for report developers and administrators. Previously, the Workbook Script Reference Guide was made available via the Dodeca Framework installation and via the Applied OLAP website, but gaining access to the documentation sometimes presented challenges for report developers. In addition to making the documentation easier to use, the Workbook Reference Guide is now deployed as part of the Dodeca server, and a link has been added to the Help menu provided by the Default Admin Toolbars. #1726 [7.2.0.5782]
For an adhoc view with ExcelAddInMode enabled, non-numeric text, which appears to the right of a cell (or cells) that contain a numeric value, the non-numeric text is not retained when a retrieve operation is performed. For example, "abcdefg" in I3 is not retained unless a retrieve range, which includes the cell, is selected before the retrieve is performed.
To be consistent with the Classic Essbase Add-In behavior, the non-numeric text is now retained without the need to select a retrieve range. It is treated by Essbase as an unknown member, and will be reported as an unknown member on the client when the display of unknown members is enabled. #1684 [7.2.0.5691]
To get a better understanding, let’s take a look at how the member layout determines the way unknown members are handled by Essbase. This simple layout contains a single dimension in row orientation with two unknown members.
When the data is retrieved, no values are returned for the rows containing Bad Product #1 and Bad Product #2. And, when the display of unknown members is enabled, each unknown member is presented along with address of the cell that contains the unknown member.
The layout becomes more complex when there are multiple dimensions in row orientation.
In this example, Market, Product, and Measures are in row orientation. The spreadsheet contains three unknown members for the Product dimension.
When the data is retrieved, Essbase automatically fills in the last valid member detected for the dimension, which is Colas in B3. The unknown members are reported, but without any corresponding cell location.
Fixed Issue in which multiple occurrences of a shared member are automatically (and inappropriately) selected in the tree. The following are a couple of examples of when this issue is encountered.
These issues only apply to the tree when multiple selections are allowed.
Addressed Vulnerability: This release includes server-side changes to address the potential for XML External Entity (XXE) vulnerability in server XML parsing. #1472 [7.2.0.5782]
SOAP messages parsed by the Dodeca servers were not configured to prevent external entities from being processed as identified by a customer’s security analysts. To resolve this issue, the following settings were recommended be updated in the Dodeca and the Dodeca-Essbase servlet XML parsers:
For Java Xerces Version 2, set the following features to False:
http://xerces.apache.org/xerces2j/features.html#externalgeneralentities
http://xerces.apache.org/xerces2j/features.html#externalparameterentities
http://xerces.apache.org/xercesj/features.html#loadexternaldtd
And the following to True:
http://xerces.apache.org/xerces2j/features.html#disallowdoctypedecl
As per the recommendations, the following code was added:
The Dodeca client components communicate with the Dodeca servers using xml transmitted over the http or the https protocol. To prevent the possibility for arbitrary request execution or the xml packets being intercepted and modified to gain unauthorized access to data, this functionality computes and transmits a keyed-hash message authentication code along with the request. The server, in turn, computes an authentication code based on the submission and compares it to the hash submitted with the request. If a difference is found, the request is rejected.
The new functionality is implemented as a servlet filter and is disabled by default. To enable the request validation, locate the following lines in the web.xml file and remove the comment blocks that surround them:
Note that if the dodeca-request-validator filter is used, it should be mapped after the dodeca-gzip-filter, but before any other filter.
Enhancement: A ToolTipItemDetailsColumns property was added to the SQLPassthroughDataSetHierarchy Selector List. This property corresponds to the "Details" ItemToolTipContentOptions of the SQLSelectorTreeView, and it allows any number of custom ToolTipItemDetailColumns to be shown via the Selector Control’s item tooltip. #1733 [7.2.0.5782]
Tootip item detail columns are mapped via the ToolTipItemDetailColumns property of the SQLPassthroughDataSetHierarchy.
Then, the ItemToolTipContentOptions are set to include "Details" to display custom tooltip item Detail columns.
As a result, any custom mapped columns are displayed in the Item Tips for the SQLSelectorItems in the tree.
The password is currently only supported for XLS files that are saved from Excel 2010. [7.2.0.5810]
New Function – The Contains function returns whether a string contains a substring. If the optional IgnoreCase parameter is provided, the case of the substring will not be checked. [7.2.0.5782]
Function Usage:
@Contains(<Substring>, <WithinString>, [<IgnoreCase>])
New Function – The FileExists function returns whether the specified file exists. If the optional SpecialFolder parameter is provided, the FileName argument will be appended to the resolved special folder. Valid SpecialFolder parameter values are: desktop, documents, appdata, favorites, and personal. #1680 [7.2.0.5782]
Function Usage:
@FileExists(<FileName>, [<SpecialFolder>])
New Function – The IsProtectedSheet function returns whether the specified sheet is protected. If the optional SheetNameOrIndex parameter is not provided, the active sheet will be checked. #1723 [7.2.0.5782]
Function Usage:
@IsProtectedSheet([<SheetNameOrIndex>])
CallWebService Method, RESTRequest Overload – Added FollowRedirects, RequestHeaders, ResponseCodePropertyName, and ResponseHeadersPropertyName arguments. [7.2.0.5782]
FollowRedirects gives control over whether the web request should follow server-side redirects.
RequestHeaders allows any custom headers required by a service to be set.
ResponseCodePropertyName allows the response status code returned by the web service to be captured in a property.
ResponseHeadersPropertyName allows the headers returned by the web service to be captured in a property.
Fixed Issue: Method [EssbaseMdxQuery Method, GridData Overload] – When dimension properties are included in the MDX, the left columns are not property buffered when data is returned, which results in the overwriting of row labels with data. #1533 [7.2.0.5782]
This screenshot illustrates the issue.
Resolution: When dimension members are included on the row and the column axes, then the members, dimension properties, and data are property aligned. Also added support for dimension properties on the row, column, and page axes.
Workbook Script Editor