@plone/volto 17.0.0 → 17.1.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 (62) hide show
  1. package/CHANGELOG.md +353 -3
  2. package/README.md +36 -252
  3. package/RELEASING.md +5 -5
  4. package/addon-registry.js +6 -8
  5. package/cypress/support/commands.js +1 -2
  6. package/cypress/support/reset-fixture.js +2 -4
  7. package/jest-extender-plugin.js +3 -1
  8. package/locales/ca/LC_MESSAGES/volto.po +5 -0
  9. package/locales/ca.json +1 -1
  10. package/locales/de/LC_MESSAGES/volto.po +5 -0
  11. package/locales/de.json +1 -1
  12. package/locales/en/LC_MESSAGES/volto.po +5 -0
  13. package/locales/en.json +1 -1
  14. package/locales/es/LC_MESSAGES/volto.po +5 -0
  15. package/locales/es.json +1 -1
  16. package/locales/eu/LC_MESSAGES/volto.po +5 -0
  17. package/locales/eu.json +1 -1
  18. package/locales/fi/LC_MESSAGES/volto.po +5 -0
  19. package/locales/fi.json +1 -1
  20. package/locales/fr/LC_MESSAGES/volto.po +5 -0
  21. package/locales/fr.json +1 -1
  22. package/locales/it/LC_MESSAGES/volto.po +5 -0
  23. package/locales/it.json +1 -1
  24. package/locales/ja/LC_MESSAGES/volto.po +5 -0
  25. package/locales/ja.json +1 -1
  26. package/locales/nl/LC_MESSAGES/volto.po +5 -0
  27. package/locales/nl.json +1 -1
  28. package/locales/pt/LC_MESSAGES/volto.po +5 -0
  29. package/locales/pt.json +1 -1
  30. package/locales/pt_BR/LC_MESSAGES/volto.po +6 -1
  31. package/locales/pt_BR.json +1 -1
  32. package/locales/ro/LC_MESSAGES/volto.po +5 -0
  33. package/locales/ro.json +1 -1
  34. package/locales/volto.pot +6 -1
  35. package/locales/zh_CN/LC_MESSAGES/volto.po +5 -0
  36. package/locales/zh_CN.json +1 -1
  37. package/package.json +5 -4
  38. package/packages/volto-slate/package.json +1 -1
  39. package/pre-build-transpiling.js +1 -1
  40. package/razzle.config.js +6 -10
  41. package/src/components/manage/Blocks/LeadImage/View.jsx +1 -7
  42. package/src/components/manage/Blocks/LeadImage/View.test.jsx +22 -0
  43. package/src/components/manage/Blocks/LeadImage/utils.js +9 -0
  44. package/src/components/manage/Blocks/Listing/ListingData.jsx +3 -3
  45. package/src/components/manage/Blocks/Listing/ListingData.test.jsx +2 -0
  46. package/src/components/manage/Blocks/Video/View.test.jsx +1 -1
  47. package/src/components/manage/Sharing/Sharing.jsx +18 -0
  48. package/src/components/manage/UniversalLink/UniversalLink.jsx +3 -1
  49. package/src/components/theme/Comments/CommentEditModal.stories.jsx +64 -0
  50. package/src/components/theme/EventDetails/EventDetails.stories.jsx +88 -0
  51. package/src/components/theme/Header/Header.stories.jsx +47 -0
  52. package/src/components/theme/Image/Image.jsx +0 -4
  53. package/src/components/theme/Login/Login.jsx +1 -1
  54. package/src/components/theme/Login/Login.stories.jsx +1 -1
  55. package/src/components/theme/Logo/Logo.Multilingual.test.jsx +5 -25
  56. package/src/components/theme/Logo/Logo.jsx +8 -6
  57. package/src/components/theme/Logo/Logo.stories.jsx +25 -1
  58. package/src/components/theme/Logo/Logo.test.jsx +6 -19
  59. package/src/components/theme/SearchWidget/SearchWidget.stories.jsx +36 -0
  60. package/src/config/Blocks.jsx +2 -0
  61. package/src/start-server.js +4 -0
  62. package/src/storybook.jsx +2 -2
package/README.md CHANGED
@@ -10,20 +10,17 @@
10
10
 
11
11
  ## Introduction
12
12
 
