@plone/volto 17.0.1 → 17.1.1
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 +41 -0
- package/README.md +36 -252
- package/addon-registry.js +6 -8
- package/cypress/support/commands.js +1 -2
- package/cypress/support/reset-fixture.js +2 -4
- package/jest-extender-plugin.js +3 -1
- package/locales/pt_BR/LC_MESSAGES/volto.po +1 -1
- package/locales/pt_BR.json +1 -1
- package/package.json +5 -4
- package/packages/volto-slate/package.json +1 -1
- package/pre-build-transpiling.js +1 -1
- package/razzle.config.js +6 -10
- package/src/components/manage/Blocks/LeadImage/LeadImageSidebar.test.jsx +3 -2
- package/src/components/manage/Blocks/LeadImage/View.jsx +1 -7
- package/src/components/manage/Blocks/LeadImage/View.test.jsx +22 -0
- package/src/components/manage/Blocks/LeadImage/utils.js +9 -0
- package/src/components/manage/Blocks/Listing/ListingData.jsx +3 -3
- package/src/components/manage/Blocks/Listing/ListingData.test.jsx +2 -0
- package/src/components/manage/UniversalLink/UniversalLink.jsx +3 -1
- package/src/components/theme/Comments/CommentEditModal.stories.jsx +64 -0
- package/src/components/theme/EventDetails/EventDetails.stories.jsx +88 -0
- package/src/components/theme/Header/Header.stories.jsx +47 -0
- package/src/components/theme/Image/Image.jsx +8 -11
- package/src/components/theme/Image/Image.test.jsx +11 -11
- package/src/components/theme/Login/Login.jsx +1 -1
- package/src/components/theme/Login/Login.stories.jsx +1 -1
- package/src/components/theme/Logo/Logo.Multilingual.test.jsx +5 -25
- package/src/components/theme/Logo/Logo.jsx +8 -6
- package/src/components/theme/Logo/Logo.stories.jsx +25 -1
- package/src/components/theme/Logo/Logo.test.jsx +6 -19
- package/src/components/theme/SearchWidget/SearchWidget.stories.jsx +36 -0
- package/src/config/Blocks.jsx +2 -0
- package/src/helpers/Url/Url.js +29 -0
- package/src/helpers/Url/Url.test.js +104 -0
- package/src/helpers/index.js +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,44 @@
|
|
|
8
8
|
|
|
9
9
|
<!-- towncrier release notes start -->
|
|
10
10
|
|
|
11
|
+
## 17.1.1 (2023-10-13)
|
|
12
|
+
|
|
13
|
+
### Bugfix
|
|
14
|
+
|
|
15
|
+
- Normalize the shape of the image component item prop if it contains the serialized object after creation to match the one in the catalog. @sneridagh [#5266](https://github.com/plone/volto/issues/5266)
|
|
16
|
+
- Added guard in `flattenScales` in edge case image is undefined @sneridagh [#5318](https://github.com/plone/volto/issues/5318)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
## 17.1.0 (2023-10-11)
|
|
20
|
+
|
|
21
|
+
### Feature
|
|
22
|
+
|
|
23
|
+
- storybook Header-@Tishasoumya [#5085](https://github.com/plone/volto/issues/5085)
|
|
24
|
+
- Storybook EventDetails-@Tishasoumya [#5088](https://github.com/plone/volto/issues/5088)
|
|
25
|
+
- Storybook CommentEditModal-@Tishasoumya [#5091](https://github.com/plone/volto/issues/5091)
|
|
26
|
+
- Storybook SearchWidget-@Tishasoumya [#5092](https://github.com/plone/volto/issues/5092)
|
|
27
|
+
- Upgrade to @plone/scripts 3.0.1 @sneridagh [#5282](https://github.com/plone/volto/issues/5282)
|
|
28
|
+
- Make LeadImage block sizes configurable through a function @erral [#5289](https://github.com/plone/volto/issues/5289)
|
|
29
|
+
|
|
30
|
+
### Bugfix
|
|
31
|
+
|
|
32
|
+
- Remove the default aspect-ratio from Image component. It was redundant and hard to override. @pnicolli [#5096](https://github.com/plone/volto/issues/5096)
|
|
33
|
+
- Update translate pt_br to fix merge fail @luxcas [#5217](https://github.com/plone/volto/issues/5217)
|
|
34
|
+
- Ensure .gitignore gets copied when running yo @plone/volto-addon @instification [#5258](https://github.com/plone/volto/issues/5258)
|
|
35
|
+
- Configure the `prettier` and `prettier:fix` yarn commands to also include the root js files and the `cypress` subfolder @tiberiuichim [#5260](https://github.com/plone/volto/issues/5260)
|
|
36
|
+
- Emit a proper URL for the Plone root in a listing, we use the `config.publicURL` for it @tiberiuichim [#5263](https://github.com/plone/volto/issues/5263)
|
|
37
|
+
- fixed logo and login storybook @nileshgulia1 [#5264](https://github.com/plone/volto/issues/5264)
|
|
38
|
+
- Refactor Logo component to improve the conditional link to the root @sneridagh [#5280](https://github.com/plone/volto/issues/5280)
|
|
39
|
+
- Update webpack-bundle-analyzer to 4.9.0. @davisagli [#5283](https://github.com/plone/volto/issues/5283)
|
|
40
|
+
- Added support for blocksConfig configuration in the listing block @sneridagh [#5310](https://github.com/plone/volto/issues/5310)
|
|
41
|
+
|
|
42
|
+
### Documentation
|
|
43
|
+
|
|
44
|
+
- Added notice in release notes for Volto 17 final to clarify that it's a summary for all changes during the alpha stage. @sneridagh
|
|
45
|
+
Added an omitted change log entry for the Relations Control Panel. @sneridagh [#5281](https://github.com/plone/volto/issues/5281)
|
|
46
|
+
- Updated readme and removed outdated install docs. @davisagli [#5287](https://github.com/plone/volto/issues/5287)
|
|
47
|
+
|
|
48
|
+
|
|
11
49
|
## 17.0.1 (2023-10-03)
|
|
12
50
|
|
|
13
51
|
### Bugfix
|
|
@@ -24,6 +62,8 @@
|
|
|
24
62
|
|
|
25
63
|
## 17.0.0 (2023-09-30)
|
|
26
64
|
|
|
65
|
+
**These Release Notes summarize all the changes during the alpha stage of Volto 17.**
|
|
66
|
+
|
|
27
67
|
### Breaking
|
|
28
68
|
|
|
29
69
|
- Volto 17 drops support for NodeJS 14, and adds support for Node.js 18.
|
|
@@ -55,6 +95,7 @@
|
|
|
55
95
|
|
|
56
96
|
### Feature
|
|
57
97
|
|
|
98
|
+
- Added a control panel for relations. @ksuess [#3382](https://github.com/plone/volto/pull/3382)
|
|
58
99
|
- Add directive to cache stable resources in browser or intermediate server for 365 days by default directly in the SSR Express server, static resource that could change after a new deployment for 1 minute. @mamico [#2216](https://github.com/plone/volto/issues/2216)
|
|
59
100
|
- Use popperjs in BlockChooser, move the markup to the bottom of the body tag. @sneridagh [#4141](https://github.com/plone/volto/issues/4141)
|
|
60
101
|
- Improvements to the dev API proxy:
|
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
|
|
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
|
|
18
|
-
|
|
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
|
-
|
|
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
|
|
33
|
+
You can try a Volto online demo at [https://6.demo.plone.org/](https://6.demo.plone.org/)
|
|
37
34
|
|
|
38
|
-
|
|
35
|
+
## Create a Volto project
|
|
39
36
|
|
|
40
|
-
|
|
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
|
-
|
|
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
|
-
|
|
41
|
+
You can find the latest documentation at [https://6.docs.plone.org/](https://6.docs.plone.org/volto/index.html).
|
|
68
42
|
|
|
69
|
-
|
|
43
|
+
For links to trainings and videos, see [Other learning resources](https://6.docs.plone.org/volto/getting-started/others.html).
|
|
70
44
|
|
|
71
|
-
|
|
72
|
-
boilerplate to start customizing your Volto site.
|
|
45
|
+
## Supported Node.js versions
|
|
73
46
|
|
|
74
|
-
|
|
75
|
-
|
|
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
|
-
|
|
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
|
-
|
|
57
|
+
## Supported Plone and Python versions
|
|
85
58
|
|
|
86
|
-
|
|
59
|
+
Volto is the default UI for Plone 6.
|
|
60
|
+
It will work for all released Plone 6 versions.
|
|
87
61
|
|
|
88
|
-
|
|
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
|
-
|
|
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
|
-
|
|
97
|
-
|
|
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
|
-
|
|
71
|
+
## Supported browsers
|
|
101
72
|
|
|
102
|
-
Volto
|
|
73
|
+
Volto works well with the current version of any modern browser, including their mobile flavors: Chrome, Firefox, Safari, and Edge.
|
|
103
74
|
|
|
104
|
-
|
|
75
|
+
We do not guarantee that outdated browsers such as Internet Explorer 11 are supported by Volto.
|
|
105
76
|
|
|
106
|
-
|
|
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
|
-
##
|
|
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
|
-
|
|
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
|
|
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/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(
|
|
105
|
-
projectRootPath,
|
|
106
|
-
|
|
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(
|
|
111
|
-
projectRootPath,
|
|
112
|
-
|
|
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
|
|
package/jest-extender-plugin.js
CHANGED
|
@@ -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(
|
|
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`
|
|
@@ -4539,7 +4539,7 @@ msgstr "Meu endereço de e-mail é"
|
|
|
4539
4539
|
#: components/theme/PasswordReset/RequestPasswordReset
|
|
4540
4540
|
# defaultMessage: My user name is
|
|
4541
4541
|
msgid "label_my_username_is"
|
|
4542
|
-
msgstr "Meu nome de usuário
|
|
4542
|
+
msgstr "Meu nome de usuário é "
|
|
4543
4543
|
|
|
4544
4544
|
#: config/Blocks
|
|
4545
4545
|
# defaultMessage: Lead Image Field
|