@plone/volto 15.0.0-alpha.9 → 15.0.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/.eslintrc +1 -1
- package/.storybook/preview.js +2 -2
- package/CHANGELOG.md +145 -0
- package/README.md +92 -82
- package/create-addons-loader.js +1 -1
- package/dist/assets.json +1 -1
- package/dist/chunks.json +34 -34
- package/dist/loadable-stats.json +82 -82
- package/dist/public/static/css/{14.e6187688.chunk.css → 14.803b450c.chunk.css} +1 -1
- package/dist/public/static/css/{client.22b707ce.chunk.css → client.7ff60f09.chunk.css} +2 -2
- package/dist/public/static/js/14.803b450c.chunk.js +3 -0
- package/dist/public/static/js/{14.e6187688.chunk.js.LICENSE.txt → 14.803b450c.chunk.js.LICENSE.txt} +0 -0
- package/dist/public/static/js/22.5a2b56ff.chunk.js +2 -0
- package/dist/public/static/js/23.a53c8d7b.chunk.js +2 -0
- package/dist/public/static/js/24.d44c620a.chunk.js +2 -0
- package/dist/public/static/js/25.455376b6.chunk.js +2 -0
- package/dist/public/static/js/26.a821045d.chunk.js +2 -0
- package/dist/public/static/js/27.efbb318a.chunk.js +2 -0
- package/dist/public/static/js/28.b4840d60.chunk.js +2 -0
- package/dist/public/static/js/29.690d4b54.chunk.js +2 -0
- package/dist/public/static/js/30.5f174f94.chunk.js +2 -0
- package/dist/public/static/js/31.4a7cf109.chunk.js +2 -0
- package/dist/public/static/js/32.2247dcf7.chunk.js +2 -0
- package/dist/public/static/js/33.87874f33.chunk.js +2 -0
- package/dist/public/static/js/37.96925a5f.chunk.js +3 -0
- package/dist/public/static/js/{37.9f2dfaaf.chunk.js.LICENSE.txt → 37.96925a5f.chunk.js.LICENSE.txt} +0 -0
- package/dist/public/static/js/client.7ff60f09.chunk.js +2 -0
- package/dist/public/static/js/{runtime~client.8af75b1a.js → runtime~client.c5015e27.js} +2 -2
- package/dist/server.js +1 -1
- package/locales/ca/LC_MESSAGES/volto.po +2 -2
- package/locales/ca.json +1 -1
- package/locales/de/LC_MESSAGES/volto.po +4 -4
- package/locales/de.json +1 -1
- package/locales/en/LC_MESSAGES/volto.po +2 -2
- package/locales/en.json +1 -1
- package/locales/es/LC_MESSAGES/volto.po +74 -74
- package/locales/es.json +1 -1
- package/locales/eu/LC_MESSAGES/volto.po +166 -166
- package/locales/eu.json +1 -1
- package/locales/fr/LC_MESSAGES/volto.po +2 -2
- package/locales/fr.json +1 -1
- package/locales/it/LC_MESSAGES/volto.po +2 -2
- package/locales/it.json +1 -1
- package/locales/ja/LC_MESSAGES/volto.po +2 -2
- package/locales/ja.json +1 -1
- package/locales/nl/LC_MESSAGES/volto.po +2 -2
- package/locales/nl.json +1 -1
- package/locales/pt/LC_MESSAGES/volto.po +2 -2
- package/locales/pt.json +1 -1
- package/locales/pt_BR/LC_MESSAGES/volto.po +2 -2
- package/locales/pt_BR.json +1 -1
- package/locales/ro/LC_MESSAGES/volto.po +2 -2
- package/locales/ro.json +1 -1
- package/locales/volto.pot +3 -3
- package/logos/VoltoLogoEra2-dark-mode.png +0 -0
- package/logos/VoltoLogoEra2.png +0 -0
- package/package.json +9 -3
- package/razzle.config.js +4 -0
- package/src/actions/lazyLibraries/lazyLibraries.js +8 -4
- package/src/components/manage/Add/Add.jsx +1 -1
- package/src/components/manage/Blocks/Block/BlocksForm.jsx +2 -2
- package/src/components/manage/Blocks/Search/components/Facets.jsx +5 -1
- package/src/components/manage/Contents/ContentsIndexHeader.test.jsx +2 -1
- package/src/components/manage/Contents/ContentsRenameModal.jsx +1 -1
- package/src/components/manage/Controlpanels/VersionOverview.jsx +2 -1
- package/src/components/manage/Form/ModalForm.jsx +6 -8
- package/src/components/manage/Multilingual/CreateTranslation.jsx +1 -1
- package/src/components/manage/Multilingual/TranslationObject.jsx +1 -1
- package/src/components/manage/Pluggable/index.js +1 -1
- package/src/components/manage/Preferences/PersonalPreferences.jsx +1 -1
- package/src/components/manage/Toolbar/Toolbar.jsx +1 -1
- package/src/components/manage/Widgets/IdWidget.jsx +14 -4
- package/src/components/theme/Component/Component.jsx +4 -4
- package/src/components/theme/Component/Component.test.jsx +3 -3
- package/src/components/theme/EventDetails/EventDetails.test.jsx +2 -1
- package/src/components/theme/MultilingualRedirector/MultilingualRedirector.jsx +1 -1
- package/src/config/Widgets.jsx +1 -0
- package/src/config/index.js +2 -1
- package/src/helpers/Blocks/Blocks.js +5 -1
- package/src/reducers/content/content.js +21 -1
- package/src/server.jsx +2 -2
- package/src/start-client.jsx +2 -2
- package/src/store.js +1 -1
- package/theme/themes/pastanaga/extras/sidebar.less +1 -0
- package/dist/public/static/js/14.e6187688.chunk.js +0 -3
- package/dist/public/static/js/22.7339c861.chunk.js +0 -2
- package/dist/public/static/js/23.1d15c541.chunk.js +0 -2
- package/dist/public/static/js/24.d5133aae.chunk.js +0 -2
- package/dist/public/static/js/25.1ef76e2b.chunk.js +0 -2
- package/dist/public/static/js/26.5bf7099e.chunk.js +0 -2
- package/dist/public/static/js/27.00d25863.chunk.js +0 -2
- package/dist/public/static/js/28.72e76a0f.chunk.js +0 -2
- package/dist/public/static/js/29.07d38dc7.chunk.js +0 -2
- package/dist/public/static/js/30.57f2a8e8.chunk.js +0 -2
- package/dist/public/static/js/31.f878d4af.chunk.js +0 -2
- package/dist/public/static/js/32.41a64022.chunk.js +0 -2
- package/dist/public/static/js/33.d0de7e9f.chunk.js +0 -2
- package/dist/public/static/js/37.9f2dfaaf.chunk.js +0 -3
- package/dist/public/static/js/client.22b707ce.chunk.js +0 -2
package/.eslintrc
CHANGED
package/.storybook/preview.js
CHANGED
|
@@ -2,9 +2,9 @@ import '@plone/volto/config'; // This is the bootstrap for the global config - c
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { StaticRouter } from 'react-router-dom';
|
|
4
4
|
import { IntlProvider } from 'react-intl';
|
|
5
|
-
import enMessages from '
|
|
5
|
+
import enMessages from '@root/../locales/en.json';
|
|
6
6
|
|
|
7
|
-
import '
|
|
7
|
+
import '@root/theme';
|
|
8
8
|
|
|
9
9
|
export const parameters = {
|
|
10
10
|
actions: { argTypesRegex: '^on[A-Z].*' },
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,150 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
+
## 15.0.0 (2022-03-14)
|
|
4
|
+
|
|
5
|
+
### Breaking
|
|
6
|
+
|
|
7
|
+
- Upgrade `react-cookie` to the latest version. @sneridagh @robgietema
|
|
8
|
+
See https://6.dev-docs.plone.org/volto/upgrade-guide/index.html for more information.
|
|
9
|
+
- Language Switcher no longer takes care of the change of the language on the Redux Store. This responsibility has been unified in the API Redux middleware @sneridagh
|
|
10
|
+
- Markup change in `LinkView` component.
|
|
11
|
+
- Rename `core-sandbox` to `coresandbox` for sake of consistency @sneridagh
|
|
12
|
+
- Extend the original intent and rename `RAZZLE_TESTING_ADDONS` to `ADDONS`. @sneridagh
|
|
13
|
+
See https://6.dev-docs.plone.org/volto/upgrade-guide/index.html for more information.
|
|
14
|
+
- Lazyload Draft.js library. See the upgrade guide on how that impacts you, in case you have extended the rich text editor configuration @tiberiuichim @kreafox
|
|
15
|
+
See https://6.dev-docs.plone.org/volto/upgrade-guide/index.html for more information.
|
|
16
|
+
- Deprecating `lang` cookie in favor of Plone official one `I18N_LANGUAGE` @sneridagh
|
|
17
|
+
|
|
18
|
+
### Feature
|
|
19
|
+
|
|
20
|
+
- Add `cookiesExpire` value to config to control the cookie expiration @giuliaghisini
|
|
21
|
+
- DatetimeWidget 'noPastDates' option: Take widgetOptions?.pattern_options?.noPastDates of backend schema into account. @ksuess
|
|
22
|
+
- Add a new type of filter facet for the Search block. Heavily refactor some searchblock internals. @tiberiuichim
|
|
23
|
+
- Add date range facet to the search block @robgietema
|
|
24
|
+
- Introduce the new `BUILD_DIR` runtime environment variable to direct the build to run in a specific location, different than `build` folder. @sneridagh
|
|
25
|
+
- Handle redirect permanent calls from the backend in the frontend (e.g. when changing the short name) @robgietema
|
|
26
|
+
- Added id widget to manage short name @robgietema
|
|
27
|
+
- Refactor language synchronizer. Remove it from the React tree, integrate it into the Api Redux middleware @sneridagh
|
|
28
|
+
- Add blocks rendering in Event and NewsItem views (rel plone.volto#32) @nzambello @ksuess
|
|
29
|
+
- Add internal volto ids to invalid ids @robgietema
|
|
30
|
+
- Complete Basque translation @erral
|
|
31
|
+
- Complete Spanish translation @erral
|
|
32
|
+
- Sort the choices in Facets in the search block @iFlameing
|
|
33
|
+
|
|
34
|
+
### Bugfix
|
|
35
|
+
|
|
36
|
+
- Fix the `null` error in SelectAutoComplete Widget @iFlameing
|
|
37
|
+
- Prevent the `MultilingualRedirector` to force content load when switching the language @reebalazs
|
|
38
|
+
- Fix the upload image in contents view @iFlameing
|
|
39
|
+
- add "view" id to contact-form container for main content skiplink @ThomasKindermann
|
|
40
|
+
- Fix loading indicator positioning on Login form submit @sneridagh
|
|
41
|
+
- Fix redirect bug with URLs containing querystrings @robgietema
|
|
42
|
+
- Fixed id widget translations @robgietema
|
|
43
|
+
- Contents Rename Modal, use `id` Widget type @sneridagh
|
|
44
|
+
- Fix overflow of very long file name in `FileWidget` @sneridagh
|
|
45
|
+
- Fix overflowing issue in the toolbar @kreafox
|
|
46
|
+
- Overwrite current block on insert new block. @robgietema
|
|
47
|
+
- Fix hot reload on updates related to the config object because of `VersionOverview` component @sneridagh
|
|
48
|
+
- Fix error when lock data is gone after an invariant error. @robgietema
|
|
49
|
+
|
|
50
|
+
### Internal
|
|
51
|
+
|
|
52
|
+
- Change prop `name` -> `componentName` in component `Component` @sneridagh
|
|
53
|
+
- Add new RawMaterial Volto websites in production @nzambello
|
|
54
|
+
- House cleanup, remove some unused files in the root @sneridagh
|
|
55
|
+
- Move Webpack related files to `webpack-plugins` folder @sneridagh
|
|
56
|
+
- Remove unused Dockerfiles @sneridagh
|
|
57
|
+
- Update Docker compose to latest images and best practices @sneridagh
|
|
58
|
+
- Improve flaky test in coresandbox search Cypress tests @sneridagh
|
|
59
|
+
- Better implementation of the add-on load coming from the environment variable `ADDONS` @sneridagh
|
|
60
|
+
- Turn `lazyLibraries` action into a thunk. Added a conditional if the library is loaded or in process to be loaded, do not try to load it again. This fixes the lag on load `draftjs` when having a lot of draftjs blocks. @sneridagh
|
|
61
|
+
- Use `@root` alias instead of `~` in several module references. Most of the Volto project code no longer needs the root alias, so it makes sense to phase it out at some point @tiberiuichim
|
|
62
|
+
- Alias `lodash` to `lodash-es`, as this will include only one copy of lodash in the bundle @tiberiuichim
|
|
63
|
+
- Better Readme, updated to 2022 @sneridagh
|
|
64
|
+
- Update to latest versions for Python packages @sneridagh
|
|
65
|
+
- Add `id` as widget type as well @sneridagh
|
|
66
|
+
|
|
67
|
+
### Documentation
|
|
68
|
+
|
|
69
|
+
- Upgrade Guide i18n: Make clear what's project, what add-on. @ksuess
|
|
70
|
+
- (Experimental) Prepare documentation for MyST and importing into `plone/documentation@6-dev`. @stevepiercy
|
|
71
|
+
- Fix broken links and redirects in documentation to be compatible with MyST. @stevepiercy
|
|
72
|
+
- Update add-on internationalization. @ksuess
|
|
73
|
+
- Add MyST and Sphinx basic configuration for rapid build and comparison against MkDocs builds. @stevepiercy
|
|
74
|
+
- Fix many MyST and Sphinx warnings. @stevepiercy
|
|
75
|
+
- Remove MkDocs configuration. See https://github.com/plone/volto/issues/3042 @stevepiercy
|
|
76
|
+
- Add Plone docs to Intersphinx and fix broken link. @stevepiercy
|
|
77
|
+
- Get version from `package.json` @sneridagh
|
|
78
|
+
- Remove legacy folder in docs @sneridagh
|
|
79
|
+
- Backport docs of RAZZLE_TESTING_ADDONS environment variables. See https://github.com/plone/volto/pull/3067/files#diff-00609ed769cd40cf3bc3d6fcc4431b714cb37c73cedaaea18fe9fc4c1c589597 @stevepiercy
|
|
80
|
+
- Add missing developer-guidelines/typescript to toctree @stevepiercy
|
|
81
|
+
- Add Netlify for preview of Sphinx builds for pull requests against `master` and `plone6-docs`. @stevepiercy
|
|
82
|
+
- Clean up toctree errors by removing obsolete files, adding `:orphan:` field list, and reorganizing some files. @sneridagh and @stevepiercy
|
|
83
|
+
- Switch to using netlify.toml to configure Netlify Python environment. @stevepiercy
|
|
84
|
+
- Convert admonition syntax from Markdown to MyST. @sneridagh
|
|
85
|
+
- Make links build both in Volto and Plone documentation. See https://github.com/plone/volto/pull/3094 @stevepiercy
|
|
86
|
+
- Fix broken links. @stevepiercy
|
|
87
|
+
- Update Sphinx configuration to check anchors in links and exclude problematic URLs. @sneridagh and @stevepiercy
|
|
88
|
+
- Fix StoryBook links @sneridagh
|
|
89
|
+
- Clean up `linkcheck_ignore` values. @stevepiercy
|
|
90
|
+
|
|
91
|
+
## 15.0.0-alpha.14 (2022-03-10)
|
|
92
|
+
|
|
93
|
+
### Bugfix
|
|
94
|
+
|
|
95
|
+
- Contents Rename Modal, use `id` Widget type @sneridagh
|
|
96
|
+
|
|
97
|
+
### Internal
|
|
98
|
+
|
|
99
|
+
- Better Readme, updated to 2022 @sneridagh
|
|
100
|
+
- Update to latest versions for Python packages @sneridagh
|
|
101
|
+
- Add `id` as widget type as well @sneridagh
|
|
102
|
+
|
|
103
|
+
### Documentation
|
|
104
|
+
|
|
105
|
+
- Fix broken links. @stevepiercy
|
|
106
|
+
|
|
107
|
+
## 15.0.0-alpha.13 (2022-03-09)
|
|
108
|
+
|
|
109
|
+
### Feature
|
|
110
|
+
|
|
111
|
+
- Sort the choices in Facets in the search block @iFlameing
|
|
112
|
+
|
|
113
|
+
### Bugfix
|
|
114
|
+
|
|
115
|
+
- Fix overflow of very long file name in `FileWidget` @sneridagh
|
|
116
|
+
- Fix overflowing issue in the toolbar @kreafox
|
|
117
|
+
|
|
118
|
+
## 15.0.0-alpha.12 (2022-03-07)
|
|
119
|
+
|
|
120
|
+
### Feature
|
|
121
|
+
|
|
122
|
+
- Add internal volto ids to invalid ids @robgietema
|
|
123
|
+
- Complete basque translation @erral
|
|
124
|
+
- Complete spanish translation @erral
|
|
125
|
+
|
|
126
|
+
### Internal
|
|
127
|
+
|
|
128
|
+
- Change prop `name` -> `componentName` in component `Component` @sneridagh
|
|
129
|
+
|
|
130
|
+
## 15.0.0-alpha.11 (2022-03-02)
|
|
131
|
+
|
|
132
|
+
### Bugfix
|
|
133
|
+
|
|
134
|
+
- Fix redirect bug with URLs containing querystrings @robgietema
|
|
135
|
+
- Fixed id widget translations @robgietema
|
|
136
|
+
|
|
137
|
+
### Internal
|
|
138
|
+
|
|
139
|
+
- Use `@root` alias instead of `~` in several module references. Most of the Volto project code no longer needs the root alias, so it makes sense to phase it out at some point @tiberiuichim
|
|
140
|
+
- Alias `lodash` to `lodash-es`, as this will include only one copy of lodash in the bundle @tiberiuichim
|
|
141
|
+
|
|
142
|
+
## 15.0.0-alpha.10 (2022-02-28)
|
|
143
|
+
|
|
144
|
+
### Bugfix
|
|
145
|
+
|
|
146
|
+
- Turn `lazyLibraries` action into a thunk. Added a conditional if the library is loaded or in process to be loaded, do not try to load it again. This fixes the lag on load `draftjs` when having a lot of draftjs blocks. @sneridagh
|
|
147
|
+
|
|
3
148
|
## 15.0.0-alpha.9 (2022-02-28)
|
|
4
149
|
|
|
5
150
|
### Breaking
|
package/README.md
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# Volto
|
|
2
2
|
|
|
3
|
-
<img align="right" width="300" alt="Volto png" src="./logos/
|
|
3
|
+
<img align="right" width="300" alt="Volto logo png" src="./logos/VoltoLogoEra2.png#gh-light-mode-only" />
|
|
4
|
+
<img align="right" width="300" alt="Volto logo png" src="./logos/VoltoLogoEra2-dark-mode.png#gh-dark-mode-only" />
|
|
4
5
|
|
|
5
6
|
[](https://www.npmjs.com/package/@plone/volto)
|
|
6
7
|
[](https://github.com/plone/volto/actions)
|
|
@@ -8,11 +9,9 @@
|
|
|
8
9
|
|
|
9
10
|
## Introduction
|
|
10
11
|
|
|
11
|
-
[Volto](https://github.com/plone/volto) is a
|
|
12
|
-
management systems, currently supporting three backend implementations: Plone,
|
|
13
|
-
Guillotina and a NodeJS reference implementation.
|
|
12
|
+
[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.
|
|
14
13
|
|
|
15
|
-
[Plone](https://plone.org) is a CMS built on Python with
|
|
14
|
+
[Plone](https://plone.org) is a CMS built on Python with more than 20 years of history and experience.
|
|
16
15
|
|
|
17
16
|
Plone has very interesting features that appeal to developers and users alike,
|
|
18
17
|
such as customizable content types, hierarchical URL object traversing and a
|
|
@@ -20,17 +19,16 @@ sophisticated content workflow powered by a granular permissions model. This
|
|
|
20
19
|
allows you to build anything from simple websites to enterprise-grade
|
|
21
20
|
intranets.
|
|
22
21
|
|
|
23
|
-
Volto exposes all these features and communicates with Plone via its
|
|
24
|
-
|
|
25
|
-
ability of being highly themable and customizable.
|
|
22
|
+
Volto exposes all these features and communicates with Plone via its [REST API](https://github.com/plone/plone.restapi).
|
|
23
|
+
Volto has the ability of being easily extensible, themeable, and customizable.
|
|
26
24
|
|
|
27
|
-
|
|
28
|
-
Python resource management system, inspired by Plone and using the same basic
|
|
29
|
-
concepts like traversal, content types and permissions model.
|
|
25
|
+
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.
|
|
30
26
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
27
|
+
Volto is extensible using add-ons.
|
|
28
|
+
You can build your own or choose from the community released ones:
|
|
29
|
+
|
|
30
|
+
- [Volto Add-ons in NPM](https://www.npmjs.com/search?q=keywords%3Avolto-addon%2Cvolto)
|
|
31
|
+
- [Volto Awesome](https://github.com/collective/awesome-volto)
|
|
34
32
|
|
|
35
33
|
## Demo
|
|
36
34
|
|
|
@@ -56,7 +54,7 @@ First get all the requirements installed on your system.
|
|
|
56
54
|
|
|
57
55
|
- [Node.js LTS (16.x)](https://nodejs.org/)
|
|
58
56
|
- [Python 3.8.x](https://python.org/) or
|
|
59
|
-
- [Docker](https://www.docker.com/get-started) (if using the Plone
|
|
57
|
+
- [Docker](https://www.docker.com/get-started) (if using the Plone docker images)
|
|
60
58
|
|
|
61
59
|
### Create a Volto project using the generator
|
|
62
60
|
|
|
@@ -74,8 +72,6 @@ follow the prompts questions, provide `myvoltoproject` as project name then, whe
|
|
|
74
72
|
|
|
75
73
|
### Bootstrap the Plone API backend
|
|
76
74
|
|
|
77
|
-
We recommend Plone as backend of choice for Volto.
|
|
78
|
-
|
|
79
75
|
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:
|
|
80
76
|
|
|
81
77
|
```shell
|
|
@@ -98,13 +94,13 @@ For the Plone 5 series latest released version (with Python 3) and above is reco
|
|
|
98
94
|
|
|
99
95
|
The following KGS (or above) are also recommended, for any Plone version used.
|
|
100
96
|
|
|
101
|
-
#### KGS (known good versions) for backend packages
|
|
97
|
+
#### KGS (known good set of versions) for backend packages
|
|
102
98
|
|
|
103
99
|
Volto always works best with latest versions of the "Frontend stack" or at least the recommended ones (in parenthesis) which are:
|
|
104
100
|
|
|
105
|
-
- plone.restapi (8.
|
|
106
|
-
- plone.rest (2.0.
|
|
107
|
-
- plone.volto (
|
|
101
|
+
- plone.restapi (8.21.2)
|
|
102
|
+
- plone.rest (2.0.0a3)
|
|
103
|
+
- plone.volto (4.0.0a3)
|
|
108
104
|
|
|
109
105
|
and the following core packages since some features require up to date versions:
|
|
110
106
|
|
|
@@ -167,7 +163,7 @@ Please create a new [issue](https://github.com/plone/volto/issues/new) or [pull
|
|
|
167
163
|
|
|
168
164
|
## Documentation
|
|
169
165
|
|
|
170
|
-
You can find the documentation in [https://docs.
|
|
166
|
+
You can find the latest (in-progress) documentation in [https://6.dev-docs.plone.org/](https://6.dev-docs.plone.org/volto/index.html)
|
|
171
167
|
|
|
172
168
|
## Training
|
|
173
169
|
|
|
@@ -222,14 +218,14 @@ JavaScript-centered trainings.
|
|
|
222
218
|
|
|
223
219
|
## Browser support
|
|
224
220
|
|
|
225
|
-
Volto works well with any modern (
|
|
221
|
+
Volto works well with any modern (evergreen) browser, including their mobile
|
|
226
222
|
flavors: Chrome, Firefox, Safari, Edge.
|
|
227
223
|
|
|
228
|
-
We do not guarantee that
|
|
224
|
+
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.
|
|
229
225
|
|
|
230
226
|
## Upgrades
|
|
231
227
|
|
|
232
|
-
You can find the upgrade guide here: https://docs.
|
|
228
|
+
You can find the upgrade guide here: https://6.dev-docs.plone.org/volto/upgrade-guide/index.html
|
|
233
229
|
|
|
234
230
|
## Volto Development
|
|
235
231
|
|
|
@@ -248,14 +244,12 @@ git clone https://github.com/plone/volto.git
|
|
|
248
244
|
yarn
|
|
249
245
|
```
|
|
250
246
|
|
|
251
|
-
### Install
|
|
252
|
-
|
|
253
|
-
#### Plone (recommended)
|
|
247
|
+
### Install Plone backend
|
|
254
248
|
|
|
255
|
-
Either using a Docker
|
|
249
|
+
Either using a Docker command:
|
|
256
250
|
|
|
257
251
|
```shell
|
|
258
|
-
docker run -it --rm --name=
|
|
252
|
+
docker run -it --rm --name=backend -p 8080:8080 -e SITE=Plone -e ADDONS="plone.restapi==8.21.2 plone.app.iterate==4.0.2 plone.rest==2.0.0a3 plone.app.vocabularies==4.3.0 plone.volto==4.0.0a3" -e PROFILES="plone.volto:default-homepage" plone/plone-backend
|
|
259
253
|
```
|
|
260
254
|
|
|
261
255
|
or using the convenience makefile command:
|
|
@@ -272,36 +266,24 @@ Installation Documentation](https://docs.plone.org/manage/installing/installatio
|
|
|
272
266
|
make build-backend
|
|
273
267
|
```
|
|
274
268
|
|
|
275
|
-
|
|
269
|
+
### Run frontend
|
|
276
270
|
|
|
277
|
-
|
|
271
|
+
Either using a Docker command:
|
|
278
272
|
|
|
279
273
|
```shell
|
|
280
|
-
docker-
|
|
274
|
+
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
|
|
281
275
|
```
|
|
282
276
|
|
|
283
277
|
or using the convenience makefile command:
|
|
284
278
|
|
|
285
279
|
```shell
|
|
286
|
-
make start-
|
|
287
|
-
```
|
|
288
|
-
|
|
289
|
-
### Run frontend
|
|
290
|
-
|
|
291
|
-
Either using Docker
|
|
292
|
-
|
|
293
|
-
```shell
|
|
294
|
-
docker run -it --rm --name=volto --link plone -p 3000:3000 plone/volto
|
|
295
|
-
|
|
296
|
-
# or with Volto add-ons enabled:
|
|
297
|
-
|
|
298
|
-
docker run -it --rm --name=volto --link plone -e ADDONS="volto-testaddon volto-slate:asDefault" -p 3000:3000 plone/volto
|
|
280
|
+
make start-frontend-docker
|
|
299
281
|
```
|
|
300
282
|
|
|
301
|
-
or
|
|
283
|
+
or from the local repository code:
|
|
302
284
|
|
|
303
285
|
```shell
|
|
304
|
-
yarn start
|
|
286
|
+
yarn && yarn start
|
|
305
287
|
```
|
|
306
288
|
|
|
307
289
|
### Browsing
|
|
@@ -339,59 +321,55 @@ a dry-release command for testing the output is also available:
|
|
|
339
321
|
yarn dry-release
|
|
340
322
|
```
|
|
341
323
|
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
Volto uses [Cypress](https://www.cypress.io/) for browser-based acceptance testing.
|
|
345
|
-
|
|
346
|
-
Run acceptance tests (with the Plone backend):
|
|
324
|
+
and alpha release can also be cut using:
|
|
347
325
|
|
|
348
326
|
```shell
|
|
349
|
-
yarn
|
|
327
|
+
yarn release-alpha
|
|
350
328
|
```
|
|
351
329
|
|
|
352
|
-
|
|
330
|
+
### Acceptance testing
|
|
353
331
|
|
|
354
|
-
|
|
355
|
-
yarn ci:cypress:run:guillotina
|
|
356
|
-
```
|
|
332
|
+
Volto uses [Cypress](https://www.cypress.io/) for browser-based acceptance testing.
|
|
357
333
|
|
|
358
|
-
|
|
334
|
+
There are a number of fixtures available covering all the configuration use cases. These fixtures have both a specific backend and frontend configuration setup and a related set of tests. The CI infrastructure runs them all automatically on every push to a branch or PR.
|
|
359
335
|
|
|
360
|
-
|
|
336
|
+
The tests can be run in headless mode (same as the CI does), or within the Cypress user interface. The latter is the one that you run under development.
|
|
361
337
|
|
|
362
|
-
|
|
338
|
+
### How to run acceptance tests locally (during development)
|
|
363
339
|
|
|
364
|
-
|
|
340
|
+
When writing new acceptance tests, you usually want to minimize the time it takes to run the tests, while also being able to debug or inspect what's going on.
|
|
365
341
|
|
|
366
|
-
|
|
367
|
-
make start-test-backend
|
|
368
|
-
```
|
|
342
|
+
To do so, start three individual terminal sessions for running the Plone backend, the Volto frontend, and the acceptance tests.
|
|
369
343
|
|
|
370
|
-
|
|
344
|
+
1. Run the backend fixture
|
|
345
|
+
```shell
|
|
346
|
+
make test-acceptance-server
|
|
347
|
+
```
|
|
348
|
+
2. Run the frontend fixture
|
|
349
|
+
```shell
|
|
350
|
+
yarn cypress:start-frontend
|
|
351
|
+
```
|
|
352
|
+
3. Run the Cypress tests for that fixture
|
|
353
|
+
```shell
|
|
354
|
+
yarn cypress:open
|
|
355
|
+
```
|
|
371
356
|
|
|
372
|
-
|
|
373
|
-
make start-test-frontend
|
|
374
|
-
```
|
|
357
|
+
Available fixtures:
|
|
375
358
|
|
|
376
|
-
|
|
359
|
+
- Core (core or not special naming in the test commands)
|
|
360
|
+
- Multilingual (multilingual)
|
|
361
|
+
- Working Copy (workingCopy)
|
|
362
|
+
- Core Sandbox (coresandbox)
|
|
377
363
|
|
|
378
|
-
|
|
379
|
-
make start-test
|
|
380
|
-
```
|
|
364
|
+
There are convenience commands for each of these fixtures. See `package.json` or `.github` CI setup for more information.
|
|
381
365
|
|
|
382
|
-
|
|
366
|
+
#### Writing new acceptance tests
|
|
367
|
+
|
|
368
|
+
Go to the `cypress/tests` folder to see existing tests. There is a directory per fixture.
|
|
383
369
|
This directory is hot reloaded with your changes as you write the tests. For more information on how to write Cypress tests:
|
|
384
370
|
|
|
385
371
|
https://docs.cypress.io
|
|
386
372
|
|
|
387
|
-
#### Running the acceptance tests with Guillotina backend
|
|
388
|
-
|
|
389
|
-
If you want to use Guillotina as backend to run the tests you should run:
|
|
390
|
-
|
|
391
|
-
```shell
|
|
392
|
-
yarn ci:start-api-plone-guillotina
|
|
393
|
-
```
|
|
394
|
-
|
|
395
373
|
## Translations
|
|
396
374
|
|
|
397
375
|
If you would like contribute to translate Volto into several languages, please, read the [Internationalization (i18n) guide](https://docs.voltocms.com/customizing/i18n/).
|
|
@@ -402,6 +380,38 @@ If you would like contribute to translate Volto into several languages, please,
|
|
|
402
380
|
<img src="https://contrib.rocks/image?repo=plone/volto" />
|
|
403
381
|
</a>
|
|
404
382
|
|
|
383
|
+
## Alternative backends
|
|
384
|
+
|
|
385
|
+
Volto also supports other APIs like [Guillotina](https://guillotina.io/), a
|
|
386
|
+
Python resource management system, inspired by Plone and using the same basic
|
|
387
|
+
concepts like traversal, content types, and permissions model.
|
|
388
|
+
|
|
389
|
+
Last but not least, it also supports a [Volto Node.js-based backend reference](https://github.com/plone/volto-reference-backend) API implementation that
|
|
390
|
+
demos how other systems could also use Volto to display and create content
|
|
391
|
+
through it.
|
|
392
|
+
|
|
393
|
+
### Run a Guillotina backend
|
|
394
|
+
|
|
395
|
+
*Disclaimer:* Guillotina doesn't support the full API/features that Plone provides. Contributors are welcome.
|
|
396
|
+
|
|
397
|
+
```shell
|
|
398
|
+
docker-compose -f g-api/docker-compose.yml up -d
|
|
399
|
+
```
|
|
400
|
+
|
|
401
|
+
or using the convenience makefile command:
|
|
402
|
+
|
|
403
|
+
```shell
|
|
404
|
+
make start-backend-docker-guillotina
|
|
405
|
+
```
|
|
406
|
+
|
|
407
|
+
### Running the acceptance tests with Guillotina backend
|
|
408
|
+
|
|
409
|
+
If you want to use Guillotina as a backend to run the tests you should run:
|
|
410
|
+
|
|
411
|
+
```shell
|
|
412
|
+
yarn ci:start-api-plone-guillotina
|
|
413
|
+
```
|
|
414
|
+
|
|
405
415
|
## License
|
|
406
416
|
|
|
407
417
|
MIT License. Copyrights hold the [Plone Foundation](https://plone.org/foundation).
|
package/create-addons-loader.js
CHANGED
|
@@ -27,7 +27,7 @@ This file is autogenerated. Don't change it directly.
|
|
|
27
27
|
Instead, change the "addons" setting in your package.json file.
|
|
28
28
|
*/
|
|
29
29
|
|
|
30
|
-
const projectConfigLoader = require('@
|
|
30
|
+
const projectConfigLoader = require('@root/config');
|
|
31
31
|
`;
|
|
32
32
|
let configsToLoad = [],
|
|
33
33
|
counter = 0;
|
package/dist/assets.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"react-select":{"js":"/static/js/react-select.43f17559.chunk.js"},"moment":{"js":"/static/js/moment.dfd83abb.chunk.js"},"client":{"css":"/static/css/client.
|
|
1
|
+
{"react-select":{"js":"/static/js/react-select.43f17559.chunk.js"},"moment":{"js":"/static/js/moment.dfd83abb.chunk.js"},"client":{"css":"/static/css/client.7ff60f09.chunk.css","js":"/static/js/client.7ff60f09.chunk.js"},"draft-js-lib-isSoftNewlineEvent":{"js":"/static/js/draft-js-lib-isSoftNewlineEvent.ad4b1307.chunk.js"},"plone-volto-components-manage-Widgets-DatetimeWidget":{"css":"/static/css/plone-volto-components-manage-Widgets-DatetimeWidget.77a7ad0d.chunk.css","js":"/static/js/plone-volto-components-manage-Widgets-DatetimeWidget.77a7ad0d.chunk.js"},"plone-volto-components-theme-View-EventView":{"js":"/static/js/plone-volto-components-theme-View-EventView.c500936a.chunk.js"},"react-dates":{"js":"/static/js/react-dates.d94a34ee.chunk.js"},"react-simple-code-editor":{"js":"/static/js/react-simple-code-editor.484ec69f.chunk.js"},"runtime~client":{"js":"/static/js/runtime~client.c5015e27.js"},"":{"json":"/../chunks.json","png":["/android-chrome-192x192.png","/android-chrome-512x512.png","/apple-touch-icon.png","/favicon-16x16.png","/favicon-32x32.png","/static/media/flags.9c74e172.png"],"ico":"/favicon.ico","svg":["/icon.svg","/static/media/Logo.16e25cdf.svg","/static/media/block-image.8a4a14d5.svg","/static/media/block-maps.731e84f6.svg","/static/media/block-video.832fa3ff.svg","/static/media/default-image.9451b251.svg","/static/media/icons.022583c4.svg"],"spa":"/index.html.spa","txt":["/robots.txt","/static/js/1.fece2b93.chunk.js.LICENSE.txt","/static/js/14.803b450c.chunk.js.LICENSE.txt","/static/js/15.c1eb25b4.chunk.js.LICENSE.txt","/static/js/19.61ef8815.chunk.js.LICENSE.txt","/static/js/34.aec37d56.chunk.js.LICENSE.txt","/static/js/35.73887e02.chunk.js.LICENSE.txt","/static/js/36.19d2e05a.chunk.js.LICENSE.txt","/static/js/37.96925a5f.chunk.js.LICENSE.txt"],"webmanifest":"/site.webmanifest","css":["/static/css/14.803b450c.chunk.css","/static/css/3.a3490306.chunk.css"],"js":["/static/js/0.3e794c57.chunk.js","/static/js/1.fece2b93.chunk.js","/static/js/14.803b450c.chunk.js","/static/js/15.c1eb25b4.chunk.js","/static/js/16.70e24cba.chunk.js","/static/js/17.f03d2a82.chunk.js","/static/js/18.0f0b1dfa.chunk.js","/static/js/19.61ef8815.chunk.js","/static/js/20.6b37f925.chunk.js","/static/js/21.8704b265.chunk.js","/static/js/22.5a2b56ff.chunk.js","/static/js/23.a53c8d7b.chunk.js","/static/js/24.d44c620a.chunk.js","/static/js/25.455376b6.chunk.js","/static/js/26.a821045d.chunk.js","/static/js/27.efbb318a.chunk.js","/static/js/28.b4840d60.chunk.js","/static/js/29.690d4b54.chunk.js","/static/js/3.a3490306.chunk.js","/static/js/30.5f174f94.chunk.js","/static/js/31.4a7cf109.chunk.js","/static/js/32.2247dcf7.chunk.js","/static/js/33.87874f33.chunk.js","/static/js/34.aec37d56.chunk.js","/static/js/35.73887e02.chunk.js","/static/js/36.19d2e05a.chunk.js","/static/js/37.96925a5f.chunk.js","/static/js/38.701a2e85.chunk.js","/static/js/39.4cbf0549.chunk.js","/static/js/4.bdc4a5c5.chunk.js","/static/js/6.69ba4792.chunk.js"],"ttf":"/static/media/icons.06400145.ttf","eot":"/static/media/icons.dbc1ef8b.eot","woff":"/static/media/icons.df45b7de.woff"}}
|