Dodeca Version 8.10.0

September 2, 2026


Dodeca Framework

This version of the Dodeca Framework uses the .NET Framework, version 4.7.2 and higher on the desktop. The components used in this version of Dodeca are SpreadsheetGear 2023 (9.3.23.102), NetAdvantage 2021, Volume 2 (21.2.46), Aspose.Cells 24.10.0, Aspose.Slides 24.10.0, Syncfusion Essential Studio 34.1.31, GdPicture.NET 14.1.0.121, 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 17, 21, and 25. The minimum supported versions of popular Java Application Servers are:

  • Apache Tomcat 10.1.x

  • Oracle WebLogic 14.1.2

  • IBM WebSphere Liberty

The release notes for this version contain the following items:

Application Metadata Editor

  • Fixed Issue: Saving an application in the metadata editor replaced the application’s stored EncodedApplicationImage, such as a high-resolution brand image, with a 16x16 image derived from the application icon; the stored image was also never used at runtime when an icon was present. An explicitly configured application image is now preserved across saves and takes precedence over the icon-derived image, which is used only when no image is configured. #4642

Authentication Services

  • Enhancement: Added support for returning a user’s Essbase group membership on Essbase 19c and higher using the Essbase REST API. The Essbase authentication services can now retrieve the connected user’s groups over REST, including on OAuth-secured connections such as Essbase 21c on OCI, where group retrieval previously required the Essbase Java API. #3259

Components

  • Enhancement: Added a Settings component, hosting an admin-only Logging tab from which client session logging and request/response logging can be enabled, the log buffer size adjusted, and the current session’s log output viewed, exported, or cleared. The component can be presented from a toolbar with the new ShowSettings tool, and the general-purpose ShowComponent tool can present any configured component type from a toolbar. #3247

Connection Selection

  • Enhancement: Added a ConnectionSelector view component and a Connection selector type for selecting among the connections defined in the metadata repository, optionally filtered by category, type, kind, and connection ID, with each presentable as a combo box, a list box, or a type-grouped tree. A selected connection is assigned to the hosting view as its active connection, and the selector’s token can supply the selected connection’s ID, name, or description to the view. #4478

  • Enhancement: An Essbase view’s active connection can now be assigned by any configured surface — the ConnectionSelector component, a Connection selector, the Sign On and Set Active Essbase Connection tool, or a workbook script setting the EssbaseConnectionID property — and the surfaces that track the active connection update to reflect an assignment made by another. A configured EssbaseConnectionID serves as the view’s initial connection. #4478

  • Enhancement: On adhoc views, whose operations resolve their connection from the active worksheet, the active connection now follows the activated worksheet, so connection-tracking surfaces show the connection of the worksheet being viewed. #4478

Dodeca Server

  • Enhancement: The Admin web interface now includes a Users page for managing the records in the repository’s USERS table. Administrators can search, create, edit, enable or disable, and delete user records, assign roles, and delete the records matching a search, without working in the repository database directly. #4302

  • Fixed Issue: The Dodeca service failed to start when deployed to IBM WebSphere Liberty, with a BeanCreationException reporting that the tomcatFactory bean could not be instantiated, because the service configuration referenced embedded Tomcat classes that application servers providing their own web container do not include. The embedded Tomcat configuration is now applied only when the service is actually running on embedded Tomcat, allowing the service to deploy on WebSphere Liberty. #4343

  • Fixed Issue: With SAML authentication configured, launching an application failed with the error NoClassDefFoundError: javax/servlet/http/HttpServletResponse when the Dodeca service was deployed on WebLogic 15c, because the previous SAML integration depended on the legacy javax.servlet namespace, which WebLogic 15c no longer provides. The SAML integration has been rebuilt on Spring Security and the Jakarta Servlet namespace, and SAML authentication now works on WebLogic 15c. #4520

  • Fixed Issue: On some application servers, requesting the service’s bare context root, such as https://server:8803/dodeca, failed with a 500 error and a no explicit mapping for /error message instead of redirecting to the metadata service, which also prevented SSO flows that depend on that redirect. The context root now redirects explicitly for requests both with and without a trailing slash. #4576

  • Fixed Issue: Configuring the Dodeca repository data source as a container-managed JNDI data source with the hibernate.connection.datasource property failed at service startup. The repository data source named by the property is now looked up in JNDI and used directly, and configuring both hibernate.connection.datasource and hibernate.connection.url at the same time is reported as an error. #4577

