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_StorageAzureSharecodeunit 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.