Skip to content

Commit 7c69118

Browse files
authored
Merge pull request #1749 from plone/choose-ui
Start "Choose a user interface" conceptual guide
2 parents c80bab5 + f408db2 commit 7c69118

File tree

12 files changed

+113
-59
lines changed

12 files changed

+113
-59
lines changed

docs/_static/classic-ui.png

286 KB
Loading

docs/_static/volto-ui.png

213 KB
Loading

docs/backend/upgrading/version-specific-migration/upgrade-to-52.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ This is [PLIP 1351](https://github.com/plone/Products.CMFPlone/issues/1351).
8181
#### For end users
8282

8383
This has no changes for Editors.
84-
Admins will notice that the ZMI has a new Twitter Bootstrap-based theme, and some control panels have moved.
84+
Admins will notice that the ZMI has a new Bootstrap-based theme, and some control panels have moved.
8585

8686

8787
#### For developers

docs/backend/upgrading/version-specific-migration/upgrade-to-60.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,9 +128,9 @@ zodb-temporary-storage = off
128128

129129
(v60-templates-bootstrap-5-label)=
130130

131-
## Changed templates to Twitter Bootstrap 5 markup
131+
## Changed templates to Bootstrap 5 markup
132132

133-
All templates in core Plone have been updated to use Twitter Bootstrap 5 markup.
133+
All templates in core Plone have been updated to use Bootstrap 5 markup.
134134
Add-on authors are encouraged to do the same.
135135
If you have customized a core template, you should check if your change is still needed, and update it to fit the new markup.
136136
Any CSS and JavaScript that relies on a specific structure, or certain IDs or classes, should be checked as well.

docs/classic-ui/icons.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ Examples include the following.
2323

2424
## Bootstrap Icons
2525

26-
Twitter Bootstrap 5 is the default CSS framework in Plone 6.
26+
Bootstrap 5 is the default CSS framework in Plone 6.
2727
Plone uses its icons.
2828
Check out all the available Bootstrap icons at [icons.getbootstrap.com](https://icons.getbootstrap.com/).
2929

docs/classic-ui/index.md

Lines changed: 8 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,22 @@
11
---
22
myst:
33
html_meta:
4-
"description": "Classic UI is a secondary user interface for Plone, but updated to use Twitter Bootstrap 5. It is familiar to users of Plone 5."
5-
"property=og:description": "Classic UI is a secondary user interface for Plone, but updated to use Twitter Bootstrap 5. It is familiar to users of Plone 5."
4+
"description": "Classic UI is a secondary user interface for Plone, but updated to use Bootstrap 5. It is familiar to users of Plone 5."
5+
"property=og:description": "Classic UI is a secondary user interface for Plone, but updated to use Bootstrap 5. It is familiar to users of Plone 5."
66
"property=og:title": "Classic UI"
7-
"keywords": "Plone 6, Classic UI, Twitter Bootstrap 5"
7+
"keywords": "Plone 6, Classic UI, Bootstrap 5"
88
---
99

1010
(classic-ui-index-label)=
1111

1212
# Classic UI
1313

14-
```{todo}
15-
Perhaps some of this introduction should be an include, so we don't have to repeat ourselves?
16-
```
17-
18-
Plone 6 ships with two user interfaces or frontends.
19-
20-
The default frontend of Plone 6 is Volto.
21-
It is based on the React JavaScript framework.
22-
23-
The other frontend is based on Twitter Bootstrap 5.
24-
This frontend is now called {term}`Classic UI`.
25-
26-
27-
## Which frontend?
28-
29-
Choosing one frontend over another depends on several factors.
14+
This chapter is a developer reference manual for working with {term}`Classic UI`.
3015

31-
Classic UI would be a better choice for the following situations.
32-
33-
- Reason 1
34-
- Reason 2
35-
- Reason N
36-
37-
The default frontend Volto would be a better choice for the following situations.
38-
39-
- Reason 1
40-
- Reason 2
41-
- Reason N
42-
43-
44-
## Contents
45-
46-
This chapter is a developer reference manual for working with Classic UI.
16+
```{seealso}
17+
Plone has two user interfaces, Volto and Classic UI.
18+
To understand their differences, see {doc}`/conceptual-guides/choose-user-interface`.
19+
```
4720

4821
```{toctree}
4922
:maxdepth: 2

docs/classic-ui/theming/through-the-web.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ Add screenshots.
4747

4848
## CSS variables
4949

50-
Plone uses Twitter Bootstrap's CSS variables.
50+
Plone uses Bootstrap's CSS variables.
5151
They are used to tweak colors, fonts, spacing, and other CSS attributes.
5252

5353
```{todo}

docs/classic-ui/whatsnew.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ myst:
1111

1212
# What's new in Plone 6 Classic UI
1313

14-
- HTML markup is now based on [Twitter Bootstrap 5](https://getbootstrap.com/).
15-
- Twitter Bootstrap 5 icons are now included.
14+
- HTML markup is now based on [Bootstrap 5](https://getbootstrap.com/).
15+
- Bootstrap 5 icons are now included.
1616
- Bootstrap JavaScript is available by default.
1717
- JavaScript has been modernized.
1818
- RequireJS has been removed.
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
---
2+
myst:
3+
html_meta:
4+
"description": "Explanation of how to choose between Plone's two user interfaces, Volto and Classic UI"
5+
"property=og:description": "Explanation of how to choose between Plone's two user interfaces, Volto and Classic UI"
6+
"property=og:title": "Choose a user interface"
7+
"keywords": "Plone 6, Conceptual guides, UI, user interface, frontend, Volto, Classic UI, distribution"
8+
---
9+
10+
# Choose a user interface
11+
12+
This guide explains the differences between Plone's two user interfaces, Volto and Classic UI, to help inform you to choose one when developing your new project in Plone, or whether to migrate from Classic UI to Volto.
13+
There is no migration path available from Volto to Classic UI.
14+
15+
The choice of user interface has implications for editors, admins, and developers.
16+
17+
`````{grid} 1 1 1 2
18+
:gutter: 1
19+
:margin: 0
20+
:padding: 0
21+
22+
````{grid-item-card} Volto
23+
```{image} /_static/volto-ui.png
24+
:alt: Plone home page in Volto
25+
:target: /_static/volto-ui.png
26+
```
27+
28+
For editors and other end users:
29+
30+
- The user interface is a fast, modern, single-page web application.
31+
- Editors can create sophisticated page layouts by arranging {term}`blocks` of different types.
32+
- There is not a comprehensive {doc}`/volto/user-manual/index` yet, and only a few pages exist.
33+
34+
For developers and integrators:
35+
36+
- The frontend is a {term}`React`-based application written in JavaScript and TypeScript.
37+
- The backend is a Python process which provides a {term}`REST API` for the frontend.
38+
- Python skills are not required, but can be helpful for extending the backend.
39+
- Content is stored as structured JSON.
40+
- Customization of themes is well-documented and relatively easy for developers who have experience with React.
41+
42+
````
43+
44+
````{grid-item-card} Classic UI
45+
```{image} /_static/classic-ui.png
46+
:alt: Plone home page in Classic UI
47+
:target: /_static/classic-ui.png
48+
```
49+
50+
For editors and other end users:
51+
52+
- The user interface is similar to Plone 5.
53+
- Editors create a page using a {term}`WYSIWYG` editor, {term}`TinyMCE`.
54+
- Additional widgets can be added to predefined locations, using {term}`portlets`.
55+
More sophisticated page layout requires the use of add-ons.
56+
- There is a comprehensive [User Manual for Plone 5](https://5.docs.plone.org/working-with-content/index.html), but it has not been updated for Plone 6.
57+
58+
For developers and integrators:
59+
60+
- The frontend and backend run in a single Python process, so hosting is a bit simpler.
61+
- The frontend is implemented as server-side templates using the {term}`ZPT` language.
62+
- Interactive functionality is implemented in JavaScript using {term}`Mockup`.
63+
- The visual design is based on the {term}`Barceloneta` theme from Plone 5, but updated to use Bootstrap 5.
64+
- Content is stored as HTML.
65+
- Customization of themes is not well-documented.
66+
67+
````
68+
`````

docs/conceptual-guides/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ This part of the documentation provides explanation of concepts to deepen and br
1515
```{toctree}
1616
:maxdepth: 2
1717
18+
choose-user-interface
1819
package-management
1920
make-build-backend-walk-through
2021
```

0 commit comments

Comments
 (0)