Dodeca Shell

  • Enhancement: Added the evaluate-artifact-property and update-artifact-property commands, which find and update a property value across many metadata artifacts in one operation using a literal, XPath, or regular expression match. Updates preview their changes unless --apply is specified, and the --expect-artifact-count and --expect-match-count options allow a script to fail safely when the repository does not match expectations. These commands replace the modify-artifact, modify-category, eval-x-path, and artifact-property-search commands. #4015

  • Enhancement: The delete-data-audit-log-records command now accepts a --members option that limits deletion to entries whose data points include all of the given members, such as a Scenario, Version, or Year member, and can be combined with the existing --days option. #4038

  • Fixed Issue: Pressing the Tab key in Dodeca Shell no longer autocompleted command names. The terminal integration has been corrected and Tab completion works again. #4133

Drillbridge Connector

  • Enhancement: Enabling client request/response logging previously produced no artifacts for Drillbridge Connector views, because their requests are issued through the embedded browser rather than an HTTP client. The drill request, its response, and the downloaded report — including the report captured after an interactive login — can now be written to the request/response logging path. #3904

Essbase Outline Viewer

  • Fixed Issue: In an Outline Viewer view of an EPM Cloud connection, attribute dimensions were displayed as standard dimensions, because the outline XML produced by the EPM Cloud connector does not include the attribute data type by which the viewer recognized them. Attribute dimensions and their members are now recognized from the dimension type and storage category in the outline XML, and an attribute dimension whose data type is not available is labeled Attribute. #3983

Essbase Views

  • Fixed Issue: With ParallelExecution set to True, on a sheet containing more retrieve or send ranges than the maximum degree of parallelism (32 times the number of logical processors), the ranges beyond that limit were not retrieved or sent, and one range was processed repeatedly in their place. All ranges on the sheet are now processed. #4600

External Credentials

  • Enhancement: Essbase and SQL connections can now retrieve their credentials at runtime from an external credential provider rather than storing them in the connection metadata. Providers are configured as CredentialSource connections, supporting HashiCorp Vault, including AppRole authentication, and the CyberArk Central Credential Provider, and can be created and tested with new Dodeca Shell commands. #4413

Look and Feel

  • Enhancement: The Dodeca look and feel has been refreshed to follow the current Dodeca brand guidelines. The Metadata Starter Kit now provides a single Dodeca Desktop application featuring the new DodecaBlue style library and the updated Dodeca brand imagery, and the Dodeca server’s web administration console has been restyled to match. #4414, #4604

macOS

  • Enhancement: The macOS Dodeca package now includes the Microsoft Edge WebView2 runtime, adding support for browser-based authentication, including SAML single sign-on and OAuth, to the macOS Smart Client. #4488

Metadata Dependency Explorer

  • Enhancement: A view’s Depends On results now include the connections referenced by the view’s component configurations, including their tool-source connections, and view types that previously had no dependency scanner now report the toolbars configurations and selectors they reference. #4164

  • Fixed Issue: Committing per-view tool tokens in the Tool Configuration form saved the affected views with a generic artifact type, which caused the Metadata Dependency Explorer to return no Depends On results for those views. The form now saves views with their actual view type, and committing tokens for a previously affected view repairs its type. #3688

  • Fixed Issue: The Metadata Dependency Explorer returned no Depends On results for a view whose artifact type had previously been saved as the generic View type. The dependency analyzer now determines the scanner for such views from the view type recorded in the view XML. #3688

  • Fixed Issue: Clicking Depended On By for a SQL connection in the Connections metadata editor did nothing, because the Metadata Dependency Explorer looked up the connection under the general connection type rather than the SQL connection type. SQL connections now identify themselves to the explorer as SQL connections, and the query runs as it does from the SQL Connections metadata editor. #4299

  • Fixed Issue: For a composite view, Depends On returned no dependencies, because no dependency scanner was registered for the composite view type. A composite view now reports its source views along with the dependencies reported for other view types. #4483

