@eeacms/volto-cca-policy 0.3.124 → 0.3.126
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +161 -0
- package/artifacts/BLOCKS.md +167 -0
- package/artifacts/link-integrity-workflow/README.md +69 -0
- package/artifacts/link-integrity-workflow/index.md +33 -0
- package/artifacts/link-integrity-workflow/link-integrity-block-fields-report.md +132 -0
- package/artifacts/link-integrity-workflow/link-integrity-blocks-report.md +52 -0
- package/artifacts/link-integrity-workflow/understanding-link-integrity.md +143 -0
- package/artifacts/link-integrity-workflow/volto-block-link-analysis.md +63 -0
- package/artifacts/link-integrity-workflow/volto-block-link-discovery.md +60 -0
- package/artifacts/test-fixes/test-fixes-specification.md +267 -0
- package/jest-addon.config.js +1 -0
- package/jest-node-crypto-mock.js +3 -0
- package/package.json +1 -1
- package/src/components/index.js +1 -0
- package/src/components/manage/Blocks/ReadMore/ReadMoreView.test.jsx +13 -0
- package/src/components/manage/Workflow/WorkflowLinkIntegrityModal.jsx +186 -0
- package/src/components/manage/Workflow/WorkflowLinkIntegrityModal.test.jsx +149 -0
- package/src/components/theme/Views/ArchivedVersionListing.test.jsx +14 -18
- package/src/components/theme/Views/CcaEventView.test.jsx +12 -3
- package/src/components/theme/Views/DatabaseItemView.test.jsx +2 -2
- package/src/components/theme/Widgets/GeolocationWidget.jsx +1 -1
- package/src/customizations/volto/components/manage/Workflow/README.md +23 -0
- package/src/customizations/volto/components/manage/Workflow/Workflow.jsx +359 -0
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,156 @@ All notable changes to this project will be documented in this file. Dates are d
|
|
|
4
4
|
|
|
5
5
|
Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
|
6
6
|
|
|
7
|
+
### [0.3.126](https://github.com/eea/volto-cca-policy/compare/1.0.0-alpha.3...0.3.126) - 26 May 2026
|
|
8
|
+
|
|
9
|
+
#### :bug: Bug Fixes
|
|
10
|
+
|
|
11
|
+
- fix: update warning message in link integrity workflow state change modal [Tiberiu Ichim - [`1244b2e`](https://github.com/eea/volto-cca-policy/commit/1244b2e826590050c6b10506651482cd615b8c92)]
|
|
12
|
+
- fix: resolve workflow state transition failure when confirming via link integrity warning modal [Tiberiu Ichim - [`2fd0d89`](https://github.com/eea/volto-cca-policy/commit/2fd0d899fc421b4944de5488902f4bc35f5102d9)]
|
|
13
|
+
|
|
14
|
+
#### :house: Internal changes
|
|
15
|
+
|
|
16
|
+
- style: Automated code fix [eea-jenkins - [`1e4caaf`](https://github.com/eea/volto-cca-policy/commit/1e4caafffd7b026c565887d6ace3c7ec87866bfe)]
|
|
17
|
+
|
|
18
|
+
#### :house: Documentation changes
|
|
19
|
+
|
|
20
|
+
- docs: convert index.md absolute links to clean relative links [Tiberiu Ichim - [`bfb2d6a`](https://github.com/eea/volto-cca-policy/commit/bfb2d6a6c592991c4f65875c8db5f9b55205bf4d)]
|
|
21
|
+
- docs: reorganize link integrity workflow artifacts, adding README specification and index overview [Tiberiu Ichim - [`1208c96`](https://github.com/eea/volto-cca-policy/commit/1208c9619ff4097a4d954e355895382978b326dc)]
|
|
22
|
+
- docs: add specification for link integrity check during workflow transitions [Tiberiu Ichim - [`842da3d`](https://github.com/eea/volto-cca-policy/commit/842da3d371f0c5c38a538e3d519bc5eb79705e34)]
|
|
23
|
+
|
|
24
|
+
### [1.0.0-alpha.3](https://github.com/eea/volto-cca-policy/compare/1.0.0-alpha.2...1.0.0-alpha.3) - 22 May 2026
|
|
25
|
+
|
|
26
|
+
#### :bug: Bug Fixes
|
|
27
|
+
|
|
28
|
+
- fix: imports [kreafox - [`c20878e`](https://github.com/eea/volto-cca-policy/commit/c20878e4c72c91a239a5b5fd1cf2fc11b943dc2a)]
|
|
29
|
+
- fix: undo some changes [kreafox - [`2e7e7fa`](https://github.com/eea/volto-cca-policy/commit/2e7e7fa5596bdcc2b4866c915bc1671fc373ac0a)]
|
|
30
|
+
|
|
31
|
+
#### :hammer_and_wrench: Others
|
|
32
|
+
|
|
33
|
+
- eslint image [iugin - [`c293ec8`](https://github.com/eea/volto-cca-policy/commit/c293ec8a9a525eff431629d7724e65bdd959a07b)]
|
|
34
|
+
- eslint image tag [iugin - [`6f7d575`](https://github.com/eea/volto-cca-policy/commit/6f7d5752466dac4412c6ef119e9f8a624c8f9706)]
|
|
35
|
+
- eslint [iugin - [`a449f36`](https://github.com/eea/volto-cca-policy/commit/a449f36f3b8d5b8e60ff6a3ffcc439b01aa78245)]
|
|
36
|
+
- remove old js files, remains jsx [iugin - [`3ff03ae`](https://github.com/eea/volto-cca-policy/commit/3ff03ae75e5a1a106ebd0547705dcab89d3c4a79)]
|
|
37
|
+
- eslint updates jsx, include and Image tag [iugin - [`ac5abd2`](https://github.com/eea/volto-cca-policy/commit/ac5abd288ec258774a90c2395964521068918d29)]
|
|
38
|
+
### [1.0.0-alpha.2](https://github.com/eea/volto-cca-policy/compare/1.0.0-alpha.1...1.0.0-alpha.2) - 21 May 2026
|
|
39
|
+
|
|
40
|
+
#### :bug: Bug Fixes
|
|
41
|
+
|
|
42
|
+
- fix: long gap in blocks chooser [kreafox - [`e86ef53`](https://github.com/eea/volto-cca-policy/commit/e86ef531a3a70a024b0c76b47d09e967fd28ba5b)]
|
|
43
|
+
- fix(block): spacing issue with accordion in tabs block [kreafox - [`cf6de7c`](https://github.com/eea/volto-cca-policy/commit/cf6de7c52d941e75bb1c7e4704abfc5ff47775c3)]
|
|
44
|
+
|
|
45
|
+
#### :hammer_and_wrench: Others
|
|
46
|
+
|
|
47
|
+
- rename files for volto-18 [iugin - [`5ca21ab`](https://github.com/eea/volto-cca-policy/commit/5ca21aba63f0133003267531335a207130717234)]
|
|
48
|
+
- Add artifacts [Tiberiu Ichim - [`37cccf1`](https://github.com/eea/volto-cca-policy/commit/37cccf1d3f1d926c64c7d192b071c7cd0061cb0a)]
|
|
49
|
+
- Add blocks overview [Tiberiu Ichim - [`1aa6e8b`](https://github.com/eea/volto-cca-policy/commit/1aa6e8b780f4f7a00641872ef7a99e2223cd1feb)]
|
|
50
|
+
- Refs #296263 - sidebar menu sticky and add "submenus" [iugin - [`1bce280`](https://github.com/eea/volto-cca-policy/commit/1bce2802e815bb1dd4fabb62d3c7ff7478c46b07)]
|
|
51
|
+
- Refs #296263 - remove border landing page [iugin - [`488b7d1`](https://github.com/eea/volto-cca-policy/commit/488b7d1dfbc307d8571802e86e6343fff52b04ce)]
|
|
52
|
+
- Refs #296263 - add submenu [iugin - [`decc8b1`](https://github.com/eea/volto-cca-policy/commit/decc8b16f2d5aea6214f137b3afde5586806021b)]
|
|
53
|
+
- Refs #298498 - force rebuild [iugin - [`f3deed1`](https://github.com/eea/volto-cca-policy/commit/f3deed10893c81768a33ccb44f4659c28cce02a4)]
|
|
54
|
+
- Refs #298498 - exclude UK [iugin - [`43c122d`](https://github.com/eea/volto-cca-policy/commit/43c122d067029a9b08d729a04f9e17ce07b1911f)]
|
|
55
|
+
- Fix Jenkins. [GhitaB - [`8fa1d86`](https://github.com/eea/volto-cca-policy/commit/8fa1d860b3a572d0769d637fdb3fc4f9ecf149f8)]
|
|
56
|
+
- Fix Jenkins. [GhitaB - [`b1baaf2`](https://github.com/eea/volto-cca-policy/commit/b1baaf2274224f0046281d2cfb629138d01ec121)]
|
|
57
|
+
- Refs #296263 - country map eslint [iugin - [`237cf82`](https://github.com/eea/volto-cca-policy/commit/237cf824d6224947b0b1bf053e0a6fbade7673b8)]
|
|
58
|
+
- Refs #296263 - country map eslint [iugin - [`2506368`](https://github.com/eea/volto-cca-policy/commit/250636839550d91b50be1841f491fbf6415e2b13)]
|
|
59
|
+
- Refs #296263 - country map [iugin - [`9c517cb`](https://github.com/eea/volto-cca-policy/commit/9c517cb37dc211732b6e8511c37727f41fdb776f)]
|
|
60
|
+
- Refs #296263 - country profile landing init [iugin - [`ae9ffb4`](https://github.com/eea/volto-cca-policy/commit/ae9ffb4f3c73b2331014808ee114049dfa8fe9ab)]
|
|
61
|
+
- Refs #296263 - country profile ticket updates [iugin - [`edbf93d`](https://github.com/eea/volto-cca-policy/commit/edbf93d071d770f596fce12cf463151bff4efd72)]
|
|
62
|
+
- Refs #296263 - add Monitoring_Evaluation [iugin - [`d18a9de`](https://github.com/eea/volto-cca-policy/commit/d18a9ded8f65fa7bd58ef8e62985da77dead6562)]
|
|
63
|
+
- Refs #296263 - section name update [iugin - [`23e2e25`](https://github.com/eea/volto-cca-policy/commit/23e2e258bec0f51b20e656907cf2a8ee0cc2c427)]
|
|
64
|
+
- Refs #296263 - Key affected sectors tab [iugin - [`6d2c52f`](https://github.com/eea/volto-cca-policy/commit/6d2c52fda49270e704162bb90e48931bbdb7118e)]
|
|
65
|
+
- Refs #296263 - static countries [iugin - [`a58c3aa`](https://github.com/eea/volto-cca-policy/commit/a58c3aa596defc73fbd07ac0a58e05e510627b65)]
|
|
66
|
+
- Refs #296263 - assesments status map and circles [iugin - [`fa9c4a4`](https://github.com/eea/volto-cca-policy/commit/fa9c4a457baf4ad644438ee9649c17cf0798e3a7)]
|
|
67
|
+
- Refs #296263 - className and callout [iugin - [`e0646d7`](https://github.com/eea/volto-cca-policy/commit/e0646d7b28ca6c0724325678b82be2d855533c6c)]
|
|
68
|
+
- Refs #296263 - className [iugin - [`0f568d7`](https://github.com/eea/volto-cca-policy/commit/0f568d7af4ac0b4f6791b08e7209f4ff5f659327)]
|
|
69
|
+
- Refs #296263 - styles and messages [iugin - [`359f2fc`](https://github.com/eea/volto-cca-policy/commit/359f2fcd207a6e58bc9e32d514ca23183ea6ca8e)]
|
|
70
|
+
- Refs #296263 - jenkins update [iugin - [`b424df5`](https://github.com/eea/volto-cca-policy/commit/b424df51271e975a9721e4c0712c3009b68e53fa)]
|
|
71
|
+
- Refs #296263 - init [iugin - [`01bff47`](https://github.com/eea/volto-cca-policy/commit/01bff4757de9d2b01b9476f19b61715a7983999b)]
|
|
72
|
+
### [1.0.0-alpha.1](https://github.com/eea/volto-cca-policy/compare/0.3.125...1.0.0-alpha.1) - 20 May 2026
|
|
73
|
+
|
|
74
|
+
#### :rocket: New Features
|
|
75
|
+
|
|
76
|
+
- feat: update Dockerfile and configuration for Volto 18 compatibility [kreafox - [`2c51416`](https://github.com/eea/volto-cca-policy/commit/2c51416baf7e550936bdce3e5f510631bb7164ab)]
|
|
77
|
+
|
|
78
|
+
#### :bug: Bug Fixes
|
|
79
|
+
|
|
80
|
+
- fix: sonarqube reported issues [kreafox - [`8398f64`](https://github.com/eea/volto-cca-policy/commit/8398f64d10f10444a8a96e1b120fc378aefad727)]
|
|
81
|
+
- fix: resolve React key warnings [kreafox - [`aa5d176`](https://github.com/eea/volto-cca-policy/commit/aa5d176006ddbfd172d78497c13934f6679e2ea0)]
|
|
82
|
+
- fix: resolve React key warnings [kreafox - [`7f90769`](https://github.com/eea/volto-cca-policy/commit/7f90769f56189ce7a9b8592d2faf73864b0d9a76)]
|
|
83
|
+
- fix: remove volto 17 testing from Jenkinsfile [kreafox - [`f239097`](https://github.com/eea/volto-cca-policy/commit/f239097f080abf6cf5eb4bfd69361b4416917e21)]
|
|
84
|
+
|
|
85
|
+
#### :nail_care: Enhancements
|
|
86
|
+
|
|
87
|
+
- refactor: update volto-slate customizations, fix eslint [kreafox - [`42c4c00`](https://github.com/eea/volto-cca-policy/commit/42c4c0096c9cc40037fc856f683c70e3ac202620)]
|
|
88
|
+
- change: update HeaderMenuPopUp.js, fix eslint issue [kreafox - [`2e8fa31`](https://github.com/eea/volto-cca-policy/commit/2e8fa319e7f3e26b17472d18db1acb12292be837)]
|
|
89
|
+
- refactor: constants and imports [kreafox - [`44e6627`](https://github.com/eea/volto-cca-policy/commit/44e662780894dff6a01f150923d41a373560195a)]
|
|
90
|
+
- refactor: change files extension from .js to .jsx [kreafox - [`577d8cf`](https://github.com/eea/volto-cca-policy/commit/577d8cf01f4a3024eb92639ff3898c667c266abb)]
|
|
91
|
+
- refactor: move hocs inside hocs folder, update imports [kreafox - [`2284251`](https://github.com/eea/volto-cca-policy/commit/2284251d4dc3438c754747cc041ce39059a1edcc)]
|
|
92
|
+
- refactor: move AST navigation utilities to local definitions [kreafox - [`e2749d6`](https://github.com/eea/volto-cca-policy/commit/e2749d625a259df4af2a37f2287a1778b753adbb)]
|
|
93
|
+
- refactor: update View component to use withOpenLayers [kreafox - [`63f698d`](https://github.com/eea/volto-cca-policy/commit/63f698de1e44c91d4d8e2b9a3b6e0a48167c069d)]
|
|
94
|
+
- refactor: change files extension from .js to .jsx [kreafox - [`939ecd9`](https://github.com/eea/volto-cca-policy/commit/939ecd910b41ec624a69d883882aaebcf642af46)]
|
|
95
|
+
- refactor: update jest-dom import to remove extend-expect usage [kreafox - [`3a9fc09`](https://github.com/eea/volto-cca-policy/commit/3a9fc096f3e345e6dc7a03a774bf6dd486a3e84f)]
|
|
96
|
+
- refactor: replace native img tags with Volto Image component in ImageWidget [kreafox - [`16494d3`](https://github.com/eea/volto-cca-policy/commit/16494d3fe2d855d739f75930855c5d6caa27491f)]
|
|
97
|
+
- refactor: replace native img tags with Volto Image component in ImageWidget [kreafox - [`bce54f7`](https://github.com/eea/volto-cca-policy/commit/bce54f74c7230027a523a8153d17eb1ced6522ed)]
|
|
98
|
+
- refactor: update lodash imports to use individual method paths [kreafox - [`d949f92`](https://github.com/eea/volto-cca-policy/commit/d949f925a8dedcbe7bbb5bd7589bd395275cb242)]
|
|
99
|
+
- refactor: remove barrel imports [kreafox - [`222bb04`](https://github.com/eea/volto-cca-policy/commit/222bb0488631beff2aa5183b63f3f0e6ce4e7327)]
|
|
100
|
+
- refactor: remove barrel imports [kreafox - [`3028ecd`](https://github.com/eea/volto-cca-policy/commit/3028ecd4e9f9be9252a4ad51bf453eaecbd6f4a8)]
|
|
101
|
+
- refactor: remove barrel imports [kreafox - [`1dde57d`](https://github.com/eea/volto-cca-policy/commit/1dde57d21f2cf536c6653b63687d1a560b70fec8)]
|
|
102
|
+
- refactor: remove barrel imports [kreafox - [`da460b8`](https://github.com/eea/volto-cca-policy/commit/da460b80174d01b557ccc727bfd56ae3eb85dc43)]
|
|
103
|
+
- refactor: update ESLint configuration [kreafox - [`a277217`](https://github.com/eea/volto-cca-policy/commit/a27721764461c0073b320897ef5e9d9dc5204721)]
|
|
104
|
+
- refactor: update Jenkinsfile for Volto 18 integration [kreafox - [`9b6013e`](https://github.com/eea/volto-cca-policy/commit/9b6013e0d2c6ddf068f19d536da455f147552c99)]
|
|
105
|
+
|
|
106
|
+
#### :house: Internal changes
|
|
107
|
+
|
|
108
|
+
- chore: bump version to 1.0.0 [kreafox - [`39de87b`](https://github.com/eea/volto-cca-policy/commit/39de87b1b368cbf41fbc77dbb37b07ceb2253baa)]
|
|
109
|
+
- chore: Volto 18 eslint update [kreafox - [`998accc`](https://github.com/eea/volto-cca-policy/commit/998accce812186a91530403e347054adaed147dc)]
|
|
110
|
+
- chore: disable jsx-filename-extension lint rule [kreafox - [`d5a7a70`](https://github.com/eea/volto-cca-policy/commit/d5a7a70315b5d41db4574e365218a9422dd8e614)]
|
|
111
|
+
- style: Automated code fix [eea-jenkins - [`39a1a0f`](https://github.com/eea/volto-cca-policy/commit/39a1a0f4c4dcf242134cc8c940b7632ca87b135d)]
|
|
112
|
+
- style: Automated code fix [eea-jenkins - [`1308bc6`](https://github.com/eea/volto-cca-policy/commit/1308bc6cc13e7c8deedfd23948af8c0deba45f70)]
|
|
113
|
+
|
|
114
|
+
#### :hammer_and_wrench: Others
|
|
115
|
+
|
|
116
|
+
- test: update snapshots [kreafox - [`420d51d`](https://github.com/eea/volto-cca-policy/commit/420d51d1e88323db7295752dc1a184888d3d504e)]
|
|
117
|
+
- test: mock withScrollToTarget in Spotlight.test.jsx [kreafox - [`5fe54fb`](https://github.com/eea/volto-cca-policy/commit/5fe54fb44960bacc9ff0fe1d91bbbeec2bc58e83)]
|
|
118
|
+
- update language import path [iugin - [`1217dcc`](https://github.com/eea/volto-cca-policy/commit/1217dcc9e6aa3971bf30c07bb93203cb73949c23)]
|
|
119
|
+
### [0.3.125](https://github.com/eea/volto-cca-policy/compare/0.3.124...0.3.125) - 18 May 2026
|
|
120
|
+
|
|
121
|
+
#### :rocket: New Features
|
|
122
|
+
|
|
123
|
+
- feat: add activity indicator during workflow transition [Tiberiu Ichim - [`869cf77`](https://github.com/eea/volto-cca-policy/commit/869cf7733968fc55739f0ad4e94b2d5ffb9a7bbc)]
|
|
124
|
+
|
|
125
|
+
#### :bug: Bug Fixes
|
|
126
|
+
|
|
127
|
+
- fix(eslint): silence no-console warning in ReadMoreView test [Tiberiu Ichim - [`751dfdb`](https://github.com/eea/volto-cca-policy/commit/751dfdb089bc3ebe8099c990147848338d2146e6)]
|
|
128
|
+
- fix(tests): fix 3 failing test suites [Tiberiu Ichim - [`9956429`](https://github.com/eea/volto-cca-policy/commit/995642903bca5750bed270671881a9172476d242)]
|
|
129
|
+
- fix: make workflow link integrity check robust to API errors and URL variations [Tiberiu Ichim - [`07260f2`](https://github.com/eea/volto-cca-policy/commit/07260f2ae89786ba49736d53b1650d4e6332eafb)]
|
|
130
|
+
- fix: stale link integrity data and transition execution robustness [Tiberiu Ichim - [`704faf8`](https://github.com/eea/volto-cca-policy/commit/704faf8bf7aeb6ad4614715c3c95b5599ce13a57)]
|
|
131
|
+
- fix: race condition in link integrity check during workflow transition [Tiberiu Ichim - [`a2f3deb`](https://github.com/eea/volto-cca-policy/commit/a2f3deb4e1b83c094138f46ec8da1573c7939694)]
|
|
132
|
+
|
|
133
|
+
#### :house: Internal changes
|
|
134
|
+
|
|
135
|
+
- style: Automated code fix [eea-jenkins - [`a7207bf`](https://github.com/eea/volto-cca-policy/commit/a7207bf7b41da19a845af247c5628aa00a870099)]
|
|
136
|
+
- style: Automated code fix [eea-jenkins - [`eff3551`](https://github.com/eea/volto-cca-policy/commit/eff35514016705cc6103945beb298f9b0c0a4903)]
|
|
137
|
+
|
|
138
|
+
#### :house: Documentation changes
|
|
139
|
+
|
|
140
|
+
- docs: add test fixes specification for 4 failing test suites [Tiberiu Ichim - [`c00a536`](https://github.com/eea/volto-cca-policy/commit/c00a5368f06a5d28d8d455cf75b3b8cabb947155)]
|
|
141
|
+
- docs: finalize detailed guide on block discovery and link extraction [Tiberiu Ichim - [`253d576`](https://github.com/eea/volto-cca-policy/commit/253d576176e6a76f860a8371a598d82a49323404)]
|
|
142
|
+
- docs: finalize technical details on block nesting and link extraction [Tiberiu Ichim - [`78dcd18`](https://github.com/eea/volto-cca-policy/commit/78dcd18435eb192a0c380c11fe70d83d44b35545)]
|
|
143
|
+
- docs: add technical documentation on how Volto discovers links in blocks [Tiberiu Ichim - [`89fff64`](https://github.com/eea/volto-cca-policy/commit/89fff648e9dda10a6b6145ac13fff7b14c2c330e)]
|
|
144
|
+
- docs: document activity indicators and UX improvements [Tiberiu Ichim - [`e7bdb88`](https://github.com/eea/volto-cca-policy/commit/e7bdb888237eb8a3181b11520e1002c60a310aa5)]
|
|
145
|
+
- docs: document race condition prevention logic [Tiberiu Ichim - [`5ce00b2`](https://github.com/eea/volto-cca-policy/commit/5ce00b255c6835132c50d74ce08af9a6ddb53262)]
|
|
146
|
+
- docs: add user story for testing link integrity warning [Tiberiu Ichim - [`5026dcb`](https://github.com/eea/volto-cca-policy/commit/5026dcb039a5d2b603b51da33e999ba416e9e26e)]
|
|
147
|
+
|
|
148
|
+
#### :hammer_and_wrench: Others
|
|
149
|
+
|
|
150
|
+
- Add artifacts [Tiberiu Ichim - [`37cccf1`](https://github.com/eea/volto-cca-policy/commit/37cccf1d3f1d926c64c7d192b071c7cd0061cb0a)]
|
|
151
|
+
- Add blocks overview [Tiberiu Ichim - [`1aa6e8b`](https://github.com/eea/volto-cca-policy/commit/1aa6e8b780f4f7a00641872ef7a99e2223cd1feb)]
|
|
152
|
+
- test: add tests for WorkflowLinkIntegrityModal [Tiberiu Ichim - [`53e1dd1`](https://github.com/eea/volto-cca-policy/commit/53e1dd1ef924352f1b8328819cd727633b47658b)]
|
|
153
|
+
- test: fix console warnings in test suite [Tiberiu Ichim - [`a3d49b4`](https://github.com/eea/volto-cca-policy/commit/a3d49b40d63a452546322b9f0e170a965f2dc3fc)]
|
|
154
|
+
- Add spec [Tiberiu Ichim - [`2034b80`](https://github.com/eea/volto-cca-policy/commit/2034b80f470344a6c20524b04364f1ae9f770a6d)]
|
|
155
|
+
- Add README for shadowed Workflow component [Tiberiu Ichim - [`5dac2e7`](https://github.com/eea/volto-cca-policy/commit/5dac2e7a7941c4e47afa229fb65c4b08db8606b8)]
|
|
156
|
+
- Add implementation artifacts for link integrity warning [Tiberiu Ichim - [`84e2aa4`](https://github.com/eea/volto-cca-policy/commit/84e2aa4529dbd02a05bc148a9900f7cc4a25c54d)]
|
|
7
157
|
### [0.3.124](https://github.com/eea/volto-cca-policy/compare/0.3.123...0.3.124) - 12 May 2026
|
|
8
158
|
|
|
9
159
|
#### :bug: Bug Fixes
|
|
@@ -316,6 +466,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
|
|
316
466
|
|
|
317
467
|
#### :house: Internal changes
|
|
318
468
|
|
|
469
|
+
- chore: [JENKINSFILE] add package version in sonarqube [valentinab25 - [`e901251`](https://github.com/eea/volto-cca-policy/commit/e901251592eb54609fbc7eb8fcf7bd452c2da9cd)]
|
|
319
470
|
|
|
320
471
|
### [0.3.102](https://github.com/eea/volto-cca-policy/compare/0.3.101...0.3.102) - 24 February 2026
|
|
321
472
|
|
|
@@ -325,6 +476,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
|
|
325
476
|
|
|
326
477
|
#### :house: Internal changes
|
|
327
478
|
|
|
479
|
+
- chore: [JENKINSFILE] use sonarqube branches [EEA Jenkins - [`8b3699a`](https://github.com/eea/volto-cca-policy/commit/8b3699a6cbaef662b5e80884ac2c1f7dc9c6591e)]
|
|
328
480
|
|
|
329
481
|
### [0.3.101](https://github.com/eea/volto-cca-policy/compare/0.3.100...0.3.101) - 28 January 2026
|
|
330
482
|
|
|
@@ -612,6 +764,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
|
|
612
764
|
- style: fix item spacing [kreafox - [`7d4535d`](https://github.com/eea/volto-cca-policy/commit/7d4535dbc486e6cb80fc55d6ac8c7c01d9cf48af)]
|
|
613
765
|
- chore: code cleanup [kreafox - [`842419b`](https://github.com/eea/volto-cca-policy/commit/842419b1bce3dc624755c81c9dea672198cab9e2)]
|
|
614
766
|
- style: update teaser block styling [kreafox - [`1e0cad8`](https://github.com/eea/volto-cca-policy/commit/1e0cad8e1ed3ae827ee868dce8ad50b292a937ba)]
|
|
767
|
+
- chore: update Makefile, run yarn i18n [kreafox - [`61e6962`](https://github.com/eea/volto-cca-policy/commit/61e6962901068ae6512265417a730bd9befd65fe)]
|
|
615
768
|
- chore: move styling to theme folder [kreafox - [`8cf6a1b`](https://github.com/eea/volto-cca-policy/commit/8cf6a1b8b14abf472a9c61b28db574f6d9e0bd3b)]
|
|
616
769
|
- chore: remove ArrayWidget customization [kreafox - [`249bf93`](https://github.com/eea/volto-cca-policy/commit/249bf93054f7726c3d57a8b8ca01b75cd0d30522)]
|
|
617
770
|
- chore: remove Footer customization [kreafox - [`7038af3`](https://github.com/eea/volto-cca-policy/commit/7038af37d48a328dfc31746f3fa84973e2f840ab)]
|
|
@@ -3374,10 +3527,13 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
|
|
3374
3527
|
- Refs #260715 rast-block wip [Tripon Eugen - [`f19d54e`](https://github.com/eea/volto-cca-policy/commit/f19d54e0b9a6a86bf344eb85b6a1cda7f3de91bf)]
|
|
3375
3528
|
- Refs #260715 rast-block wip [Tripon Eugen - [`2828537`](https://github.com/eea/volto-cca-policy/commit/2828537b6c084cd1a82162d552fb4ef025b71f9f)]
|
|
3376
3529
|
- Refs #260715 rast-block updates [Tripon Eugen - [`1e803e5`](https://github.com/eea/volto-cca-policy/commit/1e803e5bd3d3fb7558f261c76c68866be7beb8b5)]
|
|
3530
|
+
- test: [JENKINS] Use java17 for sonarqube scanner [valentinab25 - [`0a15e1b`](https://github.com/eea/volto-cca-policy/commit/0a15e1b2ad081233685e80d5b3c60a8663f6b896)]
|
|
3531
|
+
- test: [JENKINS] Run cypress in started frontend container [valentinab25 - [`9554e44`](https://github.com/eea/volto-cca-policy/commit/9554e44c92a621a52b2adb5a4830fb084ee5734b)]
|
|
3377
3532
|
### [0.1.49](https://github.com/eea/volto-cca-policy/compare/0.1.48...0.1.49) - 15 November 2023
|
|
3378
3533
|
|
|
3379
3534
|
#### :house: Internal changes
|
|
3380
3535
|
|
|
3536
|
+
- chore: [JENKINS] Refactor automated testing [valentinab25 - [`7b820a6`](https://github.com/eea/volto-cca-policy/commit/7b820a6369c2ddd5203b1a4abe352cb4bb43db7a)]
|
|
3381
3537
|
- chore: husky, lint-staged use fixed versions [valentinab25 - [`f0a8061`](https://github.com/eea/volto-cca-policy/commit/f0a8061c275c236deb00087c23fac9860a073106)]
|
|
3382
3538
|
|
|
3383
3539
|
#### :hammer_and_wrench: Others
|
|
@@ -3394,6 +3550,9 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
|
|
3394
3550
|
- Refs #259267 - jenkins test [Tripon Eugen - [`cacd31e`](https://github.com/eea/volto-cca-policy/commit/cacd31e7b1afe0983674ed5c7632d2e1d7fa752e)]
|
|
3395
3551
|
- Refs #259267 - jenkins [Tripon Eugen - [`5b3affe`](https://github.com/eea/volto-cca-policy/commit/5b3affee8401239de10097884c1b7f2349d15ec0)]
|
|
3396
3552
|
- Refs #259267 - add When, lead image and title to files [Tripon Eugen - [`2cedb23`](https://github.com/eea/volto-cca-policy/commit/2cedb237f898af9057e13fba94b615ef71077204)]
|
|
3553
|
+
- test: [JENKINS] Add cpu limit on cypress docker [valentinab25 - [`4d607a5`](https://github.com/eea/volto-cca-policy/commit/4d607a576e9d0a5c34e48c41b409e7df616ee3d6)]
|
|
3554
|
+
- test: [JENKINS] Increase shm-size to cypress docker [valentinab25 - [`b7f74d5`](https://github.com/eea/volto-cca-policy/commit/b7f74d53513a6edbfbca5cb6d19687929bb1e5db)]
|
|
3555
|
+
- test: [JENKINS] Improve cypress time [valentinab25 - [`db65617`](https://github.com/eea/volto-cca-policy/commit/db656173391f65157098d95d388c25f6429753d8)]
|
|
3397
3556
|
- Refs #259267 - cca event blocks attachments and check not mandatoty fields [Tripon Eugen - [`3138e5a`](https://github.com/eea/volto-cca-policy/commit/3138e5afb5bfbdbed14e27ed457b16867b7fa414)]
|
|
3398
3557
|
- Refs #256681 - Fix error in CCA Event view menu. ([React Intl] An id must be provided to format a message.) [GhitaB - [`517eeb8`](https://github.com/eea/volto-cca-policy/commit/517eeb817264a47bbfd6b9b7d22aaf22d44ed224)]
|
|
3399
3558
|
- Refs #161485 - Fix ECDE name conflict. [GhitaB - [`8bfd99f`](https://github.com/eea/volto-cca-policy/commit/8bfd99ff68bb82a04d1c0ed625fa514fcf46289e)]
|
|
@@ -3610,6 +3769,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
|
|
3610
3769
|
|
|
3611
3770
|
#### :house: Internal changes
|
|
3612
3771
|
|
|
3772
|
+
- chore: [JENKINS] Remove alpha testing version [valentinab25 - [`ad1ced0`](https://github.com/eea/volto-cca-policy/commit/ad1ced0971ba116c13a3b5fcc039172cc915c919)]
|
|
3613
3773
|
|
|
3614
3774
|
#### :hammer_and_wrench: Others
|
|
3615
3775
|
|
|
@@ -4090,6 +4250,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
|
|
4090
4250
|
#### :hammer_and_wrench: Others
|
|
4091
4251
|
|
|
4092
4252
|
- Refs #158294 - Update supported languages list. [GhitaB - [`0a4f91f`](https://github.com/eea/volto-cca-policy/commit/0a4f91f39b7edc367bd4c127d6a8f273c7788361)]
|
|
4253
|
+
- Add Sonarqube tag using cca-frontend addons list [EEA Jenkins - [`8f1f9ce`](https://github.com/eea/volto-cca-policy/commit/8f1f9ce6c22805670cc0800d3c779b6d619d0f31)]
|
|
4093
4254
|
### [0.1.1](https://github.com/eea/volto-cca-policy/compare/0.1.0...0.1.1) - 13 December 2022
|
|
4094
4255
|
|
|
4095
4256
|
#### :hammer_and_wrench: Others
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
# Custom Blocks in `volto-cca-policy`
|
|
2
|
+
|
|
3
|
+
This addon registers **20 custom blocks** and extends **2 existing blocks** (Listing, Tabs Block) with new variations.
|
|
4
|
+
All blocks are installed via `src/components/manage/Blocks/index.js`.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Custom Blocks
|
|
9
|
+
|
|
10
|
+
### AST Navigation
|
|
11
|
+
- **Block ID:** `astNavigation`
|
|
12
|
+
- **Group:** `site`
|
|
13
|
+
- **Restricted to:** Mission pages (via `blockAvailableInMission`)
|
|
14
|
+
- **What it does:** Renders a visual navigation map (logo map) for the *Adaptation Support Tool (AST)*. Supports two image types (`ast` and `uast`). Editors configure 6 linked items that map to clickable regions on the logo image. Clicking a region navigates to the corresponding content page.
|
|
15
|
+
|
|
16
|
+
### C3S Indicators Glossary
|
|
17
|
+
- **Block ID:** `c3SIndicatorsGlossaryBlock`
|
|
18
|
+
- **Group:** `site`
|
|
19
|
+
- **Restricted to:** Mission pages
|
|
20
|
+
- **What it does:** Displays a glossary table of C3S (Copernicus Climate Change Service) indicator terms. The content is provided by a server-side `@components` view (`c3s_indicators_glossary_table`) and rendered as raw HTML.
|
|
21
|
+
|
|
22
|
+
### C3S Indicators Listing
|
|
23
|
+
- **Block ID:** `c3SIndicatorListingBlock`
|
|
24
|
+
- **Group:** `site`
|
|
25
|
+
- **Restricted to:** Mission pages
|
|
26
|
+
- **What it does:** Renders a description and a linked list of C3S indicators. Content (description text + item list with URLs) is provided by the server-side `@components` view `c3s_indicators_listing`.
|
|
27
|
+
|
|
28
|
+
### C3S Indicators Overview
|
|
29
|
+
- **Block ID:** `c3SIndicatorsOverviewBlock`
|
|
30
|
+
- **Group:** `site`
|
|
31
|
+
- **Restricted to:** Mission pages
|
|
32
|
+
- **What it does:** Displays an HTML description/overview of C3S indicators, fetched from the server-side `@components` view `c3s_indicators_overview`.
|
|
33
|
+
|
|
34
|
+
### Case Study Explorer
|
|
35
|
+
- **Block ID:** `caseStudyExplorer`
|
|
36
|
+
- **Group:** `site`
|
|
37
|
+
- **Restricted to:** Mission pages
|
|
38
|
+
- **What it does:** An interactive map-based explorer for climate adaptation case studies. Loads case study data from an ArcGIS JSON endpoint (`@@case-studies-map.arcgis.json`). Provides filter controls (sectors, impacts, etc.) and an interactive map with clickable features. Supports URL-based filter parameters.
|
|
39
|
+
|
|
40
|
+
### Collection Statistics
|
|
41
|
+
- **Block ID:** `collectionStats`
|
|
42
|
+
- **Group:** `site`
|
|
43
|
+
- **What it does:** Displays aggregated statistics for a content collection. Shows two groups of stats with icons and counts:
|
|
44
|
+
- **Health impacts:** Climate-sensitive diseases, Heat, Wildfires, Droughts and floods, Air pollution and aero-allergens
|
|
45
|
+
- **Content types:** Adaptation options, Case studies, Guidance, Indicators, Information portals, Organisations, Publications, Research projects, Tools, Videos
|
|
46
|
+
- Stats are computed from query stats via `getQueryStats` and can link to filtered search results.
|
|
47
|
+
|
|
48
|
+
### Content Links
|
|
49
|
+
- **Block ID:** `contentLinks`
|
|
50
|
+
- **Group:** `site`
|
|
51
|
+
- **Variations:**
|
|
52
|
+
- `default` — Simple list of linked content items
|
|
53
|
+
- `navigationList` — Navigation-style list with active-state highlighting based on current URL
|
|
54
|
+
- `dropdown` — Dropdown selector for linking to content items (with configurable placeholder text)
|
|
55
|
+
- **What it does:** Displays a set of manually selected content items as links. Useful for sidebars, navigation menus, or quick-access link groups.
|
|
56
|
+
|
|
57
|
+
### Country Map Heat Index
|
|
58
|
+
- **Block ID:** `countryMapHeatIndex`
|
|
59
|
+
- **Group:** `site`
|
|
60
|
+
- **Restricted to:** Mission pages
|
|
61
|
+
- **What it does:** An interactive OpenLayers map of European countries colored by heat index data. Fetches metadata from `@@countries-heat-index-json`. Countries are highlighted with tooltips and are clickable, navigating to the respective country page. Includes a filter control and supports lazy loading via visibility sensor.
|
|
62
|
+
|
|
63
|
+
### Country Map Observatory
|
|
64
|
+
- **Block ID:** `countryMapObservatory`
|
|
65
|
+
- **Group:** `site`
|
|
66
|
+
- **Restricted to:** Mission pages
|
|
67
|
+
- **What it does:** An interactive OpenLayers map for the Health Observatory section. Renders EU countries with metadata from `@@countries-metadata-extract-2025`. Supports thematic map modes (e.g., "National adaptation policy"), tooltips, and click-to-navigate interactions. Uses WMS tile sources and lazy loading.
|
|
68
|
+
|
|
69
|
+
### Country Map Profile
|
|
70
|
+
- **Block ID:** `countryMapProfile`
|
|
71
|
+
- **Group:** `site`
|
|
72
|
+
- **Restricted to:** Mission pages
|
|
73
|
+
- **What it does:** An interactive OpenLayers map for country profiles. Renders EU countries with metadata from `@@countries-metadata-extract-2025` (including flag images). Supports thematic map modes, tooltips, click-to-navigate, and a filter control. Uses WMS tile sources and lazy loading.
|
|
74
|
+
|
|
75
|
+
### Country Profile Detail
|
|
76
|
+
- **Block ID:** `countryProfileDetail`
|
|
77
|
+
- **Group:** `site`
|
|
78
|
+
- **What it does:** Renders the detailed country profile content provided by a server-side `@components` view (`countryprofile.html`). Displays tabbed sections with accordions, including a language disclaimer for non-English content and optional top messages/accordions.
|
|
79
|
+
|
|
80
|
+
### Data Connected Embed Block
|
|
81
|
+
- **Block ID:** `data_connected_embed` (extends `@eeacms/volto-datablocks`)
|
|
82
|
+
- **What it does:** Customizes the data-connected embed block from `volto-datablocks` to inject the current page language (`lang`) as an additional query parameter. This ensures embedded data visualizations respect the page's language context. Wraps the base `ViewEmbedBlock` with Redux connectivity and `injectIntl`.
|
|
83
|
+
|
|
84
|
+
### ECDE Indicators
|
|
85
|
+
- **Block ID:** `ecdeIndicators`
|
|
86
|
+
- **Group:** `site`
|
|
87
|
+
- **Restricted to:** Mission pages
|
|
88
|
+
- **What it does:** Embeds European Climate Data Explorer (ECDE) indicator visualizations from the Copernicus Climate Data Store (CDS). Loads region data from an EEA ArcGIS service and renders interactive CDS toolbox apps (e.g., growing degree days, mean temperature) for selected European NUTS regions.
|
|
89
|
+
|
|
90
|
+
### Filter AceContent
|
|
91
|
+
- **Block ID:** `filterAceContent`
|
|
92
|
+
- **Group:** `site`
|
|
93
|
+
- **Restricted to:** Mission pages
|
|
94
|
+
- **Variations:**
|
|
95
|
+
- `simpleListing` — Listing view (default)
|
|
96
|
+
- `simpleCards` — Card grid view
|
|
97
|
+
- **What it does:** Provides a faceted search/filter interface for ACE (Adaptation Content Exchange) content. Supports filtering by bio-regions, countries, climate impacts, sectors, element types, funding programmes, macro-regions, key types, and free-text search. Uses a custom select widget with styled dropdowns.
|
|
98
|
+
|
|
99
|
+
### Flourish Visualization
|
|
100
|
+
- **Block ID:** `FlourishEmbedBlock`
|
|
101
|
+
- **Group:** `site`
|
|
102
|
+
- **What it does:** Embeds interactive data visualizations from [Flourish.studio](https://flourish.studio). Editors paste a Flourish embed code, and the block extracts the visualization URL, wraps it in an iframe with privacy protection (lazy loading via consent gate), and displays it at a fixed height of 980px.
|
|
103
|
+
|
|
104
|
+
### RAST (Related And Sub-Tree) Block
|
|
105
|
+
- **Block ID:** `rastBlock`
|
|
106
|
+
- **Group:** `site`
|
|
107
|
+
- **Restricted to:** Mission pages
|
|
108
|
+
- **What it does:** Renders a contextual navigation block showing related content and sub-items from a configurable root path. Supports skipping specific items and optionally showing subfolders. Uses `ContextNavigation` and `RASTAccordion` components to display a hierarchical accordion-style navigation tree.
|
|
109
|
+
|
|
110
|
+
### Read More
|
|
111
|
+
- **Block ID:** `readMoreBlock`
|
|
112
|
+
- **Group:** `site`
|
|
113
|
+
- **What it does:** Creates a collapsible "read more" section. Wraps all preceding sibling blocks in a height-constrained container with an expand/collapse button. Configurable properties include open/closed labels, button position, and initial height.
|
|
114
|
+
|
|
115
|
+
### Redirection Block
|
|
116
|
+
- **Block ID:** `redirectBlock`
|
|
117
|
+
- **Group:** `site`
|
|
118
|
+
- **What it does:** Automatically redirects anonymous users to a configured target URL. Logged-in users (editors) see a discreet notice showing the redirect target instead of being redirected, so they can still edit the page.
|
|
119
|
+
|
|
120
|
+
### Relevant AceContent
|
|
121
|
+
- **Block ID:** `relevantAceContent`
|
|
122
|
+
- **Group:** `site`
|
|
123
|
+
- **Restricted to:** Mission pages
|
|
124
|
+
- **What it does:** Displays a list of relevant ACE (Adaptation Content Exchange) items. Supports two modes: manually selected items and dynamically searched results (by element type, sector, search type, special tags, or search text). Can combine both modes. Renders as a simple linked list.
|
|
125
|
+
|
|
126
|
+
### Search AceContent
|
|
127
|
+
- **Block ID:** `searchAceContent`
|
|
128
|
+
- **Group:** `site`
|
|
129
|
+
- **Restricted to:** Mission pages
|
|
130
|
+
- **What it does:** Displays search results from the ACE content search API. Shows results as a linked list with translated labels and counts. Includes a "Share your information" button linking to the share page.
|
|
131
|
+
|
|
132
|
+
### Tabs Block — Spotlight Variation
|
|
133
|
+
- **Block ID:** `tabs_block` (extends `@eeacms/volto-tabs-block`)
|
|
134
|
+
- **Variation added:** `spotlight`
|
|
135
|
+
- **What it does:** Adds a "Spotlight" variation to the standard tabs block. Renders tab content with a spotlight-style layout featuring configurable icons or images (with position and size options), simple markdown support, and scroll-to-target behavior.
|
|
136
|
+
|
|
137
|
+
### Trans Region Select
|
|
138
|
+
- **Block ID:** `transRegionSelect`
|
|
139
|
+
- **Group:** `site`
|
|
140
|
+
- **Restricted to:** Mission pages
|
|
141
|
+
- **What it does:** Renders a dropdown selector for transnational regions. Fetches region data from the content's `@components` view (`transnationalregion`) and provides a dropdown with links to each region's page, plus a default "Other regions" option.
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## Extended Standard Blocks
|
|
146
|
+
|
|
147
|
+
### Listing (standard Volto block — extended)
|
|
148
|
+
The standard Volto `listing` block is extended with **6 new variations**:
|
|
149
|
+
|
|
150
|
+
| Variation | Description |
|
|
151
|
+
|-----------|-------------|
|
|
152
|
+
| `dropdown` | Renders listed items as a dropdown selector with a configurable placeholder text |
|
|
153
|
+
| `organisationCards` | Displays items as a 4-column card grid with logo/image and description (for organisations) |
|
|
154
|
+
| `indicatorCards` | Displays C3S/Lancet Countdown indicators as styled cards with title and description |
|
|
155
|
+
| `eventCards` | Displays events as cards with date info, contact details, event URL, and EEA branding |
|
|
156
|
+
| `eventAccordion` | Displays events in an accordion layout with formatted date ranges and "read more" expand |
|
|
157
|
+
| `simpleListing` | Plain text list of linked items (minimal styling) |
|
|
158
|
+
| `simpleCards` | Generic 4-column card grid with image/logo and title |
|
|
159
|
+
|
|
160
|
+
Additionally, the listing block's `noResultsComponent` is overridden to render nothing (instead of showing "No results" text).
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## Shared Utilities
|
|
165
|
+
|
|
166
|
+
- **`withResponsiveContainer.js`** — HOC that wraps map blocks in a responsive container (used by Country Map blocks)
|
|
167
|
+
- **`withVisibilitySensor.jsx`** — HOC that defers map initialization until the block is visible in the viewport (lazy loading)
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Link Integrity Workflow warning Specification
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
To prevent breaking the browsing experience of public (anonymous) website visitors, Climate-ADAPT intercepts workflow transitions that limit content visibility (such as changing a state to **Private**, **Reject**, or **Retract**).
|
|
6
|
+
|
|
7
|
+
Before finalizing these transitions, the system performs an asynchronous backend check using the Plone link integrity relation catalog (`@linkintegrity`) to discover if any other published pages link to the target item. If referencing items are found, the user is presented with a warning modal detailing the pages that link to the item, allowing them to either cancel or proceed anyway.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Architectural Workflow
|
|
12
|
+
|
|
13
|
+
```mermaid
|
|
14
|
+
sequenceDiagram
|
|
15
|
+
autonumber
|
|
16
|
+
actor Editor
|
|
17
|
+
participant WorkflowDropdown as Workflow Dropdown (Workflow.jsx)
|
|
18
|
+
participant API as Plone REST API (/@linkintegrity)
|
|
19
|
+
participant WarningModal as Warning Modal (WorkflowLinkIntegrityModal.jsx)
|
|
20
|
+
|
|
21
|
+
Editor->>WorkflowDropdown: Select "Make Private" / "Reject" / "Retract"
|
|
22
|
+
WorkflowDropdown->>API: Dispatch linkIntegrityCheck([UID])
|
|
23
|
+
WorkflowDropdown->>WarningModal: Open Warning Modal (with Loader active)
|
|
24
|
+
Note over WarningModal: Action buttons are disabled during check
|
|
25
|
+
|
|
26
|
+
alt No breaches exist
|
|
27
|
+
API-->>WorkflowDropdown: Return 0 breaches
|
|
28
|
+
WorkflowDropdown->>WorkflowDropdown: Auto-execute workflow transition
|
|
29
|
+
WorkflowDropdown->>WarningModal: Close Modal automatically
|
|
30
|
+
WorkflowDropdown-->>Editor: Show success toast
|
|
31
|
+
else Breaches exist
|
|
32
|
+
API-->>WorkflowDropdown: Return breach details
|
|
33
|
+
WorkflowDropdown->>WarningModal: Deactivate Loader & enable confirm
|
|
34
|
+
WarningModal-->>Editor: Render list of linking pages & warning copy
|
|
35
|
+
|
|
36
|
+
alt Editor clicks "Cancel"
|
|
37
|
+
Editor->>WarningModal: Click "Cancel"
|
|
38
|
+
WarningModal->>WorkflowDropdown: Reset pending transition & close modal
|
|
39
|
+
else Editor clicks "Change state anyway"
|
|
40
|
+
Editor->>WarningModal: Click "Change state anyway"
|
|
41
|
+
WarningModal->>WorkflowDropdown: Trigger onOk() -> executeTransition()
|
|
42
|
+
WorkflowDropdown->>WorkflowDropdown: Execute workflow transition
|
|
43
|
+
WorkflowDropdown->>WarningModal: Close Modal
|
|
44
|
+
WorkflowDropdown-->>Editor: Show success toast
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Implementation Details
|
|
52
|
+
|
|
53
|
+
### 1. Workflow Interception (Customization)
|
|
54
|
+
* **Path**: [Workflow.jsx](file:///home/tibi/work/eea.docker.plone-climateadapt/cca/frontend/src/addons/volto-cca-policy/src/customizations/volto/components/manage/Workflow/Workflow.jsx)
|
|
55
|
+
* **Role**: Shadows Volto core's workflow select component. Intercepts transitions containing state keys (`private`, `reject`, `retract`) or URL suffixes (`/reject`, `/retract`). Dispatches `linkIntegrityCheck` and manages `pendingOption` state. Executes transition automatically if 0 breaches are found.
|
|
56
|
+
|
|
57
|
+
### 2. Warning Modal Component
|
|
58
|
+
* **Path**: [WorkflowLinkIntegrityModal.jsx](file:///home/tibi/work/eea.docker.plone-climateadapt/cca/frontend/src/addons/volto-cca-policy/src/components/manage/Workflow/WorkflowLinkIntegrityModal.jsx)
|
|
59
|
+
* **Role**: A custom `semantic-ui-react` `Confirm` component wrapper. Utilizes a unified and stable component template to ensure reliable event loop listener binding.
|
|
60
|
+
* **Key UX Features**:
|
|
61
|
+
* Maintains button state `disabled: loading` during ongoing checks to prevent premature actions.
|
|
62
|
+
* Renders an active `Loader` and `Dimmer` during loading.
|
|
63
|
+
* Displays the exact list of referencing (source) items and target sub-items.
|
|
64
|
+
* Displays the warning copy:
|
|
65
|
+
> *"By changing the state, we're not breaking references, but may break user experience for final Anonymous users. There are {brokenReferences} {variation} to this item:"*
|
|
66
|
+
|
|
67
|
+
### 3. Unit Verification Suite
|
|
68
|
+
* **Path**: [WorkflowLinkIntegrityModal.test.jsx](file:///home/tibi/work/eea.docker.plone-climateadapt/cca/frontend/src/addons/volto-cca-policy/src/components/manage/Workflow/WorkflowLinkIntegrityModal.test.jsx)
|
|
69
|
+
* **Role**: Houses Jest/React Testing Library assertions verifying loading indicator visibility, auto-proceed behavior with 0 breaches, warnings list aggregation for multiple breaches, and confirm button presence.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Link Integrity & Workflow Documentation Index
|
|
2
|
+
|
|
3
|
+
This directory houses the research, analysis, and specifications for Plone/Volto Link Integrity tracking and the "Warn Before Private" workflow state transition verification feature.
|
|
4
|
+
|
|
5
|
+
Below is an overview of the role and purpose of each document in this directory:
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 📖 Document Catalog
|
|
10
|
+
|
|
11
|
+
### 1. [README.md](./README.md)
|
|
12
|
+
* **Role**: **Feature Specification & Technical Implementation Guide**
|
|
13
|
+
* **Description**: High-level specification outlining the "Warn before private" workflow transition warning system. It explains how workflow transitions to private or retracted states are intercepted to check for breaches, contains a Mermaid sequence diagram of the operational flow, and details pointers to the exact implementation files (`Workflow.jsx`, `WorkflowLinkIntegrityModal.jsx`, and the unit test suite).
|
|
14
|
+
|
|
15
|
+
### 2. [understanding-link-integrity.md](./understanding-link-integrity.md)
|
|
16
|
+
* **Role**: **Initial Research & Mechanics Overview**
|
|
17
|
+
* **Description**: Explains the underlying mechanics of Plone's `plone.app.linkintegrity` package, the `@linkintegrity` and `@relations` REST API endpoints, how internal references are stored in the `zc.relation` catalog using `isReferencing`, and proposes the initial architectural solution for shadowing the Volto toolbar component.
|
|
18
|
+
|
|
19
|
+
### 3. [volto-block-link-discovery.md](./volto-block-link-discovery.md)
|
|
20
|
+
* **Role**: **Block Parser Link Extraction Specs**
|
|
21
|
+
* **Description**: Detailed specifications on how the Plone backend's block-to-HTML parser (via `plone.volto`) parses internal links and retrieves referencing UIDs from complex Volto blocks (e.g. Columns, Teasers, Maps) to keep the relation catalog accurately indexed.
|
|
22
|
+
|
|
23
|
+
### 4. [volto-block-link-analysis.md](./volto-block-link-analysis.md)
|
|
24
|
+
* **Role**: **Technical Analysis of Internal Linking**
|
|
25
|
+
* **Description**: Analyzes how internal links are serialized, stored, and resolved within customized layouts. Explains matching strategies for Dexterity schemas and Choice relation fields.
|
|
26
|
+
|
|
27
|
+
### 5. [link-integrity-blocks-report.md](./link-integrity-blocks-report.md)
|
|
28
|
+
* **Role**: **Volto Blocks Reference Index**
|
|
29
|
+
* **Description**: A quick-reference status report listing the Volto blocks whose internal link fields are covered by link integrity tracking and validation rules.
|
|
30
|
+
|
|
31
|
+
### 6. [link-integrity-block-fields-report.md](./link-integrity-block-fields-report.md)
|
|
32
|
+
* **Role**: **Field Mapping Specification**
|
|
33
|
+
* **Description**: A comprehensive deep-dive report mapping exactly which fields and properties within the custom blocks schemas are indexed and tracked by the link integrity processor.
|