Files
alfresco-content-app/docs/upgrade-guide/upgrade520-530.md
Michal Kinas c05c193195 [ACS-12451] Add missing upgrade guides in ACA (#5345)
* [ACS-12451] Add missing upgrade guides in ACA

* [ACS-12451] CR fix
2026-08-12 14:10:24 +02:00

7.8 KiB

Title
Title
Upgrading from ACA v5.2 to v5.3

Upgrading from ACA v5.2 to v5.3

This guide provides instructions on how to upgrade your Alfresco Content Application (ACA) v5.2.0 project to v5.3.0.

This is a small maintenance release on the ADF 7.0 alpha line: it moves ADF 7.0.0-alpha.6 → 7.0.0-alpha.7 and @alfresco/js-api 8.0.0-alpha.6 → 8.0.0-alpha.7, bumps rxjs 7.5.7 → 7.8.1 and patches @angular-devkit/build-angular (16.2.9 → 16.2.16). Angular (16.2.9), Material (16.2.9), TypeScript (5.0.4), zone.js (0.13.3), Nx (17.3.1) and Node (.nvmrc 18) are all unchanged. Most of ADF's alpha.7 changes are process-services-cloud only and do not affect ACA, so the work this cycle is mostly ACA's own fixes and a few new capabilities. The corresponding ADF guide is the 7.0.0-alpha.7 section of:

Read the breaking changes.

Before you begin

Always perform upgrades on a "clean" project state, back up your changes or make a project backup. The Angular 16 / TypeScript 5 platform and Node 18 (.nvmrc) are unchanged from 5.2.0.

Contents

Library updates

Update the package.json file with the latest library versions:

{
    "dependencies": {
        "@alfresco/adf-core": "7.0.0-alpha.7",
        "@alfresco/adf-content-services": "7.0.0-alpha.7",
        "@alfresco/adf-extensions": "7.0.0-alpha.7",
        "@alfresco/js-api": "8.0.0-alpha.7",
        "rxjs": "7.8.1"
    }
}

@alfresco/adf-cli and @alfresco/eslint-plugin-eslint-angular move to 7.0.0-alpha.7 too, and @angular-devkit/build-angular moves 16.2.9 → 16.2.16 (a Vite security bump). Angular (16.2.9), @angular/material (16.2.9), TypeScript (5.0.4), zone.js (0.13.3), nx (17.3.1) and Node (.nvmrc 18) are unchanged. Clean node_modules and the lockfile, then reinstall.

Aligning with ADF 7.0-alpha.7

See the 7.0.0-alpha.7 section of the ADF 6.9 → 7.0 guide for the full detail. ADF alpha.7 is dominated by the process-services-cloud standalone migration and removals (Start-Task-Cloud components, several process-cloud pipes/directives and NgModules, identity DI tokens) — none of which apply to ACA, which does not depend on @alfresco/adf-process-services-cloud. The only cross-cutting alpha.7 items are that ADF's @alfresco/adf-core peers were pinned to exact Angular 16.2.9 (ACA already tracks 16.2.9, so no change) and that @alfresco/adf-testing was removed (ACA dropped that dependency back in 4.4.1). In practice this ADF bump is drop-in for ACA.

Breaking changes

ACA's published library API is effectively unchanged this release — every @alfresco/aca-shared and @alfresco/aca-content public-api.ts barrel is byte-identical between 5.2.0 and 5.3.0 (no exports added, removed or renamed). The two consumer-facing changes below are signature-level.

Non-change (informational): a migration of Saved Searches from the config file to the preferences API (ACS-9166) was merged and then reverted before 5.3.0, so Saved Searches storage is unchanged from 5.2.0. No action is needed — this is only noted in case you diff the intermediate commits.

Required component inputs

Following Angular 16's required-inputs feature, several component @Input()s were marked @Input({ required: true }). Two are on exported @alfresco/aca-shared components:

  • ToolbarComponentitems is now required.
  • InfoDrawerComponent — its primary input is now required.

(Others were applied to internal components: rule-list / rule-list-item, datatable-cell-badges, search-results-row, and the sidenav button-menu / expand-menu.) If your fork or extension instantiates any of these components in a template without binding the now-required input, the Angular compiler will error (NG8008). Bind the input, or remove the usage.

DeleteNodesAction gained an allowUndo argument

DeleteNodesAction (exported from @alfresco/aca-shared/store) and ContentManagementService.deleteNodes() gained a second parameter, allowUndo, defaulting to true:

// aca-shared/store
new DeleteNodesAction(payload /* , allowUndo = true */);

// content-management.service
deleteNodes(items: NodeEntry[], allowUndo = true): void;

This is backward-compatible (the new argument is optional and preserves the previous behaviour). Pass allowUndo: false to delete without offering the Undo snackbar action.

New components and features

  • Folder information dialog (MNT-24575) — a new dialog that displays folder details (retrieved via API, with a retry on failure). It is not offered for items in the trashcan.
  • Suppressible delete-undo (ACS-8604) — see DeleteNodesAction gained an allowUndo argument; callers can now delete nodes without the Undo snackbar.
  • takeUntilDestroyed subscription cleanup (ACS-8959) — ACA adopted Angular's takeUntilDestroyed operator (with DestroyRef) across the folder-rules components and several aca-content components, replacing manual ngOnDestroy / takeUntil(Subject) teardown. This is an internal refactor, but if your fork subclasses these components or relied on their destroy Subjects, adopt the same pattern.

Behavioural changes

Area Change
Search input The search input is now a reactive form control that disallows certain special characters (showing a validation error) and rewrites a leading text: to TEXT: on submit rather than erroring.
Search results A loading spinner is now shown on the search-results page while filtering for files or folders.
Libraries The context menu is no longer empty when multiple libraries are selected; the Join library option now shows the correct icon.
Breadcrumb The file title in the breadcrumb now updates after the file is renamed.
Sidenav The expandedSidenav flag is removed from local storage on logout.
Info drawer Tag styling is applied to tags shown in the info drawer.
Saved searches Long saved-search descriptions are truncated.