Dodeca Version 8.2.3

April 13, 2023 - Build 62


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 (8.7.12.102), NetAdvantage 2021, Volume 2 (21.2.46), Aspose.Cells 22.5.0, Syncfusion Essential Studio 20.3.0.49, GdPicture.NET 14.1.0.112, 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 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 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:

Authentication Providers

  • Fixed Issue: When a SAML 2.0 response received by the Dodeca server contains an X-Forwarded-Host header that differs from the server’s actual hostname, an error similar to the following is displayed: Unable to initiate SSO login. #3416

  • Enhancement: Allow an upstream authentication provider, such as a SAML 2.0 provider to set the authenticated username for the Dodeca client session, optionally using the value of a specified attribute. #3397

Authentication Services - LDAP Authentication Services

  • Enhancement: When the LDAPUserRolesFromGroupNames authentication service is used with an OpenLDAP server, LDAPGroupAttribute and LDAPUsernameAttribute properties have been added to control which attributes are used to capture the authenticated username and authenticated roles for the user. #3300

Commentary

  • Fixed Issue: When a comment range’s KeyItemsColumnRange or KeyItemsRowRange value is specified as an address and not as a named range, the comment range does not work. #3398

Dodeca Shell

  • Fixed Issue: When the delete-comments command is used to attempt to delete more than 1000 comments from an Oracle database, the following error occurs: ORA-01795: maximum number of expressions in a list is 1000. #3392

Relational Views

  • Fixed Issue: When a relational view’s DataSetRanges contains a DataTableRange whose AllowModifyRow setting is False, and either the AllowAddRow or AllowDeleteRow setting is True, modified rows are saved to the database when the Save tool is used. #3407

SelectorTextBox

  • Fixed Issue: When the SelectorTextBox is configured with a ValidationRegExPattern, and the value input by the user is not valid, the ValidationMessage is not displayed. This behavior only occurs when the view’s Asynchronous property is True. #3391

  • Fixed Issue: An unhandled exception may occur with certain keystrokes in the SelectorTextBox tool when the view’s workbook script handles the SelectorSelectionChanged event. #3390

SQLPassthroughDataSets

  • Fixed Issue: When a Query.InsertSQL statement contains a post-insert SELECT statement, the defined column type mappings are not passed to the post-insert operation, which can result in an error similar to the following: Unable to update DataSetRange "<DataSetRangeName>". Unable to update the SQLPassthroughDataSet "<SQLPassthroughDataSetID>". no details. #3406

View Metadata Editor

  • Fixed Issue: When a view contains multiple selector configurations that reference the same selector list, the context menu, which opens when the user clicks the right mouse button on the SelectorConfiguration property label, only contains a navigation option for the first of the duplicate selector lists. #3413

View Selectors

  • Fixed Issue: If the application’s ViewSelector.AllowEditViewMetadata setting is True, when a user clicks the right mouse button on a view in the View Selector to open the context menu, and the view contains multiple selector configurations that reference the same selector list, not all of the options in the context menu are displayed. #3413