SharePoint Connector

  • Enhancement: A SharePoint connection test can now be focused on a document library name or path, using the same resolver as SharePointOperations, so the test verifies that the configured connection can read the library rather than only open the site. A successful read reports the resolved server-relative URL and item count, plus the library description when resolution used its display title. An optional local test file can also be uploaded through the real document operation to prove write access. A failed focused test begins with an actionable conclusion and then reports the supplied value, server-reported site URL, exact requested URL, resolution and permission evidence, and SharePoint’s exception message when one is available. Read failures report only read-relevant permission evidence; add-items access is reported only after an actual upload fails. #4549

  • Enhancement: Enabling client request/response logging previously produced no artifacts for the SharePoint Connector, because its requests are issued through the CSOM client libraries rather than an HTTP client. The requests and responses exchanged with SharePoint — including those issued by document uploads and downloads — can now be written to the request/response logging path, using the same toggle and folder as the other connectors. Credentials are excluded from the logs, large request bodies are truncated, the content of an uploaded document is replaced with a record of its size, and a response whose content is not textual is recorded by size rather than written to the folder. The method and URL of each SharePoint request are recorded in the Smart Client log whether or not request/response logging is enabled. #4548

  • Enhancement: When a SharePointOperations workbook script method could not find a document library, list, or path, the resulting error reported only the values that had been supplied, and nothing was recorded anywhere else, leaving a wrongly constructed path invisible to the error and to support alike. The Smart Client log now records the supplied path or name and, when a path was supplied, the site URL as reported by SharePoint and the server-relative URL requested from SharePoint. When a document library or folder cannot be resolved, the log additionally records the deepest part of the path that does resolve and the folders that exist there, distinguishing a path that was never valid from one whose final folder has not been created yet — the case of a report that publishes into date-named folders. The log also records what SharePoint itself reported about the failure, which distinguishes an item that is absent from one the connection is not permitted to reach. The error itself now states the conclusion reached, such as naming the folder of the path that could not be found, and directs the reader to the Smart Client log for the detail behind it. The errors raised for a path that cannot be interpreted identify the offending value and describe the expected form. #4548

  • Enhancement: On SharePoint Online, a document library or list that the connection is not permitted to reach is reported by SharePoint as though it does not exist, so a missing or read-only Sites.Selected site grant produced the same "could not be found" error as a mistyped path. When a document library or list cannot be resolved, the Smart Client log now records whether the connection can view items on the site. If it cannot, the log identifies permissions as the likely cause and gives the address of the connector documentation for granting an app registration access to a specific site. If it can, the log preserves that evidence without claiming it proves the library is reachable or the path is wrong. Add-items permission is not used to explain a failed read lookup. The workbook-operation error reports only a conclusion established by the lookup or probes and directs the reader to the Smart Client log for detail. This reporting applies to the SharePoint Online builds of the connector. #4548

  • Fixed Issue: SharePointOperations workbook script method overloads that accept a document library or list path could fail with the error The specified document library or path could not be found. when the capitalization of the specified path did not exactly match the capitalization of the SharePoint site URL. The path comparison is now case-insensitive, matching SharePoint’s behavior. #4547

Smart Client Logging

  • Enhancement: The Smart Client log now records the method and URL of each HTTP request issued by connectors and client services, as well as each navigation performed by embedded browser views, making redirect and authentication flows visible without enabling request/response logging. #3904

