Dodeca Version 8.2.2

February 15, 2023 - Build 56

This version of the Dodeca uses the .NET Framework, version 4.7.2 and higher on the desktop. The components used in this version of Dodeca are SpreadsheetGear 2017 (, NetAdvantage 2021, Volume 2 (21.2.46), Aspose.Cells 22.5.0, Syncfusion Essential Studio, GdPicture.NET, Microsoft WebView2 1.0.1518.46, and Xceed Zip 3.6.7363.15420.

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.8. The Dodeca-Essbase service for all Essbase versions prior to, and including, Essbase are supported and tested on Java 1.5. The Dodeca-Essbase service for all Essbase versions and higher is 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:

Application Culture

  • Fixed Issue: When the application CulturePolicy is set to UseSpecifiedCulture and the system’s culture settings match the specified culture, any user customizations to the culture format are used by the application the first time it launches. #3372

Authentication Services - SSO Authentication Service

  • A new authentication service is provided in this release to complement applications configured to use upstream authentication providers for single sign-on. The SingleSignOnAuthenticationService provides a straightforward way to map, for example, SAML attributes, to Dodeca roles that can be leveraged for role-based access control or utilized within workbook scripts. #3380


  • Fixed Issue: When an auto-complete dropdown list is displayed for a cell and the user clicks the Build button, the following error occurs: Unable to build the view. EssbaseSpreadsheetGear.ClearGridControl failed. Object reference not set to an instance of an object.

    For an auto-complete range that is configured with the ShowDropDownButton property set to True, when the dropdown list is displayed for a cell and the user clicks the Build button, the dropdown list disappears, but the user must click the Build button again for the view to build. #3376


  • Fixed Issue: When a comment range is defined to use the @SubstVar() workbook script function, or any function that requires a server request to resolve, in the AllowAdd, AllowDelete, or AllowUpdate property value, a noticeable delay occurs with each keystroke when a comment is entered in the Comments Editor. #3288

  • Fixed Issue: In the Comments Editor, when added or deleted comments are saved, the Save button remains enabled. And, although the changes were actually persisted to the database, when the user attempts to close the view, the Unsaved Comment Changes message box is displayed. #3288

Developer Reference Tool

  • Fixed Issue: When a user without the WebView2 Runtime attempts to access the Dodeca Developer Reference documentation via the Dodeca Developer Reference tool on the Help menu of the default admin toolbars, the following error occurs: Couldn’t find a compatible Webview2 Runtime installation to host WebViews. This issue was introduced in #3386

Relational Views

  • Performance Improvement: When a DataSetRange contains a DataTableRange that is configured with one or more levels of grouping and the data retrieved by the view at runtime results in thousands of groups, the amount of time to build the view in 8.2.2 will be noticeably faster than in previous versions.

    As an example, the Sales Order Details (Group by: Product, SubGroup by: Sales Person) view in the SAMPLE tenant application, which uses the Adventure Works database, contains 3590 groups and 72,193 rows when all the products are selected. In previous releases, the view takes approximately 12 seconds to build, and in 8.2.2, is reduced to around 3 to 4 seconds. #3366

SQLPassthroughDataSets and Query Execution

  • Fixed Issue: Slow and/or hanging SQLPassthroughDataSet execution when numerous users are running queries simultaneously. This issue was inadvertently introduced in version 8.1.0 when the SQLPassthroughDataSet server functionality was refactored to introduce new server-side asynchronous handling. The change caused most queries submitted to the server to be executed sequentially on a single thread. Long-running queries caused a bottleneck, which resulted in slow or hanging queries. #3385

  • dodeca.sql.threads Configuration Setting: A new server setting has been added to the file. The dodeca.sql.threads setting controls the number of concurrent SQL query threads allowed to be executed. By default, the value is 8. Note that prior to version 8.1, the number of threads available for concurrent SQL queries was unbounded. #3385

  • Fixed Issue: When a database error occurs during the execution of an Insert, Delete, or Update statement as the result, for instance, of a typo in the statement, the error message is "no details". In 8.2.2, a more descriptive and relevant error message is presented on the client. #3373

Workbook Scripting

  • New Event Links: The BeforeEmailSend and AfterEmailSend event links allow for a workbook script to perform processing before and after an email is sent by the Send To Mail Recipient (as Excel Attachment) and Send To Mail Recipient (as Excel Attachment) tools, and the SendEmail workbook script method. The event properties include: ToAddress, CcAddress, BccAddress, FromAddress, Subject, MessageBody, Attachments, and Source. The BeforeEmailSend also allows for a workbook script to cancel sending the email. #3304

  • New Method Argument: The argument, AttachedViewFilename, has been added to the SendEmail method. If specified, the value represents the name to give to the attached view file. If omitted. the attached view file name will be based on the view’s name. #3298

  • Fixed Issue with EssbaseKeepOnly, EssbaseRemoveOnly, and EssbasePivot methods: When using the SelectedRange or FromCell argument with an asynchronous Essbase view, the following error occurs: SpreadsheetGear.IWorkbookSet.GetLock must be called to acquire a lock on the workbook set. #3367

  • Fixed Issue with @MbrHasUDA function: After the SetUDA method is used to add or remove a UDA, the @MbrHasUDA function may return an incorrect result by indicating that a removed UDA exists or that an added UDA does not exist.

    Similarly, when an EssbaseSelectorTreeView is configured with ShowMemberItemToolTip set to True and the MemberToolTipContentOptions setting includes the UDAs option, the member tooltip may not reflect the changes to the UDA’s made by the SetUDA method. #3370