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:
- ADF — Upgrading from v6.9 to v7.0 (see the 7.0.0-alpha.7 section)
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
- Aligning with ADF 7.0-alpha.7
- Breaking changes
- New components and features
- Behavioural changes
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:
ToolbarComponent—itemsis 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.
takeUntilDestroyedsubscription cleanup (ACS-8959) — ACA adopted Angular'stakeUntilDestroyedoperator (withDestroyRef) across the folder-rules components and severalaca-contentcomponents, replacing manualngOnDestroy/takeUntil(Subject)teardown. This is an internal refactor, but if your fork subclasses these components or relied on their destroySubjects, 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. |