Smart Client Startup

  • Enhancement: The Smart Client startup log now meters the previously-opaque time before the client gains control — platform bootstrap, managed warmup, and individual assembly loads — to help determine whether a slow startup is caused by the client, the deployment mechanism, or the environment. #4297

  • Fixed Issue: In rare cases, the Smart Client GUI could fail to appear at launch due to cross-thread deadlocks involving the splash screen, which ran on its own dedicated thread. The splash screen now runs on the main UI thread, and the application style library, when configured, is now applied before the workspace is constructed rather than after. #3506

SQL Passthrough DataSets

  • Fixed Issue: SQL Passthrough DataSet inserts against Microsoft SQL Server could fail when an insert expression, such as CONCAT, contained multiple parameters whose types the JDBC driver could not infer and the capitalization of the SQL parameter names differed from the returned column metadata. Supplied JDBC column type mappings are now matched case-insensitively, allowing expressions such as CONCAT(@VARIABLE_DESCRIPTION, @CYCLE) to execute correctly. #3821

  • Fixed Issue: An @ character inside a quoted string literal, such as an email address in an insert statement’s values or in a Post-Insert-Select statement, was treated as the start of a SQL parameter name, which corrupted the statement and caused the operation to fail. Characters inside quoted literals are no longer interpreted as parameters. #3746, #3978

Toolbars Configurations

  • Enhancement: When a toolbars configuration failed to load, the resulting error reported only the outermost exception message, which often omitted the underlying cause. The error message now identifies the toolbars configuration by ID and includes the messages from the complete exception chain, whether the failure occurs when opening a view or when selecting a toolbars configuration in the Toolbars Configuration Editor. #3988

  • Fixed Issue: On macOS, some toolbars configurations, including affected SQL toolbars, could fail to load with a serialization error when they contained button icons in GIF format. The CrossOver platform used by the macOS package has been updated, allowing these toolbars configurations to load successfully. #3988

View Selector

  • Enhancement: The view selector is now officially optional. An application that presents a single view opened by the DefaultViewID setting, or that opens views by other means, can omit the view selector entirely by clearing the ViewSelectorObjectTypeID property, which is no longer designated as a required setting. #4554

Views

  • Enhancement: Requests issued by the Dodeca Smart Client on behalf of a view — including view, view template, binary artifact, connection, workbook script, selector, commentary, data audit log, SQLPassthroughDataSet, and Essbase requests — now include a Dodeca-ViewID HTTP header identifying the originating view. The header appears in the server’s XML request/response logging, making it easier to determine which view issued a given request when diagnosing issues such as slow or oversized retrieves. #1143

  • Fixed Issue: In a view with the Asynchronous property set to True and multiple DataSetRanges, canceling the BeforeDataSetRangeSave event for one DataSetRange also prevented the BeforeDataSetRangeSave events from being raised for the remaining DataSetRanges and skipped their saves. Canceling the event now skips the save of only the associated DataSetRange, and the remaining DataSetRanges are processed normally, matching the behavior of views where the Asynchronous property is set to False. #3800

  • Fixed Issue: In a comment range that defines its key items using the KeyItemsColumnRange or KeyItemsRowRange properties, the KeyItemsConditionString property was ignored and a cell was set up for comments whenever the key items ranges contained a value. Rows intended to be excluded, such as the empty rows commonly scattered through a view template, were processed and could produce an error when their key items cell contained a partial key/value pair. The KeyItemsConditionString is now evaluated for each cell before its key items are set up, matching the behavior of comment ranges that use the KeyItemsString property, and cells whose condition is not met are excluded from the comment range. This issue was introduced in version 8.0.0, when the KeyItemsColumnRange and KeyItemsRowRange properties were added. #4437