Workbook Scripting

  • Fixed Issue: When the @AttachmentCount() function is called and the active cell is not in a comment range, the following error occurs: Value cannot be null. #3402

  • Fixed Issue: The AttachmentOperations.AttachFile method overload ignores the KeyItems argument and attaches the file to the active cell, if the cell is in a comment range. With the fix, the file is attached based on the specified KeyItems value. #3401

  • Fixed Issue: When an exception occurs during workbook script execution and the method’s ErrorHandlingMode is ThrowException, the error details dialog displayed by the view can reveal sensitive workbook script argument values. In this and subsequent releases, sensitive argument values are masked. #3417

  • New Method: The SetFocus method supports setting the focus to the grid, using the Grid overload, or to a specified selector tool, using the Selector overload. #3377

  • New Method: The SharePointOperations method gets, adds, or deletes SharePoint documents, attachments, and list items, in addition to providing credential validation. #3346

    image
    Method Arguments - All Overloads
    • SiteType: Controls the type of connection that will be used to connect to SharePoint.

    • SiteUrl: The URL of a SharePoint site, such as https://x.sharepoint.com, https://x.sharepoint.com/y.

    • AuthenticationPolicy: Controls the authentication mechanism used to connect to SharePoint.

    • ClientID: The client ID of the Oauth application used to connect to SharePoint when using the OAuthPassword or OauthClientSecret AuthenticationPolicy.

    • ClientSecret: The client secret of the OAuth application used to connect to SharePoint when using the OAuthClientSecret AuthenticationPolicy.

    • Username: The username of the credentials used to connect to SharePoint. If a Username is not specified or is invalid when using the SpecifiedCredentials AuthenticationPolicy, the following exception is thrown: "Unable to validate the user’s access to the given SharePoint URL. Access was denied."

    • Password: The password of the credentials used to connect to SharePoint. If a Password is not specified or is invalid when using the SpecifiedCredentials AuthenticationPolicy, the following exception is thrown: "Unable to validate the user’s access to the given SharePoint URL. Access was denied."

    • Domain: The domain of the credentials used to connect to SharePoint. The Domain is only utilized when connecting to an on-premises or extranet SharePoint server.

    • ContinueOnError: (Optional) Controls whether to continue execution when an error occurs. By default, execution is not continued when an error occurs.

    • ErrorOccurredPropertyName: (Optional) The name of the property set to True when an error occurs.

    Method Arguments - AddAttachment Overload

    Uploads a locally accessible file to a SharePoint site as a list item attachment. If the attachment already exists in SharePoint, it will be replaced.

    • ListName: The name of the SharePoint list.

    • ListPath: The path of the SharePoint list relative to the SiteUrl, which includes any intermediate subfolders.

    • ListItemName: The name of the SharePoint list item.

    • AttachmentName: The name of the SharePoint attachment to be downloaded, uploaded, or deleted. If an AttachmentName is not specified, the name of the local file will be used (if available).

    • LocalFilePath: The full path of the local file to be uploaded.

    • UseDialog: (Optional) Whether to display a file dialog that allows the user to choose the local file to be uploaded or saved. If left blank, FALSE will be used.

    • DialogFilter: (Optional) A filter string that determines which choices that appear in the save and choose file dialogs. The following is an example of a filter string: "PDF files (*.pdf)|*.pdf|All files (*.*)|*.*"

    • DialogTitle: (Optional) A caption to use as the title of the file dialog.

    • ContinueOnItemNotFound: (Optional) Controls whether to continue execution when a specified item is not found. By default, execution is not continued when a specified item is not found.

    • CreateListItemNotFound: (Optional) Controls whether to add the specified list item when it cannot be found. By default, the list item will not be created.

    • ItemNotFoundPropertyName: (Optional) The name of the property set to True if the specified document, item, or attachment is not found.

    • SpecifiedPathPropertyName: (Optional) The name of the workbook script property that receives the specified local path.

    • UserCancelledPropertyName: (Optional) (Optional) The name of the property set to True if the user cancels the selection of a local file.

    Method Arguments - AddDocument Overload

    Uploads a locally accessible file to a SharePoint site library as a document. If the document already exists in SharePoint, a new version of the document is created.

    • DocumentLibraryName: The name of the SharePoint document library, such as 'Shared Documents'.

    • DocumentLibraryPath: The path of the SharePoint document library relative to the SiteUrl, which includes the destination folder and any intermediate subfolders.

    • DocumentName: The name of the uploaded SharePoint document to be downloaded, uploaded, or deleted. If a DocumentName is not specified, the name of the local file will be used (if available).

    • LocalFilePath: The full path of the local file to be downloaded, uploaded, or deleted.

    • UseDialog: (Optional) Whether to display a file dialog that allows the user to choose the local file to be uploaded or saved. If left blank, FALSE will be used.

    • DialogFilter: (Optional) A filter string that determines which choices that appear in the save and choose file dialogs. The following is an example of a filter string: "PDF files (*.pdf)|*.pdf|All files (*.*)|*.*"

    • DialogTitle: (Optional) A caption to use as the title of the file dialog.

    • ContinueOnItemNotFound: (Optional) Controls whether to continue execution when a specified item is not found. By default, execution is not continued when a specified item is not found.

    • ItemNotFoundPropertyName: (Optional) The name of the property set to True if the specified document, item, or attachment is not found.

    • SpecifiedPathPropertyName: (Optional) The name of the workbook script property that receives the specified local path.

    • UserCancelledPropertyName: (Optional) (Optional) The name of the property set to True if the user cancels the selection of a local file.

    Method Arguments - AddListItem Overload

    Adds a list item to a SharePoint site list. If the list item already exists in SharePoint, no action will be taken.

    • ListName: The name of the SharePoint list.

    • ListPath: The path of the SharePoint list relative to the SiteUrl, which includes any intermediate subfolders.

    • ListItemName: The name of the SharePoint list item.

    • ContinueOnItemNotFound: (Optional) Controls whether to continue execution when a specified item is not found. By default, execution is not continued when a specified item is not found.

    • ItemNotFoundPropertyName: (Optional) The name of the property set to True if the specified document, item, or attachment is not found.

    Method Arguments - GetAttachment Overload

    Downloads an attachment file from a SharePoint site list item.

    • ListName: The name of the SharePoint list.

    • ListPath: The path of the SharePoint list relative to the SiteUrl, which includes any intermediate subfolders.

    • ListItemName: The name of the SharePoint list item.

    • AttachmentName: The name of the SharePoint attachment to be downloaded, uploaded, or deleted. If an AttachmentName is not specified, the name of the local file will be used (if available).

    • LocalFilePath: The full path of the local file to be downloaded, uploaded, or deleted.

    • UseDialog: (Optional) Whether to display a file dialog that allows the user to choose the local file to be uploaded or saved. If left blank, FALSE will be used.

    • DialogFilter: (Optional) A filter string that determines which choices that appear in the save and choose file dialogs. The following is an example of a filter string: "PDF files (*.pdf)|*.pdf|All files (*.*)|*.*"

    • DialogTitle: (Optional) A caption to use as the title of the file dialog.

    • ContinueOnItemNotFound: (Optional) Controls whether to continue execution when a specified item is not found. By default, execution is not continued when a specified item is not found.

    • ItemNotFoundPropertyName: (Optional) The name of the property set to True if the specified document, item, or attachment is not found.

    • SpecifiedPathPropertyName: (Optional) The name of the workbook script property that receives the specified local path.

    • UserCancelledPropertyName: (Optional) (Optional) The name of the property set to True if the user cancels the selection of a local file.

    Method Arguments - GetDocument Overload

    Downloads a document file from a SharePoint site library.

    • DocumentLibraryName: The name of the SharePoint document library, such as 'Shared Documents'.

    • DocumentLibraryPath: The path of the SharePoint document library relative to the SiteUrl, which includes the destination folder and any intermediate subfolders.

    • DocumentName: The name of the uploaded SharePoint document to be downloaded, uploaded, or deleted. If a DocumentName is not specified, the name of the local file will be used (if available).

    • LocalFilePath: The full path of the local file to be downloaded, uploaded, or deleted.

    • UseDialog: (Optional) Whether to display a file dialog that allows the user to choose the local file to be uploaded or saved. If left blank, FALSE will be used.

    • DialogFilter: (Optional) A filter string that determines which choices that appear in the save and choose file dialogs. The following is an example of a filter string: "PDF files (*.pdf)|*.pdf|All files (*.*)|*.*"

    • DialogTitle: (Optional) A caption to use as the title of the file dialog.

    • ContinueOnItemNotFound: (Optional) Controls whether to continue execution when a specified item is not found. By default, execution is not continued when a specified item is not found.

    • ItemNotFoundPropertyName: The name of the property set to True if the specified document, item, or attachment is not found.

    • SpecifiedPathPropertyName: (Optional) The name of the workbook script property that receives the specified local path.

    • UserCancelledPropertyName: (Optional) (Optional) The name of the property set to True if the user cancels the selection of a local file.

    Method Arguments - GetListItems Overload

    Gets the list items for a given SharePoint site list and optionally retains them in a DataCache.

    • ListName: The name of the SharePoint list.

    • ListPath: The path of the SharePoint list relative to the SiteUrl, which includes any intermediate subfolders.

    • ListItemsDataCacheName: (Optional) The name of the DataCache that will hold the names of the list items discovered under the specified list, if the specified list is found.

    • ContinueOnItemNotFound: (Optional) Controls whether to continue execution when a specified item is not found. By default, execution is not continued when a specified item is not found.

    • ItemNotFoundPropertyName: The name of the property set to True if the specified document, item, or attachment is not found.

    Method Arguments - DeleteAttachment Overload

    Deletes an attachment file from a SharePoint site list item.

    • ListName: The name of the SharePoint list.

    • ListPath: The path of the SharePoint list relative to the SiteUrl, which includes any intermediate subfolders.

    • ListItemName: The name of the SharePoint list item.

    • AttachmentName: The name of the SharePoint attachment to be downloaded, uploaded, or deleted. If an AttachmentName is not specified, the name of the local file will be used (if available).

    • LocalFilePath: The full path of the local file to be downloaded, uploaded, or deleted.

    • UseDialog: (Optional) Whether to display a file dialog that allows the user to choose the local file to be uploaded or saved. If left blank, FALSE will be used.

    • DialogFilter: (Optional) A filter string that determines which choices that appear in the save and choose file dialogs. The following is an example of a filter string: "PDF files (*.pdf)|*.pdf|All files (*.*)|*.*"

    • DialogTitle: (Optional) A caption to use as the title of the file dialog.

    • ContinueOnItemNotFound: (Optional) Controls whether to continue execution when a specified item is not found. By default, execution is not continued when a specified item is not found.

    • ItemNotFoundPropertyName: The name of the property set to True if the specified document, item, or attachment is not found.

    • SpecifiedPathPropertyName: (Optional) The name of the workbook script property that receives the specified local path.

    • UserCancelledPropertyName: (Optional) (Optional) The name of the property set to True if the user cancels the selection of a local file.

    Method Arguments - DeleteDocument Overload

    Deletes a document from a SharePoint site library.

    • DocumentLibraryName: The name of the SharePoint document library, such as 'Shared Documents'.

    • DocumentLibraryPath: The path of the SharePoint document library relative to the SiteUrl, which includes the destination folder and any intermediate subfolders.

    • DocumentName: The name of the uploaded SharePoint document to be downloaded, uploaded, or deleted. If a DocumentName is not specified, the name of the local file will be used (if available).

    • LocalFilePath: The full path of the local file to be downloaded, uploaded, or deleted.

    • UseDialog: (Optional) Whether to display a file dialog that allows the user to choose the local file to be uploaded or saved. If left blank, FALSE will be used.

    • DialogFilter: (Optional) A filter string that determines which choices that appear in the save and choose file dialogs. The following is an example of a filter string: "PDF files (*.pdf)|*.pdf|All files (*.*)|*.*"

    • DialogTitle: (Optional) A caption to use as the title of the file dialog.

    • ContinueOnItemNotFound: (Optional) Controls whether to continue execution when a specified item is not found. By default, execution is not continued when a specified item is not found.

    • ItemNotFoundPropertyName: The name of the property set to True if the specified document, item, or attachment is not found.

    • SpecifiedPathPropertyName: (Optional) The name of the workbook script property that receives the specified local path.

    • UserCancelledPropertyName: (Optional) (Optional) The name of the property set to True if the user cancels the selection of a local file.

    Method Arguments - DeleteListItem Overload

    Deletes a list item from a SharePoint site list.

    • ListName: The name of the SharePoint list.

    • ListPath: The path of the SharePoint list relative to the SiteUrl, which includes any intermediate subfolders.

    • ListItemName: The name of the SharePoint list item.

    • ContinueOnItemNotFound: (Optional) Controls whether to continue execution when a specified item is not found. By default, execution is not continued when a specified item is not found.

    • ItemNotFoundPropertyName: The name of the property set to True if the specified document, item, or attachment is not found.

    Method Arguments - ValidateCredentials Overload

    Validates credentials by connecting to a SharePoint site, optionally setting a property value with the results.

    See common arguments above.

  • New Method: The SQLBlobOperations method downloads, uploads, or deletes SQL binary large objects (BLOB) by using a SQLPassthroughDataSet or Select/Insert/Update/Delete statements. #2076, #2077

    image
    Method Arguments - All Overloads
    • SQLConnectionID: The SQL connection ID used by the operation. The specified SQL Connection must have the Database (type) property set in order to generate insert/update parameter values.

    • SQLPassthroughDataSetID: The SQLPassthroughDataSet used to select/insert/update/delete a blob from the relational database.

    • UseDialog: (Optional) Whether to display a file dialog that allows the user to choose the local file to be uploaded or saved. If left blank, FALSE will be used.

    • DialogTitle: (Optional) A caption to use as the title of the file dialog.

    • ContinueOnError: (Optional) Controls whether the remaining statements are executed when a given statement generates an error. By default, execution of the remaining statements is not continued when an error is encountered.

    • ErrorOccurredPropertyName: (Optional) The name of the property set to True when an error occurs.

    • RecordCountPropertyName: (Optional) The name of the workbook script property that receives the count of records selected or affected.

    • SpecifiedPathPropertyName: (Optional) The name of the workbook script property that receives the specified local path.

    Method Arguments - DeleteBlobs Overload

    Deletes one or more documents from a relational database, optionally using a specified filename.

    • DeleteSQL: The SQL statement used to delete a blob from the relational database.

    • FilenameColumn: The name of the relational table column that contains the filename associated with the BLOB data.

    • LocalFilePath: The full path of the local file to be saved or uploaded.

    • DialogFilter: (Optional) A filter string that determines which choices that appear in the save and open file dialogs. The following is an example of a filter string: PDF files (*.pdf)|*.pdf|All files (*.*)|*.*

    • DeleteAfterDelete: (Optional) Whether to delete the local file after the associated records are deleted.

    Method Arguments - InsertBlobFromFile Overload

    Inserts a document from disk into a relational database.

    • InsertSQL: The SQL statement used to insert a blob into the relational database.

    • BlobColumn: The name of the relational table column that contains the BLOB data.

    • FilenameColumn: The name of the relational table column that contains the filename associated with the BLOB data.

    • LocalFilePath: The full path of the local file to be saved or uploaded.

    • DialogFilter: (Optional) A filter string that determines which choices that appear in the save and open file dialogs. The following is an example of a filter string: PDF files (*.pdf)|*.pdf|All files (*.*)|*.*

    • DeleteAfterInsert: (Optional) Whether to delete the local file or files after they’re inserted.

    Method Arguments - InsertBlobsFromFolder Overload

    Inserts one or more documents from disk into a relational database.

    • InsertSQL: The SQL statement used to insert a blob into the relational database.

    • BlobColumn: The name of the relational table column that contains the BLOB data.

    • FilenameColumn: The name of the relational table column that contains the filename associated with the BLOB data.

    • LocalFolderPath: The full path of the local folder under which to save or from which to upload blobs.

    • DeleteAfterInsert: (Optional) Whether to delete the local file or files after they’re inserted.

    Method Arguments - SelectBlobToFile Overload

    Selects a document from a relational database and saves it to disk.

    • SelectSQL: The SQL statement used to retrieve a blob from the relational database.

    • BlobColumn: The name of the relational table column that contains the BLOB data.

    • LocalFilePath: The full path of the local file to be saved or uploaded.

    • DialogFilter: (Optional) A filter string that determines which choices that appear in the save and open file dialogs. The following is an example of a filter string: PDF files (*.pdf)|*.pdf|All files (*.*)|*.*

    Method Arguments - SelectBlobsToFolder Overload

    Select one or more documents from a relational database and saves them to disk.

    • SelectSQL: The SQL statement used to retrieve a blob from the relational database.

    • BlobColumn: The name of the relational table column that contains the BLOB data.

    • LocalFolderPath: The full path of the local folder under which to save or from which to upload blobs.

    Method Arguments - UpdateBlobFromFile Overload

    Updates a relational database blob with a document from disk.

    • UpdateSQL: The SQL statement used to update a blob in the relational database.

    • BlobColumn: The name of the relational table column that contains the BLOB data.

    • FilenameColumn: The name of the relational table column that contains the filename associated with the BLOB data.

    • LocalFilePath: The full path of the local file to be saved or uploaded.

    • DialogFilter: (Optional) A filter string that determines which choices that appear in the save and open file dialogs. The following is an example of a filter string: PDF files (*.pdf)|*.pdf|All files (*.*)|*.*

    • DeleteAfterUpdate: (Optional) Whether to delete the local file or files after they’re updated.

    Method Arguments - UpdateBlobsFromFolder Overload

    Updates relational database blobs with one or more documents from disk.

    • UpdateSQL: The SQL statement used to update a blob in the relational database.

    • BlobColumn: The name of the relational table column that contains the BLOB data.

    • FilenameColumn: The name of the relational table column that contains the filename associated with the BLOB data.

    • LocalFolderPath: The full path of the local folder under which to save or from which to upload blobs.

    • DeleteAfterUpdate: (Optional) Whether to delete the local file or files after they’re updated.