Skip to content

Commit 39d03f4

Browse files
committed
start choose-user-interface chapter
1 parent 61d76ce commit 39d03f4

File tree

7 files changed

+84
-43
lines changed

7 files changed

+84
-43
lines changed

docs/_static/classic-ui.png

286 KB
Loading

docs/_static/volto-ui.png

213 KB
Loading

docs/classic-ui/index.md

Lines changed: 4 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -11,40 +11,12 @@ myst:
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.
30-
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-
4614
This chapter is a developer reference manual for working with Classic UI.
4715

16+
```{seealso}
17+
Plone has two user interfaces, Volto and Classic UI. To understand the difference, see {doc}`/conceptual-guides/choose-user-interface`.
18+
```
19+
4820
```{toctree}
4921
:maxdepth: 2
5022
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
---
2+
myst:
3+
html_meta:
4+
"description": "Explanation of how to choose between Plone's user interfaces, Volto and Classic UI"
5+
"property=og:description": "Explanation of how to choose between Plone's user interfaces, Volto and Classic UI"
6+
"property=og:title": "Choose a user interface"
7+
"keywords": "Plone 6, Conceptual guides, UI, frontend, Volto, Classic UI, distribution"
8+
---
9+
10+
# Choose a user interface
11+
12+
Plone 6 offers two different user interfaces: Volto and Classic UI.
13+
14+
The choice of user interface has implications for editors, admins, and developers.
15+
16+
::::{grid} 2
17+
:::{grid-item-card} Volto
18+
19+
```{image} /_static/volto-ui.png
20+
:alt: Plone homepage in Volto
21+
```
22+
23+
For editors and other end users:
24+
25+
* The user interface is a fast, modern single-page web application.
26+
* Editors create a page by arranging blocks of different types into a layout.
27+
* There is not a comprehensive User Manual yet.
28+
29+
For developers and integrators:
30+
31+
* The frontend is a {term}`React`-based application written in JavaScript and TypeScript.
32+
* The backend is a Python process which provides a REST API for the frontend.
33+
* Python skills are not required, but can be helpful for extending the backend.
34+
* Content is stored as structured JSON.
35+
* Customization of themes is well-documented and relatively easy for developers who have experience with React.
36+
37+
38+
:::
39+
:::{grid-item-card} Classic UI
40+
41+
```{image} /_static/classic-ui.png
42+
:alt: Plone homepage in Classic UI
43+
```
44+
45+
For editors and other end users:
46+
47+
* The user interface is similar to Plone 5.
48+
* Editors create a page using a WYSIWYG editor (TinyMCE).
49+
* Additional widgets can be added to predefined locations, using {term}`portlets`.
50+
* There is a comprehensive User Manual for Plone 5, but it has not been updated for Plone 6.
51+
52+
For developers and integrators:
53+
54+
* The frontend and backend run in a single Python process, so hosting is a bit simpler.
55+
* The frontend is implemented as server-side templates using the {term}`ZPT` language.
56+
* Interactive functionality is implemented in JavaScript using {term}`Mockup`.
57+
* Content is stored as HTML.
58+
* Customization of themes is not well-documented.
59+
60+
:::
61+
::::

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
```

docs/glossary.md

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -168,8 +168,8 @@ Rapido application
168168
It contains the features you implement.
169169
It is a folder containing templates, Python code, and YAML files.
170170
171-
block
172-
Blocks display a chunk of HTML which can be inserted in your Plone pages.
171+
blocks
172+
Blocks are the fundamental components of a page layout in {term}`Volto`.
173173
174174
element
175175
Elements are the dynamic components of your blocks.
@@ -411,18 +411,19 @@ Traefik Proxy
411411
412412
Volto
413413
[Volto](https://github.com/plone/volto) is a React-based frontend for Plone.
414-
It is the default user interface for Plone 6.
414+
It is one of two supported user interfaces for Plone 6.
415415
416-
The other frontend is {term}`Classic UI`.
416+
````{seealso}
417+
{doc}`/conceptual-guides/choose-user-interface`
418+
````
417419
418420
Classic UI
419-
Classic UI is a secondary frontend for Plone 6.
420-
It is integrated with [Products.CMFPlone](https://github.com/plone/Products.CMFPlone/).
421-
Its theme is named [Barceloneta](https://github.com/plone/plonetheme.barceloneta/).
422-
It is based on Twitter Bootstrap 5.
423-
It uses {term}`Mockup` as its JavaScript stack.
421+
Classic UI is a frontend for Plone 6 that is based on {term}`ZPT` and {term}`Mockup`.
422+
It is one of two supported user interfaces for Plone 6.
424423
425-
The other frontend is {term}`Volto`.
424+
````{seealso}
425+
{doc}`/conceptual-guides/choose-user-interface`
426+
````
426427
427428
Mockup
428429
[Mockup](https://github.com/plone/mockup/) is a package that, together with {term}`Patternslib`, builds the UI toolkit for {term}`Classic UI`, a frontend for Plone.
@@ -792,4 +793,8 @@ lazy loaded
792793
reference implementation
793794
A reference implementation is a program that implements all requirements from a corresponding specification.
794795
The reference implementation often accompanies a technical standard, and demonstrates what should be considered the "correct" behavior of any other implementation of it.
796+
797+
portlets
798+
Portlets are widgets that can be inserted in predefined locations in {term}`Classic UI`.
799+
Portlets are most commonly used to add sidebars to the left or right of the main page content.
795800
```

docs/install/index.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@ You can also {ref}`try a Plone demo <install-index-try-plone-label>`.
1919

2020
## Get started
2121

22-
Choose an option to get started with Plone.
22+
First, read {doc}`/conceptual-guides/choose-user-interface` to choose between Volto and Classic UI.
23+
24+
Then, choose one of the following install methods.
2325
If you are following a [Plone training](https://training.plone.org/), it should specify which option to choose.
2426

2527
{doc}`create-project`

0 commit comments

Comments
 (0)