@plone/volto 18.25.0 → 18.26.0

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.
Files changed (84) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/Makefile~ +301 -0
  3. package/README.md +0 -1
  4. package/locales/af/LC_MESSAGES/volto.po +1 -1
  5. package/locales/ar/LC_MESSAGES/volto.po +1 -1
  6. package/locales/bg/LC_MESSAGES/volto.po +1 -1
  7. package/locales/bn/LC_MESSAGES/volto.po +1 -1
  8. package/locales/ca/LC_MESSAGES/volto.po +1 -1
  9. package/locales/cs/LC_MESSAGES/volto.po +1 -1
  10. package/locales/cy/LC_MESSAGES/volto.po +1 -1
  11. package/locales/da/LC_MESSAGES/volto.po +1 -1
  12. package/locales/de/LC_MESSAGES/volto.po +6 -6
  13. package/locales/de.json +1 -1
  14. package/locales/el/LC_MESSAGES/volto.po +1 -1
  15. package/locales/en/LC_MESSAGES/volto.po +1 -1
  16. package/locales/en_AU/LC_MESSAGES/volto.po +1 -1
  17. package/locales/en_GB/LC_MESSAGES/volto.po +1 -1
  18. package/locales/eo/LC_MESSAGES/volto.po +1 -1
  19. package/locales/es/LC_MESSAGES/volto.po +100 -107
  20. package/locales/es.json +1 -1
  21. package/locales/et/LC_MESSAGES/volto.po +1 -1
  22. package/locales/eu/LC_MESSAGES/volto.po +47 -47
  23. package/locales/eu.json +1 -1
  24. package/locales/fa/LC_MESSAGES/volto.po +1 -1
  25. package/locales/fi/LC_MESSAGES/volto.po +1 -1
  26. package/locales/fr/LC_MESSAGES/volto.po +1 -1
  27. package/locales/fr.json +1 -1
  28. package/locales/fu/LC_MESSAGES/volto.po +1 -1
  29. package/locales/gl/LC_MESSAGES/volto.po +1 -1
  30. package/locales/he/LC_MESSAGES/volto.po +1 -1
  31. package/locales/hi/LC_MESSAGES/volto.po +1 -1
  32. package/locales/hr/LC_MESSAGES/volto.po +1 -1
  33. package/locales/hu/LC_MESSAGES/volto.po +1 -1
  34. package/locales/hy/LC_MESSAGES/volto.po +1 -1
  35. package/locales/id/LC_MESSAGES/volto.po +1 -1
  36. package/locales/it/LC_MESSAGES/volto.po +16 -17
  37. package/locales/it.json +1 -1
  38. package/locales/ja/LC_MESSAGES/volto.po +1 -1
  39. package/locales/ka/LC_MESSAGES/volto.po +1 -1
  40. package/locales/kn/LC_MESSAGES/volto.po +1 -1
  41. package/locales/ko/LC_MESSAGES/volto.po +1 -1
  42. package/locales/lt/LC_MESSAGES/volto.po +1 -1
  43. package/locales/lv/LC_MESSAGES/volto.po +1 -1
  44. package/locales/mi/LC_MESSAGES/volto.po +1 -1
  45. package/locales/mk/LC_MESSAGES/volto.po +1 -1
  46. package/locales/my/LC_MESSAGES/volto.po +1 -1
  47. package/locales/nb_NO/LC_MESSAGES/volto.po +1 -1
  48. package/locales/nl/LC_MESSAGES/volto.po +12 -17
  49. package/locales/nl.json +1 -1
  50. package/locales/nn/LC_MESSAGES/volto.po +1 -1
  51. package/locales/pl/LC_MESSAGES/volto.po +1 -1
  52. package/locales/pt/LC_MESSAGES/volto.po +680 -685
  53. package/locales/pt.json +1 -1
  54. package/locales/pt_BR/LC_MESSAGES/volto.po +1 -1
  55. package/locales/rm/LC_MESSAGES/volto.po +1 -1
  56. package/locales/ro/LC_MESSAGES/volto.po +1 -1
  57. package/locales/ru/LC_MESSAGES/volto.po +1 -1
  58. package/locales/sk/LC_MESSAGES/volto.po +1 -1
  59. package/locales/sl/LC_MESSAGES/volto.po +1 -1
  60. package/locales/sm/LC_MESSAGES/volto.po +1 -1
  61. package/locales/sq/LC_MESSAGES/volto.po +1 -1
  62. package/locales/sr/LC_MESSAGES/volto.po +1 -1
  63. package/locales/sr@cyrl/LC_MESSAGES/volto.po +1 -1
  64. package/locales/sr@latn/LC_MESSAGES/volto.po +1 -1
  65. package/locales/sv/LC_MESSAGES/volto.po +216 -221
  66. package/locales/sv.json +1 -1
  67. package/locales/ta/LC_MESSAGES/volto.po +993 -998
  68. package/locales/ta.json +1 -1
  69. package/locales/te/LC_MESSAGES/volto.po +1 -1
  70. package/locales/th/LC_MESSAGES/volto.po +1 -1
  71. package/locales/to/LC_MESSAGES/volto.po +1 -1
  72. package/locales/tr/LC_MESSAGES/volto.po +1 -1
  73. package/locales/uk/LC_MESSAGES/volto.po +1 -1
  74. package/locales/vi/LC_MESSAGES/volto.po +1 -1
  75. package/locales/volto.pot +2 -2
  76. package/locales/zh_CN/LC_MESSAGES/volto.po +1 -1
  77. package/locales/zh_Hant/LC_MESSAGES/volto.po +1 -1
  78. package/locales/zh_Hant_HK/LC_MESSAGES/volto.po +1 -1
  79. package/package.json +3 -3
  80. package/src/components/manage/Blocks/Teaser/Data.jsx +1 -1
  81. package/src/components/manage/Widgets/RegistryImageWidget.test.jsx +2 -1
  82. package/src/middleware/storeProtectLoadUtils.test.js +3 -3
  83. package/types/components/manage/Widgets/RecurrenceWidget/Utils.d.ts +12 -18
  84. package/types/helpers/Helmet/Helmet.d.ts +1 -1