Workbook Scripting

  • Enhancement: Workbook script methods executed with CellByCell set to TRUE now support a CellByCellExitCondition argument. The condition is evaluated before each cell, and when it resolves to TRUE, cell-by-cell processing stops and the method completes normally. Previously, there was no way to end a cell-by-cell loop before every cell in the range had been processed. The new argument is analogous to the ForEach method’s ExitLoopCondition argument. #3731

  • Enhancement: The IntelliSense list in the workbook script formula editor showed only four items at a time, and the lists in the Essbase script and SQL query editors at most six. The lists now show up to ten items and resize as typing filters them, staying alongside the caret and on the screen. #3179

  • Enhancement: A CopyComments workbook script method call whose source and target arguments do not correspond, such as a different number of regions or key/value pairs that do not match, now fails before any comments are copied, with an error identifying the offending argument and region. The requested source and target regions are also recorded in the server log to aid diagnosis. #3733

  • Fixed Issue: The workbook script OpenView method’s ShowViewAsActiveWindow argument was not honored when set to TRUE and the method was called from a procedure linked to the BeforeInitializeUI event: the opened view was briefly activated, and then the calling view became the active window when its own window opened moments later. The opened view now becomes the active window after the calling view’s window has opened and built. When the argument is set to FALSE, the calling view is re-activated with the same timing as in previous versions. #4538

  • Fixed Issue: The workbook script OpenView method waited for the opened view’s automatic build to complete before the calling procedure resumed, even when its arguments expressed no interest in the build outcome, making the method noticeably slower than opening the same view from the View Selector. When the method is not configured to close the opened view or to capture a build error with the ErrorPropertyName argument, and ShowViewAsActiveWindow is TRUE, the procedure now resumes as soon as the opened view is displayed, and a build failure is reported in the opened view rather than raised in the calling procedure. This issue was introduced in version 8.0.4. #4538

  • Fixed Issue: Several workbook script method operations could fail, regardless of the argument values specified, with an error similar to one of the following: AppliedOLAP.Dodeca.Windows.Common.MakeFileType is not an argument type supported by AppliedOLAP.Dodeca.Windows.WorkbookView.WorkbookViewFileOperationsMethod. or Unable to cast object of type 'System.Drawing.Imaging.ImageFormat' to type 'System.String'. The affected arguments were the FileOperations method’s FileType, the ComponentOperations method’s DockedLocation, the PowerPointOperations method’s ShapeType, the BinaryArtifactOperations method’s ToPositionPolicy, the CopyRange method’s ImageFormat, and the SendEmail method’s SnapshotImageFormat; they are now parsed correctly. #4530

  • Fixed Issue: In the workbook script formula editor, IntelliSense hinted the parameters of the wrong function when a range name ended in a function name, such as Column.Prior.Period.Offset inside ROWS(…​), because the trailing segment of the name was treated as the start of that function. A dotted name is now recognized as a single identifier and no longer affects the parameter hints. #3724

Workspace Layout

  • Fixed Issue: When CacheWorkspaceLayout was set to True, exiting the application with no views open cached an empty workspace layout that suppressed the DefaultViewID view on the next startup, leaving the workspace empty. The default view, or a saved view specified on the command line, now opens whenever the workspace layout does not restore any windows. #4555

Excel Add-In for Essbase

The supported versions of Excel include the following: Excel 2013, Excel 2016, Excel 2019, Excel 2021, and Microsoft 365 Excel for Windows Desktop.

The supported versions of Essbase include 9.3.0 and higher.

  • Enhancement: Added support for SAML-based single sign-on authentication to the Dodeca Add-In for Excel. Once configured, the add-in authenticates via the same browser-based SAML flow used by other Dodeca clients before allowing access to Essbase/EPM connections and other add-in functionality. #3379

  • Enhancement: Reduced the number of metadata requests issued by the Dodeca Add-In for Excel when resolving authentication connections referenced for single sign-on (or standalone OAuth). Previously, a single operation could issue many redundant requests to check whether connection metadata was up to date. A new CheckForMetadataUpdatesFrequencyPolicy property on the ExcelAddInConfiguration metadata lets an administrator control how frequently these checks occur. #4444

  • Enhancement: The Sign On and Essbase Options task panes now remember their sizes across Excel restarts, restoring size adjustments made by the user the next time the task pane is opened. #4436