Documents Storage

Notes for release 25.0.9526.50018

Description

This release delivers significant performance improvements for the Documents Storage application when using Azure Blob Storage and Azure File Share. The update addresses critical performance issues experienced with large documents (80+ lines) during invoice posting operations. Key optimizations include caching mechanisms, streamlined file operations, and modernized event architecture to eliminate redundant data transformations. This release is particularly beneficial for Food & Beverage and high-volume document processing scenarios.

User Stories

No User Story developed in this release.

Bugs

Title Description Impact on previous version
23127 – Performance Issue when using Azure File & Blob Storage when post invoice document with at least 80 lines Resolved performance degradation occurring when posting large documents with Azure storage. The fix optimizes file operations by working directly with Azure container/directory content instead of intermediate temporary records, implements caching through SingleInstance codeunits, and refactors posting event subscribers to process only header-level attachments. Impacted Objects: Codeunit 8120456 (isaDOC_StorageAzureContainer), Codeunit 8120452 (isaDOC_StorageAzureShare), Codeunit 8120457 (isaDOC_AttachementStorageMgt), Table 8120451 (isaDOC_AttachementStorage) Breaking Change: Subscribers to obsolete events (OnAfterMoveFiles, OnAfterCopyFiles, OnAfterDeleteFiles, OnAfterFindRelatedAttachments*, OnBeforeCopyAllAttachement) will no longer be triggered.

Events

Status Type Object Name Event Name Description
New IntegrationEvent isaDOC_StorageAzureContainer OnAfterMoveFiles2 Replaces OnAfterMoveFiles. Parameter changed from temporary isaDOC_AttachementStorage to ABS Container Content record.
New IntegrationEvent isaDOC_StorageAzureContainer OnAfterCopyFiles2 Replaces OnAfterCopyFiles. Parameter changed from temporary isaDOC_AttachementStorage to ABS Container Content record.
New IntegrationEvent isaDOC_StorageAzureContainer OnAfterDeleteFiles2 Replaces OnAfterDeleteFiles. Parameter changed from temporary isaDOC_AttachementStorage to ABS Container Content record.
Obsolete IntegrationEvent isaDOC_StorageAzureContainer OnAfterFindRelatedAttachmentsOnMoveFiles Marked obsolete in v27.0. No longer raised as MoveFiles procedure now works directly with Azure container content.
Obsolete IntegrationEvent isaDOC_StorageAzureContainer OnAfterMoveFiles Marked obsolete in v27.0. Replaced by OnAfterMoveFiles2.
Obsolete IntegrationEvent isaDOC_StorageAzureContainer OnAfterFindRelatedAttachmentsOnCopyFiles Marked obsolete in v27.0. No longer raised as CopyFiles procedure now works directly with Azure container content.
Obsolete IntegrationEvent isaDOC_StorageAzureContainer OnAfterCopyFiles Marked obsolete in v27.0. Replaced by OnAfterCopyFiles2.
Obsolete IntegrationEvent isaDOC_StorageAzureContainer OnAfterFindRelatedAttachmentsOnDeleteFiles Marked obsolete in v27.0. No longer raised as DeleteFiles procedure now works directly with Azure container content.
Obsolete IntegrationEvent isaDOC_StorageAzureContainer OnAfterDeleteFiles Marked obsolete in v27.0. Replaced by OnAfterDeleteFiles2.
New IntegrationEvent isaDOC_StorageAzureShare OnAfterFindRelatedAttachmentsOnMoveFiles2 Replaces OnAfterFindRelatedAttachmentsOnMoveFiles. Uses AFS Directory Content instead of temporary storage record.
New IntegrationEvent isaDOC_StorageAzureShare OnAfterMoveFiles2 Replaces OnAfterMoveFiles. Uses AFS Directory Content instead of temporary storage record.
New IntegrationEvent isaDOC_StorageAzureShare OnAfterFindRelatedAttachmentsOnCopyFiles2 Replaces OnAfterFindRelatedAttachmentsOnCopyFiles. Uses AFS Directory Content instead of temporary storage record.
New IntegrationEvent isaDOC_StorageAzureShare OnAfterCopyFiles2 Replaces OnAfterCopyFiles. Uses AFS Directory Content instead of temporary storage record.
New IntegrationEvent isaDOC_StorageAzureShare OnAfterFindRelatedAttachmentsOnDeleteFiles2 Replaces OnAfterFindRelatedAttachmentsOnDeleteFiles. Uses AFS Directory Content instead of temporary storage record.
New IntegrationEvent isaDOC_StorageAzureShare OnAfterDeleteFiles2 Replaces OnAfterDeleteFiles. Uses AFS Directory Content instead of temporary storage record.
Obsolete IntegrationEvent isaDOC_StorageAzureShare OnAfterFindRelatedAttachmentsOnMoveFiles Marked obsolete (v27.0). Replaced by OnAfterFindRelatedAttachmentsOnMoveFiles2.
Obsolete IntegrationEvent isaDOC_StorageAzureShare OnAfterMoveFiles Marked obsolete (v27.0). Replaced by OnAfterMoveFiles2.
Obsolete IntegrationEvent isaDOC_StorageAzureShare OnAfterFindRelatedAttachmentsOnCopyFiles Marked obsolete (v27.0). Replaced by OnAfterFindRelatedAttachmentsOnCopyFiles2.
Obsolete IntegrationEvent isaDOC_StorageAzureShare OnAfterCopyFiles Marked obsolete (v27.0). Replaced by OnAfterCopyFiles2.
Obsolete IntegrationEvent isaDOC_StorageAzureShare OnAfterFindRelatedAttachmentsOnDeleteFiles Marked obsolete (v27.0). Replaced by OnAfterFindRelatedAttachmentsOnDeleteFiles2.
Obsolete IntegrationEvent isaDOC_StorageAzureShare OnAfterDeleteFiles Marked obsolete (v27.0). Replaced by OnAfterDeleteFiles2.
Updated BusinessEvent isaDOC_AttachementStorageMgt OnBeforeCopyAllAttachement Event is no longer invoked in CopyAllAttachement procedure despite remaining defined with Obsolete attribute. Existing subscribers will cease to execute.

Notes

⚠️ Breaking Changes Warning:

  • The isaDOC_StorageAzureShare codeunit is marked as Pending Obsolete (tag 27.0) due to Azure File Share performance limitations. It is recommended to migrate to Azure Blob Storage.
  • Posting behavior changed: only header-level document attachments are now transferred during Sales-Post and Purch.-Post operations. Line-level attachments are no longer automatically copied to posted documents.
  • All event subscribers using the legacy OnAfterFiles events must migrate to the new OnAfterFiles2 events which use native Azure API records (ABS Container Content / AFS Directory Content) instead of temporary isaDOC_AttachementStorage records.
Previous