mirror of
https://github.com/Alfresco/alfresco-content-app.git
synced 2026-09-09 18:02:54 +00:00
[ACS-12451] Add missing upgrade guides in ACA (#5345)
* [ACS-12451] Add missing upgrade guides in ACA * [ACS-12451] CR fix
This commit is contained in:
@@ -0,0 +1,119 @@
|
||||
---
|
||||
Title: Upgrading from ACA v7.3.0 to v7.4.1
|
||||
---
|
||||
|
||||
# Upgrading from ACA v7.3.0 to v7.4.1
|
||||
|
||||
This guide provides instructions on how to upgrade your Alfresco Content Application (ACA) v7.3.0 project to
|
||||
v7.4.1 (there was no 7.4.0 release).
|
||||
|
||||
This is a minor release on the Angular 19 / ADF 8 line: it moves **ADF 8.3.1 → 8.4.1** and `@alfresco/js-api`
|
||||
9.3.1 → 9.4.1. Angular stays on the 19.2 line (patch `19.2.19` to `19.2.20`), and Node (`.nvmrc` 24.13.0),
|
||||
TypeScript, zone.js and NgRx are unchanged. The notable items are the **`@ngx-translate/core` 16 → 17** major bump
|
||||
(which was attempted and reverted in 7.3.0, and now lands), a **front-end rebrand**, a new **repository view**, and
|
||||
a **search UX rework** that removed two recently-added form validators. The corresponding ADF guide is:
|
||||
|
||||
- [ADF — Upgrading from v8.3.1 to v8.4.1](https://github.com/Alfresco/alfresco-ng2-components/blob/develop/docs/upgrade-guide/upgrade831-841.md)
|
||||
|
||||
Read the [breaking changes](#breaking-changes).
|
||||
|
||||
## Before you begin
|
||||
|
||||
Always perform upgrades on a "clean" project state, back up your changes or make a project backup. The Angular 19 /
|
||||
TypeScript 5.8 platform and Node 24 (`.nvmrc`) are unchanged from 7.3.0.
|
||||
|
||||
## Contents
|
||||
|
||||
- [Library updates](#library-updates)
|
||||
- [Aligning with ADF 8.4](#aligning-with-adf-84)
|
||||
- [ngx-translate 17](#ngx-translate-17)
|
||||
- [js-api LazyApi decorator](#js-api-lazyapi-decorator)
|
||||
- [Library peer dependencies](#library-peer-dependencies)
|
||||
- [Breaking changes](#breaking-changes)
|
||||
- [Removed search validators](#removed-search-validators)
|
||||
- [prefer-inject lint rule](#prefer-inject-lint-rule)
|
||||
- [New components and features](#new-components-and-features)
|
||||
- [Behavioural changes](#behavioural-changes)
|
||||
|
||||
## Library updates
|
||||
|
||||
Update the `package.json` file with the latest library versions:
|
||||
|
||||
```json
|
||||
{
|
||||
"dependencies": {
|
||||
"@alfresco/adf-core": "8.4.1",
|
||||
"@alfresco/adf-content-services": "8.4.1",
|
||||
"@alfresco/adf-extensions": "8.4.1",
|
||||
"@alfresco/js-api": "9.4.1",
|
||||
"@ngx-translate/core": "^17.0.0",
|
||||
"@angular/core": "19.2.20"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
The whole `@angular/*` toolchain moves to the `19.2.20` patch, `@alfresco/adf-cli` /
|
||||
`@alfresco/eslint-plugin-eslint-angular` to `8.4.1`, `@angular-eslint/*` `19.3 → 19.8.1`, `@nx/*` / `nx`
|
||||
`21/22 → 22.5.4`, and `prettier` `3.5 → 3.8`. `pdfjs-dist` is now pinned exactly (`5.1.91`). **`@ngx-translate/core`
|
||||
moves `16 → 17`** (a major — see below). TypeScript (`5.8.2`), `@ngrx/*` (`19.2.1`), zone.js (`0.15.0`) and Node
|
||||
(`.nvmrc` `24.13.0`) are unchanged. Clean `node_modules` and the lockfile, then reinstall.
|
||||
|
||||
## Aligning with ADF 8.4
|
||||
|
||||
See the ADF [8.3.1 → 8.4.1 guide](https://github.com/Alfresco/alfresco-ng2-components/blob/develop/docs/upgrade-guide/upgrade831-841.md)
|
||||
for the underlying library changes.
|
||||
|
||||
### ngx-translate 17
|
||||
|
||||
`@ngx-translate/core` moved `16 → 17`. This is the upgrade that was reverted in 7.3.0 and now lands together with
|
||||
ADF 8.4. If your fork registers translation providers or a custom `TranslateLoader`, align them with the
|
||||
ngx-translate 17 API. A related fix ensures the app no longer reverts components to English after switching the
|
||||
language and reloading (ACS-10732).
|
||||
|
||||
### js-api LazyApi decorator
|
||||
|
||||
ACA adopted js-api's new **`LazyApi`** decorator (ACS-11205) and added the `declare` keyword to affected class
|
||||
fields (with a matching `tsconfig` adjustment) to prevent field shadowing under `useDefineForClassFields`. If your
|
||||
fork extends the same js-api-backed services, apply the same pattern.
|
||||
|
||||
### Library peer dependencies
|
||||
|
||||
The published libraries' `peerDependencies` for Angular and NgRx were updated to **v19.2** (#5151). Align your
|
||||
consuming project's Angular / NgRx versions accordingly.
|
||||
|
||||
## Breaking changes
|
||||
|
||||
### Removed search validators
|
||||
|
||||
As part of the search UX rework (ACS-10475), the two form validators added in the previous releases were
|
||||
**removed** from `@alfresco/aca-shared` (their files were deleted):
|
||||
|
||||
- `noWhitespaceValidator`
|
||||
- `noLeadingTrailingOperatorsValidator`
|
||||
|
||||
If your fork imported either validator from `@alfresco/aca-shared`, inline the check or provide your own
|
||||
`ValidatorFn`; the search input now handles this internally.
|
||||
|
||||
### prefer-inject lint rule
|
||||
|
||||
The `@angular-eslint` **`prefer-inject`** rule was enabled by default (ACS-11417), in line with the Angular 20
|
||||
direction. This is a lint-level change that may produce warnings/errors in a fork that still uses constructor
|
||||
injection; migrate to `inject()` or adjust your lint config.
|
||||
|
||||
## New components and features
|
||||
|
||||
- **Repository view** (MNT-25615) — a new `repository-view` component and route that surface the repository
|
||||
(Company Home) root as a browsable location.
|
||||
- **Search UX improvements** (ACS-10475) — a set of front-end search UX refinements (including the internalised
|
||||
input validation that replaced the removed validators above).
|
||||
|
||||
## Behavioural changes
|
||||
|
||||
| Area | Change |
|
||||
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Branding | The application was rebranded — the Alfresco logo and favicon were updated (ACS-11271). |
|
||||
| Localisation | Switching the language and reloading no longer reverts components back to English (ACS-10732). |
|
||||
| Records | The *Edit Offline* option is hidden when a node is checked out (MNT-25584). |
|
||||
| Node info | The Information button display was fixed (MNT-25478 follow-up). |
|
||||
| Accessibility | The search page is now readable at 320px width (ACS-10258), and the Saved Search dialog manages focus correctly on open and return to trigger on close (ACS-10273). |
|
||||
| Libraries | Library-properties handling was cleaned up (ACS-10621). |
|
||||
Reference in New Issue
Block a user