package/CHANGELOG.md CHANGED
@@ -17,6 +17,28 @@ myst:
17
17
 
18
18
  <!-- towncrier release notes start -->
19
19
 
20
+ ## 18.26.0 (2025-09-12)
21
+
22
+ ### Feature
23
+
24
+ - Update translations for es, eu, it, nl, ta, pt, sv [#7187](https://github.com/plone/volto/issues/7187)
25
+
26
+ ### Bugfix
27
+
28
+ - Teaser block: Clarify "Refresh source content" button by changing the default text to "Reset to target". @davisagli [#7329](https://github.com/plone/volto/issues/7329)
29
+ - Fix German translation of "Order" from "Reihung" to "Reihenfolge" @iRohitSingh [#7331](https://github.com/plone/volto/issues/7331)
30
+ - Update German translations for teaser block. @Tishasoumya-02 [#7332](https://github.com/plone/volto/issues/7332)
31
+
32
+ ### Internal
33
+
34
+ - Remove vitest dependencies from root to prevent confusion. @wesleybl [#7274](https://github.com/plone/volto/issues/7274)
35
+ - Fix test storeProtectLoadUtils.test.js > storeProtectLoadUtils > loadProtector store > pass when not counting. @wesleybl [#7287](https://github.com/plone/volto/issues/7287)
36
+ - Update package versions in pnpm-lock.yaml. @wesleybl [#7291](https://github.com/plone/volto/issues/7291)
37
+ - Fix random failure in 'renders a file widget component with value' test of RegistryImageWidget. @wesleybl [#7292](https://github.com/plone/volto/issues/7292)
38
+ - Fixes random error in Listing Block tests 2. @wesleybl [#7293](https://github.com/plone/volto/issues/7293)
39
+ - Fixed random failure in Cypress 'Index Text Block' test. @wesleybl [#7304](https://github.com/plone/volto/issues/7304)
40
+ - 2021.ploneconf.org is no longer a Volto site, but just a redirect to YouTube. Also reverts #6627 and replaces code examples with `2022.ploneconf.org`. Backport of #7314. @stevepiercy [#7315](https://github.com/plone/volto/issues/7315)
41
+
20
42
  ## 18.25.0 (2025-09-01)
21
43
 
22
44
  ### Feature
package/Makefile~ ADDED
@@ -0,0 +1,301 @@
1
+ # Volto development
2
+
3
+ ### Defensive settings for make:
4
+ # https://tech.davis-hansson.com/p/make/
5
+ SHELL:=bash
6
+ .ONESHELL:
7
+ .SHELLFLAGS:=-eu -o pipefail -c
8
+ .SILENT:
9
+ .DELETE_ON_ERROR:
10
+ MAKEFLAGS+=--warn-undefined-variables
11
+ MAKEFLAGS+=--no-builtin-rules
12
+
13
+ # Project settings (read from repo root)
14
+ include ../../variables.mk
15
+
16
+ # Allow setting the language for backend-docker-start. Default is `en`.
17
+ SITE_DEFAULT_LANGUAGE ?=en
18
+
19
+ # Recipe snippets for reuse
20
+
21
+ CHECKOUT_BASENAME="$(shell basename $(shell realpath ./))"
22
+ CHECKOUT_BRANCH=$(shell git branch --show-current)
23
+ CHECKOUT_TMP=../$(CHECKOUT_BASENAME).tmp
24
+ CHECKOUT_TMP_ABS="$(shell realpath $(CHECKOUT_TMP))"
25
+
26
+ # We like colors
27
+ # From: https://coderwall.com/p/izxssa/colored-makefile-for-golang-projects
28
+ RED=`tput setaf 1`
29
+ GREEN=`tput setaf 2`
30
+ RESET=`tput sgr0`
31
+ YELLOW=`tput setaf 3`
32
+
33
+
34
+ # Top-level targets
35
+
36
+ .PHONY: all
37
+ all: help
38
+
39
+ # Add the following 'help' target to your Makefile
40
+ # and add help text after each target name starting with ' ##'
41
+ # to return a pretty list of targets and their descriptions.
42
+ .PHONY: help
43
+ help: ## This help message
44
+ @echo -e "$$(grep -hE '^\S+:.*##' $(MAKEFILE_LIST) | sed -e 's/:.*##\s*/:/' -e 's/^\(.\+\):\(.*\)/\\x1b[36m\1\\x1b[m:\2/' | column -c2 -t -s :)"
45
+
46
+ .PHONY: start
47
+ start: ## Starts Volto, allowing reloading of the add-on during development
48
+ pnpm start
49
+
50
+ .PHONY: build
51
+ build: ## Build a production bundle for distribution
52
+ pnpm i && RAZZLE_API_PATH=http://127.0.0.1:55001/plone pnpm build
53
+
54
+ .PHONY: test
55
+ test: ## Run unit tests
56
+ pnpm test
57
+
58
+ .PHONY: clean
59
+ clean: ## Clean development environment
60
+ rm -rf node_modules
61
+
62
+ .PHONY: install
63
+ install: ## Set up development environment
64
+ # Setup ESlint for VSCode
65
+ node packages/scripts/vscodesettings.js
66
+ pnpm i
67
+ make build-deps
68
+
69
+ ##### Build
70
+
71
+ .PHONY: cypress-install
72
+ cypress-install: ## Install Cypress for acceptance tests
73
+ $(NODEBIN)/cypress install
74
+
75
+ ../registry/dist: $(shell find ../registry/src -type f)
76
+ (cd ../../ && pnpm build:registry)
77
+
78
+ ../components/dist: $(shell find ../components/src -type f)
79
+ (cd ../../ && pnpm build:components)
80
+
81
+ .PHONY: build-deps
82
+ build-deps: ../registry/dist ## Build dependencies
83
+
84
+ .PHONY: i18n
85
+ i18n: ## Extract and compile translations
86
+ pnpm i18n
87
+
88
+ ## Storybook
89
+
90
+ .PHONY: storybook-start
91
+ storybook-start: ## Start Storybook server on port 6006
92
+ @echo "$(GREEN)==> Start Storybook$(RESET)"
93
+ pnpm run storybook
94
+
95
+ .PHONY: storybook-build
96
+ storybook-build: build-deps ## Build Storybook
97
+ pnpm build-storybook -o ../../docs/_build/html/storybook
98
+
99
+ ##### Release (it runs the one inside)
100
+
101
+ .PHONY: release-notes-copy-to-docs
102
+ release-notes-copy-to-docs: ## Copy release notes into documentation
103
+ cp CHANGELOG.md ../../docs/source/release-notes/index.md
104
+ git add ../../docs/source/release-notes/index.md
105
+
106
+ ##### Docker containers
107
+
108
+ .PHONY: backend-docker-start
109
+ backend-docker-start: ## Starts a Docker-based backend for development
110
+ docker run -it --rm --name=backend -p 8080:8080 -v volto-backend-data:/data -e SITE=Plone -e ADDONS='$(KGS)' -e SITE_DEFAULT_LANGUAGE='$(SITE_DEFAULT_LANGUAGE)' $(DOCKER_IMAGE)
111
+
112
+ .PHONY: frontend-docker-start
113
+ frontend-docker-start: ## Starts a Docker-based frontend for development
114
+ docker run -it --rm --name=volto --link backend -p 3000:3000 -e RAZZLE_INTERNAL_API_PATH=http://backend:8080/Plone -e RAZZLE_DEV_PROXY_API_PATH=http://backend:8080/Plone plone/plone-frontend:latest
115
+
116
+ ##### Acceptance tests (Cypress)
117
+ ######### Dev mode Acceptance tests
118
+
119
+ .PHONY: acceptance-frontend-dev-start
120
+ acceptance-frontend-dev-start: ## Start acceptance frontend in development mode
121
+ RAZZLE_API_PATH=http://127.0.0.1:55001/plone pnpm start
122
+
123
+ ######### Core Acceptance tests
124
+
125
+ .PHONY: acceptance-backend-start
126
+ acceptance-backend-start: ## Start backend acceptance server
127
+ # docker run -it --rm -p 55001:55001 $(DOCKER_IMAGE_ACCEPTANCE)
128
+ docker run -it --rm -p 55001:55001 -e APPLY_PROFILES=plone.app.contenttypes:plone-content,plone.restapi:default,plone.volto:default,plone.app.discussion:default $(DOCKER_IMAGE_ACCEPTANCE)
129
+ # Uncomment next line and comment line above to use a custom image with the acceptance server (in case you need to use an specific backend add-on or version)
130
+ # docker run -it --rm -e ZSERVER_HOST=0.0.0.0 -e ZSERVER_PORT=55001 -p 55001:55001 -e ADDONS='$(KGS) $(TESTING_ADDONS)' -e APPLY_PROFILES=plone.app.contenttypes:plone-content,plone.restapi:default,plone.volto:default -e CONFIGURE_PACKAGES=plone.app.contenttypes,plone.restapi,plone.volto,plone.volto.cors $(DOCKER_IMAGE) ./bin/robot-server plone.app.robotframework.testing.VOLTO_ROBOT_TESTING
131
+
132
+ .PHONY: ci-acceptance-backend-start
133
+ ci-acceptance-backend-start: ## Start backend acceptance server in headless mode for CI
134
+ # docker run -i --rm -p 55001:55001 $(DOCKER_IMAGE_ACCEPTANCE)
135
+ docker run -i --rm -p 55001:55001 -e APPLY_PROFILES=plone.app.contenttypes:plone-content,plone.restapi:default,plone.volto:default,plone.app.discussion:default $(DOCKER_IMAGE_ACCEPTANCE)
136
+ # Uncomment next line and comment line above to use a custom image with the acceptance server (in case you need to use an specific backend add-on or version)
137
+ # docker run -i --rm -e ZSERVER_HOST=0.0.0.0 -e ZSERVER_PORT=55001 -p 55001:55001 -e ADDONS='$(KGS) $(TESTING_ADDONS)' -e APPLY_PROFILES=plone.app.contenttypes:plone-content,plone.restapi:default,plone.volto:default -e CONFIGURE_PACKAGES=plone.app.contenttypes,plone.restapi,plone.volto,plone.volto.cors $(DOCKER_IMAGE) ./bin/robot-server plone.app.robotframework.testing.VOLTO_ROBOT_TESTING
138
+
139
+ .PHONY: acceptance-frontend-prod-start
140
+ acceptance-frontend-prod-start: build-deps ## Start acceptance frontend in production mode
141
+ RAZZLE_API_PATH=http://127.0.0.1:55001/plone pnpm build && pnpm start:prod
142
+
143
+ .PHONY: acceptance-test
144
+ acceptance-test: ## Start Cypress in interactive mode
145
+ NODE_ENV=production CYPRESS_API=plone $(NODEBIN)/cypress open
146
+
147
+ .PHONY: ci-acceptance-test
148
+ ci-acceptance-test: ## Run cypress tests in headless mode for CI
149
+ NODE_ENV=production CYPRESS_API=plone $(NODEBIN)/cypress run --config specPattern='cypress/tests/core/**/*.{js,jsx,ts,tsx}'
150
+
151
+ .PHONY: ci-acceptance-test-run-all
152
+ ci-acceptance-test-run-all: ## With a single command, start both the acceptance frontend and backend acceptance server, and run Cypress tests in headless mode
153
+ $(NODEBIN)/start-test "make ci-acceptance-backend-start" http-get://127.0.0.1:55001/plone "make acceptance-frontend-prod-start" http://127.0.0.1:3000 "make ci-acceptance-test"
154
+
155
+ ######### Deployment Core Acceptance tests
156
+
157
+ .PHONY: deployment-acceptance-frontend-prod-start
158
+ deployment-acceptance-frontend-prod-start: build-deps ## Start acceptance frontend in production mode for deployment
159
+ pnpm build && pnpm start:prod
160
+
161
+ .PHONY: deployment-acceptance-test
162
+ deployment-acceptance-test: ## Start Cypress in interactive mode for tests in deployment
163
+ NODE_ENV=production CYPRESS_API=plone $(NODEBIN)/cypress open --config baseUrl='http://localhost'
164
+
165
+ .PHONY: deployment-acceptance-web-server-start
166
+ deployment-acceptance-web-server-start: ## Start the reverse proxy (Traefik) in port 80 for deployment
167
+ cd cypress/docker && docker compose -f seamless.yml up
168
+
169
+ .PHONY: deployment-ci-acceptance-test-run-all
170
+ deployment-ci-acceptance-test-run-all: ## With a single command, run the backend, frontend, and the Cypress tests in headless mode for CI for deployment tests
171
+ $(NODEBIN)/start-test "make acceptance-backend-start" http-get://127.0.0.1:55001/plone "make deployment-acceptance-frontend-prod-start" http://127.0.0.1:3000 "make ci-acceptance-test"
172
+
173
+ ######### Cookieplone / (deprecated) Project Acceptance tests
174
+
175
+ .PHONY: cookieplone-acceptance-frontend-prod-start
176
+ cookieplone-acceptance-frontend-prod-start: build-deps ## Start acceptance frontend in production mode for cookieplone tests
177
+ (cd ../../volto-add-on && RAZZLE_API_PATH=http://127.0.0.1:55001/plone pnpm build && pnpm start:prod)
178
+
179
+ .PHONY: project-acceptance-frontend-prod-start
180
+ project-acceptance-frontend-prod-start: build-deps ## Start acceptance frontend in production mode for project tests
181
+ (cd ../../my-volto-app && RAZZLE_API_PATH=http://127.0.0.1:55001/plone yarn build && yarn start:prod)
182
+
183
+ ######### Core Sandbox Acceptance tests
184
+
185
+ .PHONY: coresandbox-acceptance-backend-start
186
+ coresandbox-acceptance-backend-start: ## Start backend acceptance server for core sandbox tests
187
+ docker run -i --rm -p 55001:55001 -e APPLY_PROFILES=plone.app.contenttypes:plone-content,plone.restapi:default,plone.volto:default,plone.volto:coresandbox -e CONFIGURE_PACKAGES=plone.app.contenttypes,plone.restapi,plone.volto,plone.volto.cors,plone.volto.coresandbox $(DOCKER_IMAGE_ACCEPTANCE)
188
+
189
+ .PHONY: coresandbox-acceptance-frontend-prod-start
190
+ coresandbox-acceptance-frontend-prod-start: build-deps ## Start acceptance frontend in production mode for core sandbox tests
191
+ ADDONS=@plone/volto-coresandbox RAZZLE_API_PATH=http://127.0.0.1:55001/plone pnpm build && pnpm start:prod
192
+
193
+ .PHONY: coresandbox-acceptance-frontend-dev-start
194
+ coresandbox-acceptance-frontend-dev-start: build-deps ## Start acceptance frontend in development mode for core sandbox tests
195
+ ADDONS=@plone/volto-coresandbox RAZZLE_API_PATH=http://127.0.0.1:55001/plone pnpm start
196
+
197
+ .PHONY: coresandbox-acceptance-test
198
+ coresandbox-acceptance-test: ## Start Cypress in interactive mode for core sandbox tests
199
+ NODE_ENV=production CYPRESS_API=plone $(NODEBIN)/cypress open --config specPattern='cypress/tests/coresandbox/**/*.{js,jsx,ts,tsx}'
200
+
201
+ .PHONY: coresandbox-ci-acceptance-test
202
+ coresandbox-ci-acceptance-test: ## Run Cypress tests in headless mode for CI for core sandbox tests
203
+ NODE_ENV=production CYPRESS_API=plone $(NODEBIN)/cypress run --config specPattern='cypress/tests/coresandbox/**/*.{js,jsx,ts,tsx}'
204
+
205
+ .PHONY: coresandbox-ci-acceptance-test-run-all
206
+ coresandbox-ci-acceptance-test-run-all: ## With a single command, run the backend, frontend, and the Cypress tests in headless mode for CI for core sandbox tests
207
+ $(NODEBIN)/start-test "make coresandbox-acceptance-backend-start" http-get://127.0.0.1:55001/plone "make coresandbox-acceptance-frontend-prod-start" http://127.0.0.1:3000 "make coresandbox-ci-acceptance-test"
208
+
209
+ ######### Multilingual Acceptance tests
210
+
211
+ .PHONY: multilingual-acceptance-backend-start
212
+ multilingual-acceptance-backend-start: ## Start backend acceptance server for multilingual tests
213
+ docker run -i --rm -p 55001:55001 -e APPLY_PROFILES=plone.app.contenttypes:plone-content,plone.restapi:default,plone.volto:multilingual $(DOCKER_IMAGE_ACCEPTANCE)
214
+
215
+ .PHONY: multilingual-acceptance-frontend-prod-start
216
+ multilingual-acceptance-frontend-prod-start: build-deps ## Start acceptance frontend in production mode for multilingual tests
217
+ ADDONS=@plone/volto-coresandbox:multilingualFixture RAZZLE_API_PATH=http://127.0.0.1:55001/plone pnpm build && pnpm start:prod
218
+
219
+ .PHONY: multilingual-acceptance-test
220
+ multilingual-acceptance-test: ## Start Cypress in interactive mode for multilingual tests
221
+ NODE_ENV=production CYPRESS_API=plone $(NODEBIN)/cypress open --config specPattern='cypress/tests/multilingual/**/*.{js,jsx,ts,tsx}'
222
+
223
+ .PHONY: multilingual-ci-acceptance-test
224
+ multilingual-ci-acceptance-test: ## Run Cypress tests in headless mode for CI for multilingual tests
225
+ NODE_ENV=production CYPRESS_API=plone $(NODEBIN)/cypress run --config specPattern='cypress/tests/multilingual/**/*.{js,jsx,ts,tsx}'
226
+
227
+ .PHONY: multilingual-ci-acceptance-test-run-all
228
+ multilingual-ci-acceptance-test-run-all: ## With a single command, run the backend, frontend, and the Cypress tests in headless mode for CI for multilingual tests
229
+ $(NODEBIN)/start-test "make multilingual-acceptance-backend-start" http-get://127.0.0.1:55001/plone "make multilingual-acceptance-frontend-prod-start" http://127.0.0.1:3000 "make multilingual-ci-acceptance-test"
230
+
231
+ ######### Deployment Multilingual Acceptance tests
232
+
233
+ .PHONY: deployment-multilingual-acceptance-backend-start
234
+ deployment-multilingual-acceptance-backend-start: ## Start backend acceptance server for multilingual tests for deployment
235
+ docker run -i --rm -p 55001:55001 -e APPLY_PROFILES=plone.app.contenttypes:plone-content,plone.restapi:default,plone.volto:multilingual $(DOCKER_IMAGE_ACCEPTANCE)
236
+
237
+ .PHONY: deployment-multilingual-acceptance-frontend-prod-start
238
+ deployment-multilingual-acceptance-frontend-prod-start: build-deps ##Start acceptance frontend in production mode for multilingual tests for deployment
239
+ ADDONS=@plone/volto-coresandbox:multilingualFixture pnpm build && pnpm start:prod
240
+
241
+ .PHONY: deployment-multilingual-acceptance-test
242
+ deployment-multilingual-acceptance-test: ## Start Cypress in interactive mode for multilingual tests for deployment
243
+ NODE_ENV=production CYPRESS_API=plone $(NODEBIN)/cypress open --config baseUrl='http://localhost',specPattern='cypress/tests/multilingual/**/*.{js,jsx,ts,tsx}'
244
+
245
+ .PHONY: deployment-multilingual-ci-acceptance-test
246
+ deployment-multilingual-ci-acceptance-test: ## Run Cypress tests in headless mode for CI for multilingual tests for deployment
247
+ NODE_ENV=production CYPRESS_API=plone $(NODEBIN)/cypress run --config specPattern='cypress/tests/multilingual/**/*.{js,jsx,ts,tsx}'
248
+
249
+ .PHONY: deployment-multilingual-ci-acceptance-test-run-all
250
+ deployment-multilingual-ci-acceptance-test-run-all: ## With a single command, run the backend, frontend, and the Cypress tests in headless mode for CI for multilingual tests for deployment
251
+ $(NODEBIN)/start-test "make deployment-multilingual-acceptance-backend-start" http-get://127.0.0.1:55001/plone "make deployment-multilingual-acceptance-frontend-prod-start" http://127.0.0.1:3000 "make deployment-multilingual-ci-acceptance-test"
252
+
253
+ ######### Working Copy Acceptance tests
254
+
255
+ .PHONY: working-copy-acceptance-backend-start
256
+ working-copy-acceptance-backend-start: ## Start backend acceptance server for working copy tests
257
+ docker run -i --rm -p 55001:55001 -e APPLY_PROFILES=plone.app.contenttypes:plone-content,plone.restapi:default,plone.app.iterate:default,plone.volto:default $(DOCKER_IMAGE_ACCEPTANCE)
258
+
259
+ .PHONY: working-copy-acceptance-frontend-prod-start
260
+ working-copy-acceptance-frontend-prod-start: build-deps ## Start acceptance frontend in production mode for working copy tests
261
+ RAZZLE_API_PATH=http://127.0.0.1:55001/plone pnpm build && pnpm start:prod
262
+
263
+ .PHONY: working-copy-acceptance-test
264
+ working-copy-acceptance-test: ## Start Cypress in interactive mode for working copy tests
265
+ NODE_ENV=production CYPRESS_API=plone $(NODEBIN)/cypress open --config specPattern='cypress/tests/workingCopy/**/*.{js,jsx,ts,tsx}'
266
+
267
+ .PHONY: working-copy-ci-acceptance-test
268
+ working-copy-ci-acceptance-test: ## Run Cypress tests in headless mode for CI for working copy tests
269
+ NODE_ENV=production CYPRESS_API=plone $(NODEBIN)/cypress run --config specPattern='cypress/tests/workingCopy/**/*.{js,jsx,ts,tsx}'
270
+
271
+ .PHONY: working-copy-ci-acceptance-test-run-all
272
+ working-copy-ci-acceptance-test-run-all: ## With a single command, run the backend, frontend, and the Cypress tests in headless mode for CI for working copy tests
273
+ $(NODEBIN)/start-test "make working-copy-acceptance-backend-start" http-get://127.0.0.1:55001/plone "make working-copy-acceptance-frontend-prod-start" http://127.0.0.1:3000 "make working-copy-ci-acceptance-test"
274
+
275
+ ######### Guillotina Acceptance tests
276
+
277
+ .PHONY: guillotina-acceptance-backend-start
278
+ guillotina-acceptance-backend-start: ## Start backend acceptance server for Guillotina tests
279
+ docker-compose -f g-api/docker-compose.yml up > /dev/null
280
+
281
+ .PHONY: guillotina-acceptance-frontend-prod-start
282
+ guillotina-acceptance-frontend-prod-start: ## Start acceptance frontend in production mode for Guillotina tests
283
+ ADDONS=volto-guillotina RAZZLE_API_PATH=http://127.0.0.1:8081/db/web RAZZLE_LEGACY_TRAVERSE=true pnpm build && pnpm start:prod
284
+
285
+ .PHONY: guillotina-acceptance-test
286
+ guillotina-acceptance-test: ## Start Cypress in interactive mode for Guillotina tests
287
+ NODE_ENV=production CYPRESS_API=guillotina $(NODEBIN)/cypress open --config specPattern='cypress/tests/guillotina/**/*.{js,jsx,ts,tsx}'
288
+
289
+ .PHONY: guillotina-ci-acceptance-test
290
+ guillotina-ci-acceptance-test: ## Run Cypress tests in headless mode for CI for Guillotina tests
291
+ NODE_ENV=production CYPRESS_API=guillotina $(NODEBIN)/cypress run --config specPattern='cypress/tests/guillotina/**/*.{js,jsx,ts,tsx}'
292
+
293
+ .PHONY: guillotina-ci-acceptance-test-run-all
294
+ guillotina-ci-acceptance-test-run-all: ## With a single command, run the backend, frontend, and the Cypress tests in headless mode for CI for Guillotina tests
295
+ $(NODEBIN)/start-test "make guillotina-acceptance-backend-start" http-get://127.0.0.1:8081 "make guillotina-acceptance-frontend-prod-start" http://127.0.0.1:3000 "make guillotina-ci-acceptance-test"
296
+
297
+ ######### Plone 5 Acceptance tests
298
+
299
+ .PHONY: plone5-acceptance-backend-start
300
+ plone5-acceptance-backend-start: ## Start backend acceptance server for Plone 5 tests
301
+ docker run -i --rm -e ZSERVER_HOST=0.0.0.0 -e ZSERVER_PORT=55001 -p 55001:55001 -e ADDONS='$(KGS5) $(TESTING_ADDONS)' -e APPLY_PROFILES=plone.app.contenttypes:plone-content,plone.restapi:default,plone.volto:default-homepage -e CONFIGURE_PACKAGES=plone.app.contenttypes,plone.restapi,plone.volto,plone.volto.cors $(DOCKER_IMAGE5) ./bin/robot-server plone.app.robotframework.testing.VOLTO_ROBOT_TESTING
package/README.md CHANGED
@@ -185,7 +185,6 @@ You should check the dependencies in their `package.json` for more details.
185
185
  - [Climate and energy in the EU](https://github.com/eea/climate-energy-frontend) - Volto project for [Climate and energy in the EU website](https://climate-energy.eea.europa.eu)
186
186
  - [volto-bise](https://github.com/eea/volto-bise) - A Volto project packaged as an addon. It provides Theming using a razzle.extend.js provided alias.
187
187
  - [design-volto-theme](https://github.com/RedTurtle/design-volto-theme) Volto theme for Italian Public Administration
188
- - [2021.ploneconf.org](https://github.com/plone/ploneconf.org/tree/2021) - Volto project for [Plone Conference 2021 site](https://2021.ploneconf.org)
189
188
  - [2022.ploneconf.org](https://github.com/plone/ploneconf.org/tree/2022) - Volto project for [Plone Conference 2022 site](https://2022.ploneconf.org)
190
189
  - [2023.ploneconf.org](https://github.com/plone/ploneconf.org/tree/2023) - Volto project for [Plone Conference 2023 site](https://2023.ploneconf.org)
191
190
  - [plone.org.br](https://github.com/plonegovbr/plone.org.br) - Volto project for the [Brazilian Plone Community](https://plone.org.br)
@@ -2895,7 +2895,7 @@ msgstr ""
2895
2895
  msgid "Referencing this item with {relationship}"
2896
2896
  msgstr ""
2897
2897
 
2898
- #. Default: "Refresh source content"
2898
+ #. Default: "Reset to target"
2899
2899
  #: components/manage/Blocks/Teaser/Data
2900
2900
  msgid "Refresh source content"
2901
2901
  msgstr ""
@@ -2895,7 +2895,7 @@ msgstr ""
2895
2895
  msgid "Referencing this item with {relationship}"
2896
2896
  msgstr ""
2897
2897
 
2898
- #. Default: "Refresh source content"
2898
+ #. Default: "Reset to target"
2899
2899
  #: components/manage/Blocks/Teaser/Data
2900
2900
  msgid "Refresh source content"
2901
2901
  msgstr ""
@@ -2895,7 +2895,7 @@ msgstr ""
2895
2895
  msgid "Referencing this item with {relationship}"
2896
2896
  msgstr ""
2897
2897
 
2898
- #. Default: "Refresh source content"
2898
+ #. Default: "Reset to target"
2899
2899
  #: components/manage/Blocks/Teaser/Data
2900
2900
  msgid "Refresh source content"
2901
2901
  msgstr ""
@@ -2895,7 +2895,7 @@ msgstr ""
2895
2895
  msgid "Referencing this item with {relationship}"
2896
2896
  msgstr ""
2897
2897
 
2898
- #. Default: "Refresh source content"
2898
+ #. Default: "Reset to target"
2899
2899
  #: components/manage/Blocks/Teaser/Data
2900
2900
  msgid "Refresh source content"
2901
2901
  msgstr ""
@@ -2896,7 +2896,7 @@ msgstr "Referenciant aquest element com a relacionat"
2896
2896
  msgid "Referencing this item with {relationship}"
2897
2897
  msgstr "Referenciant aquest element amb {relationship}"
2898
2898
 
2899
- #. Default: "Refresh source content"
2899
+ #. Default: "Reset to target"
2900
2900
  #: components/manage/Blocks/Teaser/Data
2901
2901
  msgid "Refresh source content"
2902
2902
  msgstr "Actualitza el contingut d'origen"
@@ -2895,7 +2895,7 @@ msgstr ""
2895
2895
  msgid "Referencing this item with {relationship}"
2896
2896
  msgstr ""
2897
2897
 
2898
- #. Default: "Refresh source content"
2898
+ #. Default: "Reset to target"
2899
2899
  #: components/manage/Blocks/Teaser/Data
2900
2900
  msgid "Refresh source content"
2901
2901
  msgstr ""
@@ -2895,7 +2895,7 @@ msgstr ""
2895
2895
  msgid "Referencing this item with {relationship}"
2896
2896
  msgstr ""
2897
2897
 
2898
- #. Default: "Refresh source content"
2898
+ #. Default: "Reset to target"
2899
2899
  #: components/manage/Blocks/Teaser/Data
2900
2900
  msgid "Refresh source content"
2901
2901
  msgstr ""
@@ -2895,7 +2895,7 @@ msgstr ""
2895
2895
  msgid "Referencing this item with {relationship}"
2896
2896
  msgstr ""
2897
2897
 
2898
- #. Default: "Refresh source content"
2898
+ #. Default: "Reset to target"
2899
2899
  #: components/manage/Blocks/Teaser/Data
2900
2900
  msgid "Refresh source content"
2901
2901
  msgstr ""
@@ -635,7 +635,7 @@ msgstr "Änderungen gespeichert."
635
635
  #. Default: "Check this box to customize the title, description, or image of the target content item for this teaser. Leave it unchecked to show updates to the target content item if it is edited later."
636
636
  #: components/manage/Blocks/Teaser/schema
637
637
  msgid "Check this box to customize the title, description, or image of the target content item for this teaser. Leave it unchecked to show updates to the target content item if it is edited later."
638
- msgstr ""
638
+ msgstr "Aktivieren Sie dieses Kontrollkästchen, um den Titel, die Beschreibung oder das Vorschaubild des Zielinhalts für diesen Teaser anzupassen. Lassen Sie es deaktiviert, um Aktualisierungen des Zielinhalts anzuzeigen, falls dieser später bearbeitet wird."
639
639
 
640
640
  #. Default: "Checkbox"
641
641
  #: components/manage/Widgets/SchemaWidget
@@ -930,7 +930,7 @@ msgstr "Aktuelles Passwort"
930
930
  #. Default: "Customize teaser content"
931
931
  #: components/manage/Blocks/Teaser/schema
932
932
  msgid "Customize teaser content"
933
- msgstr ""
933
+ msgstr "Den Inhalt des Teasers anpassen"
934
934
 
935
935
  #. Default: "Cut"
936
936
  #: components/manage/Actions/Actions
@@ -2620,7 +2620,7 @@ msgstr "Objekt-Browser öffnen"
2620
2620
  #. Default: "Order"
2621
2621
  #: components/manage/Sidebar/Sidebar
2622
2622
  msgid "Order"
2623
- msgstr "Reihung"
2623
+ msgstr "Reihenfolge"
2624
2624
 
2625
2625
  #. Default: "Ordered"
2626
2626
  #: components/manage/Blocks/ToC/Schema
@@ -2896,10 +2896,10 @@ msgstr "Inhalte, die diesen Inhalt als verwandten Inhalt referenzieren"
2896
2896
  msgid "Referencing this item with {relationship}"
2897
2897
  msgstr "Inhalte, die diesen Inhalt mit {relationship} referenzieren"
2898
2898
 
2899
- #. Default: "Refresh source content"
2899
+ #. Default: "Reset to target"
2900
2900
  #: components/manage/Blocks/Teaser/Data
2901
2901
  msgid "Refresh source content"
2902
- msgstr ""
2902
+ msgstr "Vom Ziel übernehmen"
2903
2903
 
2904
2904
  #. Default: "Register"
2905
2905
  #: components/theme/Anontools/Anontools
@@ -2916,7 +2916,7 @@ msgstr "Registrierungsformular"
2916
2916
  #. Default: "Related Items"
2917
2917
  #: components/theme/RelatedItems/RelatedItems
2918
2918
  msgid "Related Items"
2919
- msgstr ""
2919
+ msgstr "Ähnliche Inhalte"
2920
2920
 
2921
2921
  #. Default: "Relation"
2922
2922
  #: components/manage/Controlpanels/Relations/RelationsMatrix