6.8 KiB
Title
| Title |
|---|
| Upgrading from ACA v7.5.0 to v8.0.0 |
Upgrading from ACA v7.5.0 to v8.0.0
This guide provides instructions on how to upgrade your Alfresco Content Application (ACA) v7.5.0 project to v8.0.0.
This is a major release. It moves ACA from Angular 19 to 20, takes ADF / @alfresco/js-api to their new
majors 9.0.0 / 10.0.0, and upgrades NgRx 19 → 20 and TypeScript 5.8 → 5.9. The most significant
functional change is the removal of the embedded Knowledge Retrieval (AI) feature, which is replaced by a link
to an external Knowledge Discovery application. The corresponding ADF guide is:
Budget time to migrate to Angular 20 and re-test. Read the breaking changes carefully.
Before you begin
Always perform upgrades on a "clean" project state, back up your changes or make a project backup. Move your
application to Angular 20 / TypeScript 5.9 / NgRx 20 in lockstep. Node is a patch bump
(.nvmrc 24.13.0 to 24.13.1).
Contents
- Library updates
- Aligning with Angular 20 / ADF 9.0
- Breaking changes
- New components and features
- Behavioural changes
Library updates
Update the package.json file with the latest library versions:
{
"dependencies": {
"@alfresco/adf-core": "9.0.0",
"@alfresco/adf-content-services": "9.0.0",
"@alfresco/adf-extensions": "9.0.0",
"@alfresco/js-api": "10.0.0",
"@angular/core": "20.3.25",
"@angular/material": "20.2.14",
"@ngrx/store": "~20.1.0",
"typescript": "5.9.3"
}
}
The whole @angular/* toolchain moves to 20.x, @ngrx/* to ~20.1.0, @angular-eslint/* 19.8 → 20.7,
@typescript-eslint/* → 8.55.0, @nx/* / nx 22 → 23, ng-packagr 19 → 20, stylelint 15 → 16,
@mat-datetimepicker/core 15 → 16, and @alfresco/adf-cli / @alfresco/eslint-plugin-eslint-angular to 9.0.0.
The katex, mermaid, ngx-markdown and prismjs dependencies were removed (they backed the removed
Knowledge Retrieval markdown rendering), and an overrides entry pins node-fetch for @module-federation/sdk.
Node is a patch bump (.nvmrc 24.13.0 → 24.13.1). Clean node_modules and the lockfile, then reinstall.
Aligning with Angular 20 / ADF 9.0
See the ADF 8.5.0 → 9.0.0 guide for the underlying platform detail.
Angular 20 migration
ACA was lifted to Angular 20 (ACS-11306). Run the Angular 20 update
(ng update @angular/core@20 @angular/cli@20 @angular/material@20) against your fork. Two notable points:
- Built-in control flow adopted — unlike the Angular 19 step, ACA now uses Angular's built-in control-flow
syntax (
@if/@for) in its templates. If your fork extends ACA templates, expect the new syntax. inject()DI — the@angular-eslintprefer-injectrule (enabled in 7.4.1) is now the norm; constructor injection has largely been converted toinject().
Breaking changes
Platform lockstep
You must move your application to Angular 20, TypeScript 5.9 and NgRx 20 together with ACA. This is the dominant breaking change.
Embedded Knowledge Retrieval removed
The embedded Knowledge Retrieval (AI) feature was removed from ACA (ACS-12037). All of its components were
deleted — agents-button, search-ai-input, search-ai-input-container, search-ai-results and the
search-ai-marked-options helper — along with the markdown rendering stack (katex / mermaid / ngx-markdown /
prismjs).
In its place, ACA now offers a link to an external Knowledge Discovery application: a new
knowledge-discovery-sidenav component navigates to the URL from the new knowledgeDiscoveryUrl app setting,
which can be provided at runtime (e.g. via a Docker env var, #5295). If your fork depended on the in-app AI answer
components or dispatched the AI search actions, migrate to the external Knowledge Discovery integration.
Library public API
@alfresco/aca-shared/store— removed thesearch-ai.actionsand theai-search-by-term-payloadmodel (part of the Knowledge Retrieval removal above), and addednode-path.utils.
node-path.utils exports a NodeContentSource type ('personal-files' | 'libraries' | 'repository') and a
getNodeContentSource(path) helper for determining which content source a node belongs to.
New components and features
- External Knowledge Discovery link — the
knowledge-discovery-sidenavcomponent and the runtime-configurableknowledgeDiscoveryUrlapp setting replace the removed in-app AI feature (ACS-12037 / #5295). node-path.utils(@alfresco/aca-shared/store) —NodeContentSource/getNodeContentSource()for classifying a node's source (personal files, libraries or repository).- Repository Access improvements (MNT-25732) — enhancements to the repository-view feature introduced in 7.5.0.
- Search refactoring and unification (MNT-25681), plus a debounce timer for saved searches that limits API calls on every keystroke (ACS-12041).
Behavioural changes
| Area | Change |
|---|---|
| Shared Files | Sorting now works for the Location, Size, Modified-by and Shared-by columns (ACS-12246). |
| Bulk upload | The context menu no longer disappears during a bulk upload (ACS-11973), and the preview no longer switches to the next file (ACS-12047). |
| Folder rules | Files can no longer be incorrectly marked as selected in the link-rules dialog (ACS-11975). |
| Viewer | The image-viewer toolbar is no longer transparent in crop mode (ACS-12014). |
| Search | The same term can be executed again when the search mode changes (#5297). |
| Styling | Container elevation now uses a proper shadow rather than box-shadow: none (ACS-11879, an MD3 follow-up). |