13
- [Volto](https://github.com/plone/volto) is a ReactJS-based frontend for the [Plone](https://plone.org) Content Management System. It will become the default UI for the upcoming Plone 6 release.
13
+ [Volto](https://github.com/plone/volto) is a ReactJS-based frontend for the [Plone](https://plone.org) Content Management System. It is the default frontend starting with the Plone 6 release.
14
14
 
15
15
  [Plone](https://plone.org) is a CMS built on Python with more than 20 years of history and experience.
16
16
 
17
- Plone has very interesting features that appeal to developers and users alike,
18
- such as customizable content types, hierarchical URL object traversing and a
19
- sophisticated content workflow powered by a granular permissions model. This
20
- allows you to build anything from simple websites to enterprise-grade
21
- intranets.
17
+ Plone has features that appeal to developers and users alike, such as an intuitive editing interface, customizable content types, hierarchical organization, and a sophisticated permissions model.
18
+ This allows you to build anything from simple websites to enterprise-grade intranets.
22
19
 
23
20
  Volto exposes all these features and communicates with Plone via its [REST API](https://github.com/plone/plone.restapi).
24
- Volto has the ability of being easily extensible, themeable, and customizable.
25
21
 
26
- It features the Pastanaga editor, a modern block-based content layout editor. It is extensible and customizable, so you can adapt the default blocks provided to match your requirements, or build new ones to cover them.
22
+ Volto features the Pastanaga editor, a modern block-based content layout editor.
23
+ It is extensible and customizable, so you can adapt the default blocks provided to match your requirements, or build new ones to cover them.
27
24
 
28
25
  Volto is extensible using add-ons.
29
26
  You can build your own or choose from the community released ones:
@@ -33,77 +30,51 @@ You can build your own or choose from the community released ones:
33
30
 
34
31
  ## Demo
35
32
 
36
- You can try a Volto online demo in [https://6.demo.plone.org/](https://6.demo.plone.org/)
33
+ You can try a Volto online demo at [https://6.demo.plone.org/](https://6.demo.plone.org/)
37
34
 
38
- ### Try the demo locally
35
+ ## Create a Volto project
39
36
 
40
- If you want to give Volto a quick try and you have [Docker](https://www.docker.com/get-started) installed in your computer, bootstrap the demo using `docker-compose`:
37
+ To start a new project using Volto, follow the [Plone installation documentation](https://6.docs.plone.org/install/install-from-packages.html).
41
38
 
42
- ```shell
43
- git clone https://github.com/plone/volto.git
44
- cd volto
45
- docker-compose up
46
- ```
47
-
48
- Go to [http://localhost:3000](http://localhost:3000) in your browser.
49
-
50
- ## Quick Start
51
-
52
- First get all the requirements installed on your system.
53
-
54
- ### Prerequisites
55
-
56
- - [Node.js LTS (18.x)](https://nodejs.org/)
57
- - [Python](https://python.org/) - See below for specific versions.
58
- - [Docker](https://www.docker.com/get-started) (if using the Plone docker images)
59
-
60
- The versions of Python that are supported in Volto depend on the version of Plone that you use.
61
-
62
- | Plone | Python | Volto |
63
- |---|---|---|
64
- | 5.2 | 2.7, 3.6-3.8 | 15.0 |
65
- | 6.0 | 3.8-3.11 | 16.0 |
39
+ ## Documentation
66
40
 
67
- ### Create a Volto project using the generator
41
+ You can find the latest documentation at [https://6.docs.plone.org/](https://6.docs.plone.org/volto/index.html).
68
42
 
69
- Create a new Volto project by using the `@plone/generator-volto` utility.
43
+ For links to trainings and videos, see [Other learning resources](https://6.docs.plone.org/volto/getting-started/others.html).
70
44
 
71
- It will bootstrap a Volto project in a folder of your choice with all the required
72
- boilerplate to start customizing your Volto site.
45
+ ## Supported Node.js versions
73
46
 
74
- ```
75
- npm install -g yo @plone/generator-volto
76
- yo @plone/volto
77
- ```
78
- follow the prompts questions, provide `myvoltoproject` as project name then, when it finishes:
47
+ Volto runs using [Node.js](https://nodejs.org/).
48
+ We recommend using the current LTS version (18.x).
79
49
 
80
- ```
81
- cd myvoltoproject
82
- ```
50
+ - Node.js 20: Supported since Volto 17.
51
+ - Node.js 18 (LTS): Supported since Volto 17.
52
+ - Node.js 16: No longer supported. It was supported from Volto 14 - 16.
53
+ - Node.js 14: No longer supported. It was supported from Volto 8.8.0 - 16.
54
+ - Node.js 12: No longer supported. It was supported from Volto 4 - 15.
55
+ - Node.js 10: No longer supported. It was supported from Volto 1 - 12.
83
56
 
84
- ### Bootstrap the Plone API backend
57
+ ## Supported Plone and Python versions
85
58
 
86
- You can bootstrap a ready Docker Plone container with all the dependencies and ready for Volto use. We recommend to use the Plone docker builds based in `pip` [plone/plone-backend](https://github.com/plone/plone-backend) image:
59
+ Volto is the default UI for Plone 6.
60
+ It will work for all released Plone 6 versions.
87
61
 
88
- ```shell
89
- docker run -it --rm --name=plone -p 8080:8080 -e SITE=Plone -e PROFILES="plone.volto:default-homepage" plone/plone-backend:6.0.5
90
- ```
62
+ For the Plone 5 series, the [latest released version of Plone 5](https://plone.org/download/releases) is recommended.
91
63
 
92
- or as an alternative if you have experience with Plone and you have all the
93
- dependencies installed on your system, you can use the supplied convenience buildout in the
94
- `api` folder by issuing the command:
64
+ The versions of Python that are supported in Volto depend on the version of Plone that you use.
95
65
 
96
- ```shell
97
- make build-backend
98
- ```
66
+ | Plone | Python | Volto |
67
+ | ----- | ------------ | ------------ |
68
+ | 6.0 | 3.8-3.11 | 16.0 or 17.0 |
69
+ | 5.2 | 2.7, 3.6-3.8 | 15.0 |
99
70
 
100
- #### Recommended Plone version
71
+ ## Supported browsers
101
72
 
102
- Volto is the default UI for Plone 6, so it will work for all Plone 6 released versions.
73
+ Volto works well with the current version of any modern browser, including their mobile flavors: Chrome, Firefox, Safari, and Edge.
103
74
 
104
- For the Plone 5 series, the latest released version of Plone 5 (with Python 3) is recommended (at the time of writing 5.2.10).
75
+ We do not guarantee that outdated browsers such as Internet Explorer 11 are supported by Volto.
105
76
 
106
- #### KGS (known good set of versions) for backend packages
77
+ ## Known good set of versions for backend packages
107
78
 
108
79
  On Plone 6, we recommend using the known good set (KGS) of package versions that are specified in the Plone release.
109
80
 
@@ -113,21 +84,6 @@ On Plone 5, Volto is currently tested with the following packages pinned to spec
113
84
  - plone.rest 2.0.0
114
85
  - plone.volto 4.0.3
115
86
 
116
- This would be the docker command to spawn a Plone 5 container with the right KGS versions:
117
-
118
- ```shell
119
- docker run -it --rm --name=plone -p 8080:8080 -e SITE=Plone -e ADDONS="plone.restapi==8.32.6 plone.volto==4.0.3 plone.rest==2.0.0" -e PROFILES="plone.volto:default-homepage" plone/plone-backend
120
- ```
121
-
122
- ### Start Volto
123
-
124
- ```shell
125
- yarn start
126
- ```
127
-
128
- ### Browsing
129
-
130
- Go to [http://localhost:3000](http://localhost:3000) in your browser.
131
87
 
132
88
  ## Volto in Production
133
89
 
@@ -182,149 +138,9 @@ Volto is actively developed since 2017 and used in production since 2018 on the
182
138
 
183
139
  Please create a new [issue](https://github.com/plone/volto/issues/new) or [pull request](https://github.com/plone/volto/pulls) to add your Volto-site here!
184
140
 
185
- ## Documentation
186
-
187
- You can find the latest (in-progress) documentation in [https://6.docs.plone.org/](https://6.docs.plone.org/volto/index.html)
188
-
189
- ## Training
190
-
191
- On the [Plone Training website](https://training.plone.org), you'll find Volto-dedicated training materials, plus other JavaScript-centered trainings.
192
-
193
- - [Mastering Plone 6 Development](https://training.plone.org/mastering-plone/)
194
- The comprehensive training on Plone 6 with best practice tips for developers and integrators.
195
- - [Volto Hands-On](https://training.plone.org/voltohandson/index.html)
196
- - [Volto Add-ons Development](https://training.plone.org/voltoaddons/index.html)
197
- - [Effective Volto](https://training.plone.org/effective-volto/index.html)
198
- - [Plone Deployment](https://training.plone.org/plone-deployment/index.html)
199
- - [Volto](https://2022.training.plone.org/volto/index.html) (archived)
200
- - [JavaScript For Plone Developers](https://2022.training.plone.org/javascript/index.html) (archived)
201
-
202
- ## Talks
203
-
204
- ### Plone Conference Ferrara 2019
205
-
206
- [Víctor Fernández de Alba - Plone Beyond 2020: Jump into Volto today!](https://www.youtube.com/watch?v=8QrGOgXo1Js&list=PLGN9BI-OAQkQD9HliElIk9pe-8O_Y6S04&index=16&t=0s)
207
-
208
- [Rob Gietema - How to create your own Volto site!](https://www.youtube.com/watch?v=3QLN8tsjjf4&list=PLGN9BI-OAQkQD9HliElIk9pe-8O_Y6S04&index=11&t=0s)
209
-
210
- [Timo Stollenwerk - On the Road - Plone 6 and Beyond](https://www.youtube.com/watch?v=suXVdfYV2kA&list=PLGN9BI-OAQkQD9HliElIk9pe-8O_Y6S04&index=14&t=0s)
211
-
212
- [Rodrigo Ferreira de Souza - Data migration to Plone 5.2 and Volto](https://www.youtube.com/watch?v=kb9SEsnllqE&list=PLGN9BI-OAQkQD9HliElIk9pe-8O_Y6S04&index=49&t=0s)
213
-
214
- [Nicola Zambello - A Volto story: building a website by prototyping](https://www.youtube.com/watch?v=xtxJURICkWc&list=PLGN9BI-OAQkQD9HliElIk9pe-8O_Y6S04&index=17&t=0s)
215
-
216
- [Luca Pisani - Plone and React.js: An interview to Volto](https://www.youtube.com/watch?v=JZFUOG843no&list=PLGN9BI-OAQkQD9HliElIk9pe-8O_Y6S04&index=26&t=0s)
217
-
218
- ### Plone Conference Tokyo 2018
219
-
220
- [Rob Gietema - Volto](https://2018.ploneconf.org/talks/plone-react)
221
-
222
- [Rob Gietema / Víctor Fernández de Alba - Volto Extensibility Story](https://2018.ploneconf.org/talks/plone-react-extensibility-story)
223
-
224
- [Víctor Fernández de Alba - Theming Volto](https://2018.ploneconf.org/talks/theming-plone-react)
225
-
226
- [Timo Stollenwerk / Víctor Fernández de Alba / Ramon Navarro - Volto Case Studies](https://2018.ploneconf.org/talks/plone-react-case-studies-when-stability-and-security-meet-speed-and-a-modern-user-interface)
227
-
228
- [Timo Stollenwerk - Reinventing Plone, Roadmap to the Modern Web](https://2018.ploneconf.org/talks/reinventing-plone-roadmap-to-the-modern-web)
229
-
230
- ## Node.js Support
231
-
232
- - Node.js 20: Supported since Volto 17
233
- - Node.js 18: Supported since Volto 17
234
- - Node.js 16: No longer supported. It was supported from Volto 14 - 16
235
- - Node.js 14: No longer supported. It was supported from Volto 8.8.0 - 16
236
- - Node.js 12: No longer supported. It was supported from Volto 4 - 15
237
- - Node.js 10: No longer supported. It was supported from Volto 1 - 12
238
-
239
- ## Browser support
240
-
241
- Volto works well with any modern (evergreen) browser, including their mobile
242
- flavors: Chrome, Firefox, Safari, Edge.
243
-
244
- We do not guarantee that deprecated browsers (e.g., Internet Explorer 11) are supported by Volto. Although proven possible, it's too great an effort to maintain. It is left to the integrator to provide support for it.
245
-
246
- ## Upgrades
141
+ ## Contributing to Volto
247
142
 
248
- You can find the upgrade guide here: https://6.docs.plone.org/volto/upgrade-guide/index.html
249
-
250
- ## Volto Development
251
-
252
- For Volto development you need all the requirements already mentioned on the
253
- [Quick Start](#quick-start) section.
254
-
255
- ### Checkout the Volto repository
256
-
257
- ```shell
258
- git clone https://github.com/plone/volto.git
259
- ```
260
-
261
- ### Install dependencies
262
-
263
- ```shell
264
- yarn
265
- ```
266
-
267
- ### Install Plone backend
268
-
269
- Either using a Docker command:
270
-
271
- ```shell
272
- docker run -it --rm --name=plone -p 8080:8080 -e SITE=Plone -e PROFILES="plone.volto:default-homepage" plone/plone-backend:6.0.5
273
- ```
274
-
275
- or using the convenience makefile command:
276
-
277
- ```shell
278
- make start-backend-docker
279
- ```
280
-
281
- or running Plone on your machine (advanced), additional dependencies might be
282
- required, only for Plone experienced integrators/developers. Check the [Plone
283
- Installation Documentation](https://6.docs.plone.org/install/index.html).
284
-
285
- ```shell
286
- make build-backend
287
- ```
288
-
289
- ### Run frontend
290
-
291
- Either using a Docker command:
292
-
293
- ```shell
294
- 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
295
- ```
296
-
297
- or using the convenience makefile command:
298
-
299
- ```shell
300
- make start-frontend-docker
301
- ```
302
-
303
- or from the local repository code:
304
-
305
- ```shell
306
- yarn && yarn start
307
- ```
308
-
309
- ### Browsing
310
-
311
- Browse to [http://localhost:3000](http://localhost:3000) in your browser.
312
-
313
- ### Testing
314
-
315
- ```shell
316
- yarn test
317
- ```
318
-
319
- ## Acceptance testing
320
-
321
- Here you can find a guide on how acceptance testing is done in Volto:
322
-
323
- https://6.docs.plone.org/volto/developer-guidelines/acceptance-tests.html
324
-
325
- ## Translations
326
-
327
- If you would like contribute to translate Volto into several languages, please, read the [Internationalization (i18n) guide](https://6.docs.plone.org/volto/recipes/i18n.html).
143
+ To contribute to the Volto project by writing code, documentation, translations, and so on, please read [Contributing to Plone](https://6.docs.plone.org/contributing/index.html) and [Contributing to Volto](https://6.docs.plone.org/volto/contributing/index.html).
328
144
 
329
145
  ## Contributors
330
146
 
@@ -332,40 +148,8 @@ If you would like contribute to translate Volto into several languages, please,
332
148
  <img src="https://contrib.rocks/image?repo=plone/volto" />
333
149
  </a>
334
150
 
335
- ## Alternative backends
336
-
337
- Volto also supports other APIs like [Guillotina](https://guillotina.io/), a
338
- Python resource management system, inspired by Plone and using the same basic
339
- concepts like traversal, content types, and permissions model.
340
-
341
- Last but not least, it also supports a [Volto Node.js-based backend reference](https://github.com/plone/volto-reference-backend) API implementation that
342
- demos how other systems could also use Volto to display and create content
343
- through it.
344
-
345
- ### Run a Guillotina backend
346
-
347
- *Disclaimer:* Guillotina doesn't support the full API/features that Plone provides. Contributors are welcome.
348
-
349
- ```shell
350
- docker-compose -f g-api/docker-compose.yml up -d
351
- ```
352
-
353
- or using the convenience makefile command:
354
-
355
- ```shell
356
- make start-backend-docker-guillotina
357
- ```
358
-
359
- ### Running the acceptance tests with Guillotina backend
360
-
361
- If you want to use Guillotina as a backend to run the tests you should run:
362
-
363
- ```shell
364
- yarn ci:start-api-plone-guillotina
365
- ```
366
-
367
151
  ## License
368
152
 
369
- MIT License. Copyrights hold the [Plone Foundation](https://plone.org/foundation).
153
+ MIT License. Copyrights held by the [Plone Foundation](https://plone.org/foundation).
370
154
 
371
155
  See [LICENSE.md](LICENSE.md) for details.
package/RELEASING.md CHANGED
@@ -6,18 +6,18 @@ To ease the release process, we use the utility [`release-it`](https://www.npmjs
6
6
 
7
7
  To start a release, you must fulfill the following requirements:
8
8
 
9
- - Have permission to push to `master` branch
9
+ - Have permission to push to `main` branch
10
10
  - Have permission on the [`@plone` organization on npm](https://www.npmjs.com/org/plone).
11
11
  - Have an environment variable `GITHUB_TOKEN` with a GitHub personal token with permissions to write to the [Volto Release page on GitHub](https://github.com/plone/volto/releases).
12
12
  - Install [`pipx`](https://pypa.github.io/pipx/) in your system.
13
13
 
14
14
  To request these permissions, on GitHub tag `@plone/release-team`, or in Discord post to the [`release-team` channel](https://discord.com/channels/786421998426521600/897549410521714760).
15
15
 
16
- ### Permission to push to `master` branch
16
+ ### Permission to push to `main` branch
17
17
 
18
- The release process involves pushing directly to the `master` branch.
19
- Volto's `master` branch is protected, so the releaser needs to have permission for pushing to it.
20
- At the moment of this writing, members of the GitHub group `@plone/volto-team` have permission to push to `master`.
18
+ The release process involves pushing directly to the `main` branch.
19
+ Volto's `main` branch is protected, so the releaser needs to have permission for pushing to it.
20
+ At the moment of this writing, members of the GitHub group `@plone/volto-team` have permission to push to `main`.
21
21
 
22
22
  ### Permission to release Volto to npm registry
23
23
 
package/addon-registry.js CHANGED
@@ -101,16 +101,14 @@ function getAddonsLoaderChain(graph) {
101
101
  */
102
102
  class AddonConfigurationRegistry {
103
103
  constructor(projectRootPath) {
104
- const packageJson = (this.packageJson = require(path.join(
105
- projectRootPath,
106
- 'package.json',
107
- )));
104
+ const packageJson = (this.packageJson = require(
105
+ path.join(projectRootPath, 'package.json'),
106
+ ));
108
107
  // Loads the dynamic config, if any
109
108
  if (fs.existsSync(path.join(projectRootPath, 'volto.config.js'))) {
110
- this.voltoConfigJS = require(path.join(
111
- projectRootPath,
112
- 'volto.config.js',
113
- ));
109
+ this.voltoConfigJS = require(
110
+ path.join(projectRootPath, 'volto.config.js'),
111
+ );
114
112
  } else {
115
113
  this.voltoConfigJS = [];
116
114
  }
@@ -126,8 +126,7 @@ Cypress.Commands.add(
126
126
  body: bodyModifier({
127
127
  ...defaultParams.body,
128
128
  image: {
129
- data:
130
- 'iVBORw0KGgoAAAANSUhEUgAAANcAAAA4CAMAAABZsZ3QAAAAM1BMVEX29fK42OU+oMvn7u9drtIPisHI4OhstdWZyt4fkcXX5+sAg74umMhNp86p0eJ7vNiKw9v/UV4wAAAAAXRSTlMAQObYZgAABBxJREFUeF7tmuty4yAMhZG4X2zn/Z92J5tsBJwWXG/i3XR6frW2Y/SBLIRAfaQUDNt8E5tLUt9BycfcKfq3R6Mlfyimtx4rzp+K3dtibXkor99zsEqLYZltblTecciogoh+TXfY1Ve4dn07rCDGG9dHSEEOg/GmXl0U1XDxTKxNK5De7BxsyyBr6gGm2/vPxKJ8F6f7BXKfRMp1xIWK9A+5ks25alSb353dWnDJN1k35EL5f8dVGifTf/4tjUuuFq7u4srmXC60yAmldLXIWbg65RKU87lcGxJCFqUPv0IacW0PmSivOZFLE908inPToMmii/roG+MRV/O8FU88i8tFsxV3a06MFUw0Qu7RmAtdV5/HVVaOVMTWNOWSwMljLhzhcB6XIS7OK5V6AvRDNN7t5VJWQs1J40UmalbK56usBG/CuCHSYuc+rkUGeMCViNRARPrzW52N3oQLe6WifNliSuuGaH3czbVNudI9s7ZLUCLHVwWlyES522o1t14uvmbblmVTKqFjaZYJFSTPP4dLL1kU1z7p0lzdbRulmEWLxoQX+z9ce7A8GqEEucllLxePuZwdJl1Lezu0hoswvTPt61DrFcRuujV/2cmlxaGBC7Aw6cpovGANwRiSdOAWJ5AGy4gLL64dl0QhUEAuEUNws+XxV+OKGPdw/hESGYF9XEGaFC7sNLMSXWJjHsnanYi87VK428N2uxpOjOFANcagLM5l+7mSycM8KknZpKLcGi6jmzWGr/vLurZ/0g4u9AZuAoeb5r1ceQhyiTPY1E4wUR6u/F3H2ojSpXMMriBPT9cezTto8Cx+MsglHL4fv1Rxrb1LVw9yvyQpJ3AhFnLZfuRLH2QsOG3FGGD20X/th/u5bFAt16Bt308KjF+MNOXgl/SquIEySX3GhaZvc67KZbDxcCDORz2N8yCWPaY5lyQZO7lQ29fnZbt3Xu6qoge4+DjXl/MocySPOp9rlvdyznahRyHEYd77v3LhugOXDv4J65QXfl803BDAdaWBEDhfVx7nKofjoVCgxnUAqw/UAUDPn788BDvQuG4TDtdtUPvzjSlXAB8DvaDOhhrmhwbywylXAm8CvaouikJTL93gs3y7Yy4VYbIxOHrcMizPqWOjqO9l3Uz52kibQy4xxOgqhJvD+w5rvokOcAlGvNCfeqCv1ste1stzLm0f71Iq3ZfTrPfuE5nhPtF+LvQE2lffQC7pYtQy3tdzdrKvd5TLVVzDetScS3nEKmmwDyt1Cev1kX3YfbvzNK4fzrlw+cB6vm+uiUgf2zdXI62241LawCb7Pi5FXFPF8KpzDoF/Sw2lg+GrHNbno1mhPu+VCF/vfMnw06PnUl6j48dVHD3jHNHPua+fc3o/5yp/zsGi0vYtzi3Pz5mHd4T6BWMIlewacd63AAAAAElFTkSuQmCC',
129
+ data: 'iVBORw0KGgoAAAANSUhEUgAAANcAAAA4CAMAAABZsZ3QAAAAM1BMVEX29fK42OU+oMvn7u9drtIPisHI4OhstdWZyt4fkcXX5+sAg74umMhNp86p0eJ7vNiKw9v/UV4wAAAAAXRSTlMAQObYZgAABBxJREFUeF7tmuty4yAMhZG4X2zn/Z92J5tsBJwWXG/i3XR6frW2Y/SBLIRAfaQUDNt8E5tLUt9BycfcKfq3R6Mlfyimtx4rzp+K3dtibXkor99zsEqLYZltblTecciogoh+TXfY1Ve4dn07rCDGG9dHSEEOg/GmXl0U1XDxTKxNK5De7BxsyyBr6gGm2/vPxKJ8F6f7BXKfRMp1xIWK9A+5ks25alSb353dWnDJN1k35EL5f8dVGifTf/4tjUuuFq7u4srmXC60yAmldLXIWbg65RKU87lcGxJCFqUPv0IacW0PmSivOZFLE908inPToMmii/roG+MRV/O8FU88i8tFsxV3a06MFUw0Qu7RmAtdV5/HVVaOVMTWNOWSwMljLhzhcB6XIS7OK5V6AvRDNN7t5VJWQs1J40UmalbK56usBG/CuCHSYuc+rkUGeMCViNRARPrzW52N3oQLe6WifNliSuuGaH3czbVNudI9s7ZLUCLHVwWlyES522o1t14uvmbblmVTKqFjaZYJFSTPP4dLL1kU1z7p0lzdbRulmEWLxoQX+z9ce7A8GqEEucllLxePuZwdJl1Lezu0hoswvTPt61DrFcRuujV/2cmlxaGBC7Aw6cpovGANwRiSdOAWJ5AGy4gLL64dl0QhUEAuEUNws+XxV+OKGPdw/hESGYF9XEGaFC7sNLMSXWJjHsnanYi87VK428N2uxpOjOFANcagLM5l+7mSycM8KknZpKLcGi6jmzWGr/vLurZ/0g4u9AZuAoeb5r1ceQhyiTPY1E4wUR6u/F3H2ojSpXMMriBPT9cezTto8Cx+MsglHL4fv1Rxrb1LVw9yvyQpJ3AhFnLZfuRLH2QsOG3FGGD20X/th/u5bFAt16Bt308KjF+MNOXgl/SquIEySX3GhaZvc67KZbDxcCDORz2N8yCWPaY5lyQZO7lQ29fnZbt3Xu6qoge4+DjXl/MocySPOp9rlvdyznahRyHEYd77v3LhugOXDv4J65QXfl803BDAdaWBEDhfVx7nKofjoVCgxnUAqw/UAUDPn788BDvQuG4TDtdtUPvzjSlXAB8DvaDOhhrmhwbywylXAm8CvaouikJTL93gs3y7Yy4VYbIxOHrcMizPqWOjqO9l3Uz52kibQy4xxOgqhJvD+w5rvokOcAlGvNCfeqCv1ste1stzLm0f71Iq3ZfTrPfuE5nhPtF+LvQE2lffQC7pYtQy3tdzdrKvd5TLVVzDetScS3nEKmmwDyt1Cev1kX3YfbvzNK4fzrlw+cB6vm+uiUgf2zdXI62241LawCb7Pi5FXFPF8KpzDoF/Sw2lg+GrHNbno1mhPu+VCF/vfMnw06PnUl6j48dVHD3jHNHPua+fc3o/5yp/zsGi0vYtzi3Pz5mHd4T6BWMIlewacd63AAAAAElFTkSuQmCC',
131
130
  encoding: 'base64',
132
131
  filename: 'image.png',
133
132
  'content-type': 'image/png',
@@ -4,8 +4,7 @@ function setup() {
4
4
  method: 'POST',
5
5
  url: `${api_url}/RobotRemote`,
6
6
  headers: { Accept: 'text/xml', 'content-type': 'text/xml' },
7
- body:
8
- '<?xml version="1.0"?><methodCall><methodName>run_keyword</methodName><params><param><value><string>remote_zodb_setup</string></value></param><param><value><array><data><value><string>plone.app.robotframework.testing.PLONE_ROBOT_TESTING</string></value></data></array></value></param></params></methodCall>',
7
+ body: '<?xml version="1.0"?><methodCall><methodName>run_keyword</methodName><params><param><value><string>remote_zodb_setup</string></value></param><param><value><array><data><value><string>plone.app.robotframework.testing.PLONE_ROBOT_TESTING</string></value></data></array></value></param></params></methodCall>',
9
8
  }).then(() => cy.log('Setting up API fixture'));
10
9
  }
11
10
 
@@ -15,8 +14,7 @@ function teardown() {
15
14
  method: 'POST',
16
15
  url: `${api_url}/RobotRemote`,
17
16
  headers: { Accept: 'text/xml', 'content-type': 'text/xml' },
18
- body:
19
- '<?xml version="1.0"?><methodCall><methodName>run_keyword</methodName><params><param><value><string>remote_zodb_teardown</string></value></param><param><value><array><data><value><string>plone.app.robotframework.testing.PLONE_ROBOT_TESTING</string></value></data></array></value></param></params></methodCall>',
17
+ body: '<?xml version="1.0"?><methodCall><methodName>run_keyword</methodName><params><param><value><string>remote_zodb_teardown</string></value></param><param><value><array><data><value><string>plone.app.robotframework.testing.PLONE_ROBOT_TESTING</string></value></data></array></value></param></params></methodCall>',
20
18
  }).then(() => cy.log('Tearing down API fixture'));
21
19
  }
22
20
 
@@ -16,7 +16,9 @@ module.exports = {
16
16
  if (
17
17
  fs.existsSync(`${projectRootPath}/${process.env.RAZZLE_JEST_CONFIG}`)
18
18
  ) {
19
- const jestConfig = require(`${projectRootPath}/${process.env.RAZZLE_JEST_CONFIG}`);
19
+ const jestConfig = require(
20
+ `${projectRootPath}/${process.env.RAZZLE_JEST_CONFIG}`,
21
+ );
20
22
  config = { ...config, ...jestConfig };
21
23
  }
22
24
  // if not, use the sensible default, `jest.config.js`
@@ -411,6 +411,11 @@ msgstr "Esteu segurs que voleu eliminar aquest grup de camps i tots els camps qu
411
411
  msgid "Ascending"
412
412
  msgstr "Ascendent"
413
413
 
414
+ #: components/manage/Sharing/Sharing
415
+ # defaultMessage: Assign the {role} role to {entry}
416
+ msgid "Assign the {role} role to {entry}"
417
+ msgstr ""
418
+
414
419
  #: components/manage/Controlpanels/Rules/ConfigureRule
415
420
  # defaultMessage: Assignments
416
421
  msgid "Assignments"