@plone/volto 18.24.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.
- package/CHANGELOG.md +39 -0
- package/Makefile~ +301 -0
- package/README.md +0 -2
- package/cypress/support/commands.js +8 -6
- package/locales/af/LC_MESSAGES/volto.po +11 -1
- package/locales/af.json +1 -1
- package/locales/ar/LC_MESSAGES/volto.po +11 -1
- package/locales/ar.json +1 -1
- package/locales/bg/LC_MESSAGES/volto.po +11 -1
- package/locales/bg.json +1 -1
- package/locales/bn/LC_MESSAGES/volto.po +11 -1
- package/locales/bn.json +1 -1
- package/locales/ca/LC_MESSAGES/volto.po +11 -1
- package/locales/ca.json +1 -1
- package/locales/cs/LC_MESSAGES/volto.po +11 -1
- package/locales/cs.json +1 -1
- package/locales/cy/LC_MESSAGES/volto.po +11 -1
- package/locales/cy.json +1 -1
- package/locales/da/LC_MESSAGES/volto.po +11 -1
- package/locales/da.json +1 -1
- package/locales/de/LC_MESSAGES/volto.po +16 -6
- package/locales/de.json +1 -1
- package/locales/el/LC_MESSAGES/volto.po +11 -1
- package/locales/el.json +1 -1
- package/locales/en/LC_MESSAGES/volto.po +11 -1
- package/locales/en.json +1 -1
- package/locales/en_AU/LC_MESSAGES/volto.po +11 -1
- package/locales/en_AU.json +1 -1
- package/locales/en_GB/LC_MESSAGES/volto.po +11 -1
- package/locales/en_GB.json +1 -1
- package/locales/eo/LC_MESSAGES/volto.po +11 -1
- package/locales/eo.json +1 -1
- package/locales/es/LC_MESSAGES/volto.po +109 -106
- package/locales/es.json +1 -1
- package/locales/et/LC_MESSAGES/volto.po +11 -1
- package/locales/et.json +1 -1
- package/locales/eu/LC_MESSAGES/volto.po +57 -47
- package/locales/eu.json +1 -1
- package/locales/fa/LC_MESSAGES/volto.po +11 -1
- package/locales/fa.json +1 -1
- package/locales/fi/LC_MESSAGES/volto.po +11 -1
- package/locales/fi.json +1 -1
- package/locales/fr/LC_MESSAGES/volto.po +11 -1
- package/locales/fr.json +1 -1
- package/locales/fu/LC_MESSAGES/volto.po +11 -1
- package/locales/fu.json +1 -1
- package/locales/gl/LC_MESSAGES/volto.po +11 -1
- package/locales/gl.json +1 -1
- package/locales/he/LC_MESSAGES/volto.po +11 -1
- package/locales/he.json +1 -1
- package/locales/hi/LC_MESSAGES/volto.po +11 -1
- package/locales/hi.json +1 -1
- package/locales/hr/LC_MESSAGES/volto.po +11 -1
- package/locales/hr.json +1 -1
- package/locales/hu/LC_MESSAGES/volto.po +11 -1
- package/locales/hu.json +1 -1
- package/locales/hy/LC_MESSAGES/volto.po +11 -1
- package/locales/hy.json +1 -1
- package/locales/id/LC_MESSAGES/volto.po +11 -1
- package/locales/id.json +1 -1
- package/locales/it/LC_MESSAGES/volto.po +26 -17
- package/locales/it.json +1 -1
- package/locales/ja/LC_MESSAGES/volto.po +11 -1
- package/locales/ja.json +1 -1
- package/locales/ka/LC_MESSAGES/volto.po +11 -1
- package/locales/ka.json +1 -1
- package/locales/kn/LC_MESSAGES/volto.po +11 -1
- package/locales/kn.json +1 -1
- package/locales/ko/LC_MESSAGES/volto.po +11 -1
- package/locales/ko.json +1 -1
- package/locales/lt/LC_MESSAGES/volto.po +11 -1
- package/locales/lt.json +1 -1
- package/locales/lv/LC_MESSAGES/volto.po +11 -1
- package/locales/lv.json +1 -1
- package/locales/mi/LC_MESSAGES/volto.po +11 -1
- package/locales/mi.json +1 -1
- package/locales/mk/LC_MESSAGES/volto.po +11 -1
- package/locales/mk.json +1 -1
- package/locales/my/LC_MESSAGES/volto.po +11 -1
- package/locales/my.json +1 -1
- package/locales/nb_NO/LC_MESSAGES/volto.po +11 -1
- package/locales/nb_NO.json +1 -1
- package/locales/nl/LC_MESSAGES/volto.po +22 -17
- package/locales/nl.json +1 -1
- package/locales/nn/LC_MESSAGES/volto.po +11 -1
- package/locales/nn.json +1 -1
- package/locales/pl/LC_MESSAGES/volto.po +11 -1
- package/locales/pl.json +1 -1
- package/locales/pt/LC_MESSAGES/volto.po +688 -683
- package/locales/pt.json +1 -1
- package/locales/pt_BR/LC_MESSAGES/volto.po +11 -1
- package/locales/pt_BR.json +1 -1
- package/locales/rm/LC_MESSAGES/volto.po +11 -1
- package/locales/rm.json +1 -1
- package/locales/ro/LC_MESSAGES/volto.po +11 -1
- package/locales/ro.json +1 -1
- package/locales/ru/LC_MESSAGES/volto.po +11 -1
- package/locales/ru.json +1 -1
- package/locales/sk/LC_MESSAGES/volto.po +11 -1
- package/locales/sk.json +1 -1
- package/locales/sl/LC_MESSAGES/volto.po +11 -1
- package/locales/sl.json +1 -1
- package/locales/sm/LC_MESSAGES/volto.po +11 -1
- package/locales/sm.json +1 -1
- package/locales/sq/LC_MESSAGES/volto.po +11 -1
- package/locales/sq.json +1 -1
- package/locales/sr/LC_MESSAGES/volto.po +11 -1
- package/locales/sr.json +1 -1
- package/locales/sr@cyrl/LC_MESSAGES/volto.po +11 -1
- package/locales/sr@cyrl.json +1 -1
- package/locales/sr@latn/LC_MESSAGES/volto.po +11 -1
- package/locales/sr@latn.json +1 -1
- package/locales/sv/LC_MESSAGES/volto.po +226 -221
- package/locales/sv.json +1 -1
- package/locales/ta/LC_MESSAGES/volto.po +1001 -996
- package/locales/ta.json +1 -1
- package/locales/te/LC_MESSAGES/volto.po +11 -1
- package/locales/te.json +1 -1
- package/locales/th/LC_MESSAGES/volto.po +11 -1
- package/locales/th.json +1 -1
- package/locales/to/LC_MESSAGES/volto.po +11 -1
- package/locales/to.json +1 -1
- package/locales/tr/LC_MESSAGES/volto.po +11 -1
- package/locales/tr.json +1 -1
- package/locales/uk/LC_MESSAGES/volto.po +11 -1
- package/locales/uk.json +1 -1
- package/locales/vi/LC_MESSAGES/volto.po +11 -1
- package/locales/vi.json +1 -1
- package/locales/volto.pot +12 -2
- package/locales/zh_CN/LC_MESSAGES/volto.po +11 -1
- package/locales/zh_CN.json +1 -1
- package/locales/zh_Hant/LC_MESSAGES/volto.po +11 -1
- package/locales/zh_Hant.json +1 -1
- package/locales/zh_Hant_HK/LC_MESSAGES/volto.po +11 -1
- package/locales/zh_Hant_HK.json +1 -1
- package/package.json +4 -4
- package/src/components/manage/Blocks/Image/Edit.jsx +5 -1
- package/src/components/manage/Blocks/Teaser/Data.jsx +1 -1
- package/src/components/manage/Widgets/ImageWidget.jsx +159 -33
- package/src/components/manage/Widgets/RegistryImageWidget.test.jsx +3 -2
- package/src/middleware/storeProtectLoadUtils.test.js +3 -3
- package/theme/themes/pastanaga/extras/blocks.less +19 -0
- package/types/components/manage/Widgets/ImageWidget.d.ts +41 -1
- package/types/components/manage/Widgets/RecurrenceWidget/Utils.d.ts +12 -18
- package/types/helpers/Helmet/Helmet.d.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -17,6 +17,45 @@ 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
|
+
|
|
42
|
+
## 18.25.0 (2025-09-01)
|
|
43
|
+
|
|
44
|
+
### Feature
|
|
45
|
+
|
|
46
|
+
- Make Jest maxWorkers configurable via MAX_WORKERS env var. @wesleybl [#7251](https://github.com/plone/volto/issues/7251)
|
|
47
|
+
|
|
48
|
+
### Bugfix
|
|
49
|
+
|
|
50
|
+
- Fix ImageWidget to support DX fields and Relation Choice images (preview_image_link). @sneridagh [#7099](https://github.com/plone/volto/issues/7099)
|
|
51
|
+
|
|
52
|
+
### Internal
|
|
53
|
+
|
|
54
|
+
- Update @testing-library/react to 14.3.1. @wesleybl [#7260](https://github.com/plone/volto/issues/7260)
|
|
55
|
+
- Remove MEDICE website entry from `Volto in production`. @wesleybl [#7283](https://github.com/plone/volto/issues/7283)
|
|
56
|
+
- Fix random error in Listing Block tests. @wesleybl [#7286](https://github.com/plone/volto/issues/7286)
|
|
57
|
+
- Fixed a random failure in Cypress tests when using `getSlateEditorAndType` or `getSlateEditorSelectorAndType`. @wesleybl [#7290](https://github.com/plone/volto/issues/7290)
|
|
58
|
+
|
|
20
59
|
## 18.24.0 (2025-08-25)
|
|
21
60
|
|
|
22
61
|
### 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
|
@@ -156,7 +156,6 @@ To ensure your website gets the greatest exposure, add it both to [Awesome Volto
|
|
|
156
156
|
- [Jobfamilie MEDICE](https://jobfamilie.medice.de/de) (Carrer website for MEDICE Arzneimittel Pütter GmbH & Co. KG), developed by [Werkbank GmbH](https://werkbank.de/), 2020)
|
|
157
157
|
- [Lanku](https://www.lanku.eus) (Website for Lanku Kultur Zerbitzuak, a company offering cultural services and improvised Basque verse singing sessions across the Basque Country, developed by [CodeSyntax](https://www.codesyntax.com/en), 2023)
|
|
158
158
|
- [Leibniz Institute for Science and Mathematics Education (IPN)](https://www.leibniz-ipn.de/de) (Website of the IPN, a research institute dedicated to issues related to learning and teaching of science, mathematics and computer science in and outside of schools, developed by [Starzel](https://www.starzel.de), 2023)
|
|
159
|
-
- [MEDICE Webseite](https://medice.com/de-de) (Website for MEDICE Arzneimittel Pütter GmbH & Co. KG), developed by [Werkbank GmbH](https://werkbank.de/), 2020)
|
|
160
159
|
- [Nuova Voce Ecologista](https://nuovavoceecologista.it) (Website of Nuova Voce Ecologista, an Italian green Party, 2020)
|
|
161
160
|
- [Osaka University](https://www.osaka-u.ac.jp/en) (Osaka University is considered one of the most prestigious universities in Japan. Developed by [CMScom](https://www.cmscom.jp), 2021)
|
|
162
161
|
- [ResOU](https://resou.osaka-u.ac.jp/ja) (ResOU is introducing official researched releases by the University of Osaka, Japan. Developed by [CMScom](https://www.cmscom.jp), 2020)
|
|
@@ -186,7 +185,6 @@ You should check the dependencies in their `package.json` for more details.
|
|
|
186
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)
|
|
187
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.
|
|
188
187
|
- [design-volto-theme](https://github.com/RedTurtle/design-volto-theme) Volto theme for Italian Public Administration
|
|
189
|
-
- [2021.ploneconf.org](https://github.com/plone/ploneconf.org/tree/2021) - Volto project for [Plone Conference 2021 site](https://2021.ploneconf.org)
|
|
190
188
|
- [2022.ploneconf.org](https://github.com/plone/ploneconf.org/tree/2022) - Volto project for [Plone Conference 2022 site](https://2022.ploneconf.org)
|
|
191
189
|
- [2023.ploneconf.org](https://github.com/plone/ploneconf.org/tree/2023) - Volto project for [Plone Conference 2023 site](https://2023.ploneconf.org)
|
|
192
190
|
- [plone.org.br](https://github.com/plonegovbr/plone.org.br) - Volto project for the [Brazilian Plone Community](https://plone.org.br)
|
|
@@ -833,23 +833,25 @@ function shouldVerifyContent(type) {
|
|
|
833
833
|
}
|
|
834
834
|
|
|
835
835
|
Cypress.Commands.add('getSlateEditorAndType', (type) => {
|
|
836
|
-
|
|
836
|
+
cy.getSlate().focus().click().type(type);
|
|
837
837
|
|
|
838
838
|
if (shouldVerifyContent(type)) {
|
|
839
|
-
return
|
|
839
|
+
return cy.getSlate().should('contain', type, { timeout: 5000 });
|
|
840
840
|
}
|
|
841
841
|
|
|
842
|
-
return
|
|
842
|
+
return cy.getSlate();
|
|
843
843
|
});
|
|
844
844
|
|
|
845
845
|
Cypress.Commands.add('getSlateEditorSelectorAndType', (selector, type) => {
|
|
846
|
-
|
|
846
|
+
cy.getSlateSelector(selector).focus().click().type(type);
|
|
847
847
|
|
|
848
848
|
if (shouldVerifyContent(type)) {
|
|
849
|
-
return
|
|
849
|
+
return cy
|
|
850
|
+
.getSlateSelector(selector)
|
|
851
|
+
.should('contain', type, { timeout: 5000 });
|
|
850
852
|
}
|
|
851
853
|
|
|
852
|
-
return
|
|
854
|
+
return cy.getSlateSelector(selector);
|
|
853
855
|
});
|
|
854
856
|
|
|
855
857
|
Cypress.Commands.add('setSlateCursor', (subject, query, endQuery) => {
|
|
@@ -2895,7 +2895,7 @@ msgstr ""
|
|
|
2895
2895
|
msgid "Referencing this item with {relationship}"
|
|
2896
2896
|
msgstr ""
|
|
2897
2897
|
|
|
2898
|
-
#. Default: "
|
|
2898
|
+
#. Default: "Reset to target"
|
|
2899
2899
|
#: components/manage/Blocks/Teaser/Data
|
|
2900
2900
|
msgid "Refresh source content"
|
|
2901
2901
|
msgstr ""
|
|
@@ -4696,6 +4696,11 @@ msgstr ""
|
|
|
4696
4696
|
msgid "examplePath"
|
|
4697
4697
|
msgstr ""
|
|
4698
4698
|
|
|
4699
|
+
#. Default: "External URLs are not allowed in this field."
|
|
4700
|
+
#: components/manage/Widgets/ImageWidget
|
|
4701
|
+
msgid "externalURLsNotAllowed"
|
|
4702
|
+
msgstr ""
|
|
4703
|
+
|
|
4699
4704
|
#. Default: "This website does not accept files larger than {limit}"
|
|
4700
4705
|
#: helpers/MessageLabels/MessageLabels
|
|
4701
4706
|
msgid "fileTooLarge"
|
|
@@ -4756,6 +4761,11 @@ msgstr ""
|
|
|
4756
4761
|
msgid "integer"
|
|
4757
4762
|
msgstr ""
|
|
4758
4763
|
|
|
4764
|
+
#. Default: "No image was found in the internal path you provided."
|
|
4765
|
+
#: components/manage/Widgets/ImageWidget
|
|
4766
|
+
msgid "internalImageNotFoundErrorMessage"
|
|
4767
|
+
msgstr ""
|
|
4768
|
+
|
|
4759
4769
|
#. Default: "Intranet"
|
|
4760
4770
|
#: components/manage/Contents/ContentsItem
|
|
4761
4771
|
msgid "intranet"
|