Skip to content

Commit f22e1a2

Browse files
authored
Merge pull request plone#1277 from plone/installation-from-source-review
Installation from source review
2 parents abdd195 + d24df6a commit f22e1a2

File tree

15 files changed

+791
-982
lines changed

15 files changed

+791
-982
lines changed

docs/_static/custom.css

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ img {
4747
}
4848

4949
figure img,
50+
img.figure,
5051
.figure img {
5152
box-shadow: 0 6px 24px 0 rgba(153, 153, 153, 0.3);
5253
}
@@ -126,22 +127,6 @@ div.section div.section div.section {
126127
margin-bottom: 1.5rem !important;
127128
}
128129

129-
.admonition.toggle .admonition-title {
130-
cursor: pointer;
131-
display: flex;
132-
}
133-
134-
.admonition.toggle .admonition-title::after {
135-
content: "\f105";
136-
font-weight: 900;
137-
font-family: "Font Awesome 5 Free";
138-
margin-left: auto;
139-
}
140-
141-
.admonition.toggle .admonition-title.open::after {
142-
content: "\f107";
143-
}
144-
145130
/* admonition todo */
146131
.admonition.admonition-todo,
147132
div.admonition.admonition-todo {

docs/_static/plone-home-page.png

41.3 KB
Loading

docs/_static/plone-login-page.png

58.4 KB
Loading

docs/_templates/page.html

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,6 @@
1111
if ($.trim($(".topbar-contents .bd-toc").html()) === "") {
1212
$(".topbar-contents .bd-toc").css("visibility", "hidden");
1313
}
14-
// Add toggle to exercise solutions (admonition with class 'toggle')
15-
$(".toggle > *").hide();
16-
$(".toggle .admonition-title").show();
17-
$(".toggle .admonition-title").click(function() {
18-
$(this).parent().children().not(".admonition-title").toggle(400);
19-
$(this).parent().children(".admonition-title").toggleClass("open");
20-
})
2114
});
2215
</script>
2316

docs/backend/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ workflows
3333
search
3434
indexing
3535
zodb
36-
../plone.api/index.rst
36+
../plone.api/index
3737
plone-restapi
3838
sending-email
3939
upgrading/index

docs/conf.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
"sphinx.ext.intersphinx",
4848
"sphinx.ext.todo",
4949
"sphinx_copybutton",
50+
"sphinx_design",
5051
"sphinx_sitemap",
5152
"sphinxcontrib.httpdomain", # plone.restapi
5253
"sphinxcontrib.httpexample", # plone.restapi
@@ -84,6 +85,7 @@
8485
r"https://github.com/plone/plone.docker#for-basic-usage",
8586
r"https://github.com/plone/plone.rest#cors",
8687
r"https://github.com/plone/plone.volto/blob/6f5382c74f668935527e962490b81cb72bf3bc94/src/kitconcept/volto/upgrades.py#L6-L54",
88+
r"https://github.com/plone/volto/issues/new/choose",
8789
r"https://github.com/tc39/proposals/blob/HEAD/finished-proposals.md#finished-proposals",
8890
r"https://coveralls.io/repos/github/plone/plone.restapi/badge.svg\?branch=master", # plone.restapi
8991
r"https://github.com/plone/plone.restapi/blob/dde57b88e0f1b5f5e9f04e6a21865bc0dde55b1c/src/plone/restapi/services/content/add.py#L35-L61", # plone.restapi

docs/contributing/writing-docs-guide.md

Lines changed: 28 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -235,15 +235,13 @@ Using {term}`React` makes frontends fun again!
235235
Using {term}`React` makes frontends fun again!
236236

237237

238-
#### Toggle paragraph (Exercise solution / FAQ)
238+
#### Nesting directives
239239

240-
Text snippets can be hidden with the option to show. Wrap it in an `admonition` and add the `class` `toggle`.
240+
You can [nest directives](https://myst-parser.readthedocs.io/en/latest/syntax/roles-and-directives.html#nesting-directives), such as [admonitions](https://myst-parser.readthedocs.io/en/latest/syntax/roles-and-directives.html#admonitions) and code blocks, by ensuring that the backtick-lines corresponding to the outermost directive are longer than the backtick-lines for the inner directives.
241241

242242
`````
243-
````{admonition} f-strings can make your life easier
244-
:class: toggle
245-
246-
To use formatted string literals, begin a string with `f` or `F` before the opening quotation mark or triple quotation mark.
243+
````{tip}
244+
To use formatted string literals ("f-strings"), begin a string with `f` or `F` before the opening quotation mark or triple quotation mark.
247245
Inside this string, you can write a Python expression between `{` and `}` characters that can refer to variables or literal values.
248246
249247
```{code-block} python
@@ -257,14 +255,10 @@ print(f"my {a}nd line")
257255
````
258256
`````
259257

260-
You can [nest directives](https://myst-parser.readthedocs.io/en/latest/syntax/roles-and-directives.html#nesting-directives), such as admonitions and code blocks, by ensuring that the backtick-lines corresponding to the outermost directive are longer than the backtick-lines for the inner directives.
261-
262258
This would be rendered as:
263259

264-
````{admonition} f-strings can make your life easier
265-
:class: toggle
266-
267-
To use formatted string literals, begin a string with `f` or `F` before the opening quotation mark or triple quotation mark.
260+
````{tip}
261+
To use formatted string literals ("f-strings"), begin a string with `f` or `F` before the opening quotation mark or triple quotation mark.
268262
Inside this string, you can write a Python expression between `{` and `}` characters that can refer to variables or literal values.
269263
270264
```{code-block} python
@@ -278,6 +272,28 @@ print(f"my {a}nd line")
278272
````
279273

280274

275+
### Extensions
276+
277+
We use several extensions to enhance the presentation of Plone documentation.
278+
279+
- [`sphinx.ext.intersphinx`](https://www.sphinx-doc.org/en/master/usage/extensions/intersphinx.html) provides linking between separate projects that use Sphinx for documentation.
280+
- [`sphinx.ext.todo`](https://www.sphinx-doc.org/en/master/usage/extensions/todo.html) adds support for todo items.
281+
- [`sphinx_copybutton`](https://sphinx-copybutton.readthedocs.io/en/latest/index.html) adds a little "copy" button to the right of code blocks.
282+
- [`sphinx-design`](https://sphinx-design.readthedocs.io/en/latest/) adds grids, cards, icons, badges, buttons, tabs, and dropdowns.
283+
- [`sphinx_sitemap`](https://pypi.org/project/sphinx-sitemap/) generates multiversion and multilanguage [sitemaps.org](https://www.sitemaps.org/protocol.html) compliant sitemaps.
284+
- [`sphinxcontrib.httpdomain`](https://sphinxcontrib-httpdomain.readthedocs.io/en/stable/) provides a Sphinx domain for describing HTTP APIs.
285+
It is used by Plone's {doc}`plone.restapi/docs/source/index`.
286+
- [`sphinxcontrib.httpexample`](https://sphinxcontrib-httpexample.readthedocs.io/en/latest/) enhances `sphinxcontrib-httpdomain` by generating RESTful HTTP API call examples for different tools from a single HTTP request example.
287+
Supported tools include [curl](https://curl.se/), [wget](https://www.gnu.org/software/wget/), [httpie](https://httpie.io/), and [python-requests](https://requests.readthedocs.io/en/latest/).
288+
It is used by Plone's {doc}`plone.restapi/docs/source/index`.
289+
- [`sphinxcontrib.spelling`](https://sphinxcontrib-spelling.readthedocs.io/en/latest/) provides spell checking.
290+
- [`sphinxext.opengraph`](https://pypi.org/project/sphinxext-opengraph/) generates [OpenGraph metadata](https://ogp.me/).
291+
- [`sphinx.ext.viewcode`](https://www.sphinx-doc.org/en/master/usage/extensions/viewcode.html) generates pages of source code modules and links between the source and the description.
292+
It is used by {doc}`/plone.api/index`.
293+
- [`sphinx.ext.autosummary`](https://www.sphinx-doc.org/en/master/usage/extensions/autosummary.html) generates function/method/attribute summary lists.
294+
It is used by {doc}`/plone.api/index`.
295+
296+
281297
## Abridged Plone Documentation Styleguide
282298

283299
Guides should be informational, but friendly.

docs/glossary.md

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,12 @@ CMS
2525
Content Management System
2626
2727
Cookiecutter
28-
A command-line utility that creates projects from cookiecutters (project templates), e.g. creating a Python package project from a Python package project template.
28+
A command-line utility that creates projects from cookiecutters (project templates), for example, creating a Python package project from a Python package project template.
2929
[See Cookiecutter's documentation](https://cookiecutter.readthedocs.io/en/stable/).
3030
31+
cookiecutter-plone-starter
32+
[cookiecutter-plone-starter](https://github.com/collective/cookiecutter-plone-starter/) is a framework for jumpstarting Plone 6 projects quickly.
33+
3134
cookiecutter-zope-instance
3235
[cookiecutter-zope-instance](https://github.com/plone/cookiecutter-zope-instance) is a cookiecutter template to create a full and complex configuration of a Zope WSGI instance.
3336
@@ -48,7 +51,7 @@ Linode
4851
[Linode.com](https://www.linode.com/) is an American privately owned virtual private server provider company based in Galloway, New Jersey, United States.
4952
5053
mxdev
51-
[mxdev](https://github.com/mxstack/mxdev) [mɪks dɛv] is a utility that makes it easy to work with Python projects containing lots of packages, of which you only want to develop some.
54+
[mxdev](https://github.com/mxstack/mxdev) [mɪks dɛv] is a utility that makes it easy to work with Python projects containing lots of packages, and you want to develop only some of those packages.
5255
It is designed for developers who use stable version constraints, then layer their customizations on top of that base while using a version control system.
5356
This design allows developers to override their base package constraints with a customized or newer version.
5457
@@ -69,7 +72,9 @@ pm2
6972
[PM2](https://pm2.keymetrics.io/) is a daemon process manager.
7073
7174
REST API
72-
TODO REST API in general. TODO REST API of Plone.
75+
```{todo}
76+
REST API in general. REST API of Plone.
77+
```
7378
7479
S3
7580
[Amazon Web Services S3](https://aws.amazon.com/s3/).
@@ -345,8 +350,8 @@ Slate
345350
[Slate.js](https://docs.slatejs.org/) is a highly customizable platform for creating rich-text editors, also known as `WYSIWYG` editors.
346351
It enables you to create powerful, intuitive editors similar to those you've probably used in Medium, Dropbox Paper, or Google Docs.
347352
348-
volto-slate
349-
`volto-slate` is an interactive default text editor for Volto, developed on top of {term}`Slate` while offering enhanced WYSIWYG functionality and behavior.
353+
`volto-slate`
354+
`volto-slate` is an interactive default text editor for Volto, developed on top of {term}`Slate`, offering enhanced WYSIWYG functionality and behavior.
350355
351356
elementEditor
352357
A generic {term}`volto-slate` plugin architecture that can be used to create other editor interactions that follow the pattern of having a button that toggles a format (an inline element).
@@ -438,4 +443,11 @@ ZODB
438443
439444
Zope
440445
[Zope](https://zope.readthedocs.io/en/latest/) is a Python-based application server for building secure and highly scalable web applications.
446+
447+
Make
448+
make
449+
[GNU Make](https://www.gnu.org/software/make/) is a tool which controls the generation of executables and other non-source files of a program from the program's source files.
450+
451+
Make gets its knowledge of how to build your program from a file called the _makefile_, which lists each of the non-source files and how to compute it from other files.
452+
When you write a program, you should write a makefile for it, so that it is possible to use Make to build and install the program.
441453
```

docs/install/containers/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,10 @@ Although there are many container engine tools for developing, managing, and run
3434

3535
(install-containers-index-system-requirements-label)=
3636

37-
### System Requirements
37+
### System requirements
3838

3939
```{todo}
40-
Add System Requirements
40+
Add system requirements
4141
```
4242

4343

docs/install/index.md

Lines changed: 53 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -11,65 +11,95 @@ myst:
1111

1212
# Install
1313

14+
In this part of the documentation, you can find how to try Plone and how to choose an installation method if you want to develop in Plone.
15+
1416

1517
(install-index-getting-started-label)=
1618

1719
## Getting started
1820

19-
What do you want to do?
21+
::::{grid} 1 2 2 2
22+
:gutter: 1 1 1 2
23+
24+
:::{grid-item-card} {octicon}`browser;1.5em;sd-mr-1` Try a demo
25+
26+
Choose a version.
27+
28+
- [Plone 6 with Volto frontend](https://6.demo.plone.org/)
29+
- [Plone 6 Classic UI (nightly build)](https://6-classic.demo.plone.org/en)
30+
- [Plone 5.2.x (stable) with Barceloneta frontend](https://demo.plone.org/)
31+
:::
2032

21-
- Try a demo now.
22-
- [Plone 6 with Volto frontend](https://6.demo.plone.org/)
23-
- [Plone 5.2.x with Barceloneta frontend](https://demo.plone.org/)
24-
- [Run Plone in containers](containers/index) (why use containers here.)
25-
- {doc}`source` (contribute to Plone packages, develop add-ons, or install Plone with full control)
33+
:::{grid-item-card} {octicon}`download;1.5em;sd-mr-1` Install
34+
35+
Developers may choose to install Plone from either [the official container images](containers/index) or [packages](install-from-packages).
36+
+++
37+
Help me [choose an installation method](install-index-choose-installation-method-label).
38+
:::
39+
40+
::::
2641

2742

2843
(install-index-choose-installation-method-label)=
2944

3045
## Choose an installation method
3146

32-
% TODO Explanation when to choose which installation method: container vs installation from its packages. Combination for backend and frontend?
47+
Developers may choose to install Plone from either [the official container images](containers/index) or [packages](install-from-packages).
3348

34-
Developers may choose to install Plone from either [the official container images](containers/index) or [source](source).
49+
50+
### Containers
3551

3652
The Plone 6 container images are compliant with the [Open Container Initiative (OCI)](https://opencontainers.org/).
3753
They should work with any OCI-compliant container engine for developing, managing, and running Plone 6 images.
3854
Two popular options include [podman](https://podman.io/) and [Docker](https://www.docker.com/products/docker-desktop/).
55+
3956
The Plone 6 images have all the system requirements, pre-requisites, and Plone 6 already installed, except those requirements needed for running the container engine itself.
57+
4058
This option is the quickest method to install and develop for Plone 6 and its packages.
4159

42-
There may be some cases where using a Plone 6 image is not practical or desired.
43-
You might want to use an SQL database that is not PostgreSQL, or you might use a deployment workflow that has specific requirements.
44-
For these situations, Plone 6 may be installed manually.
45-
This method takes longer.
46-
It might be a challenge if you bump up against system requirements, or need to resolve conflicts between required packages.
60+
:::{card}
61+
:link: containers/index
62+
:link-type: any
63+
{octicon}`container;1.5em;sd-mr-1` [Use containers to install Plone](containers/index)
64+
:::
4765

48-
```{todo}
49-
Perhaps merge the subsequent section into this section?
50-
```
5166

67+
### Packages
68+
69+
There may be some cases where using a Plone 6 image and containers is not practical or desired.
70+
71+
- You use an SQL database that is not PostgreSQL.
72+
- You develop custom applications, themes, and add-ons for Plone.
73+
- You use a deployment workflow that has specific requirements.
74+
75+
For these situations, Plone 6 may be installed from its packages.
76+
77+
It might be a challenge if you bump up against system requirements, or need to resolve conflicts between required packages.
5278

53-
(install-index-caveat-label)=
79+
This method takes longer than using containers.
5480

55-
## Caveat that Plone is a large project and source installs are non-trivial
81+
:::{card}
82+
:link: install-from-packages
83+
:link-type: any
84+
{octicon}`package;1.5em;sd-mr-1` [Install Plone from its packages](install-from-packages)
85+
:::
5686

5787

5888
(install-index-system-requirements-label)=
5989

6090
## System Requirements
6191

62-
System requirements depend upon your choice of installation method:
92+
System requirements depend upon your choice of installation method.
6393

64-
- [Use container images](containers/index)
65-
- {doc}`source`
94+
- [Container system requirements](install-containers-index-system-requirements-label)
95+
- [Packages system requirements](install-packages-system-requirements-label)
6696

6797

6898
```{toctree}
6999
:maxdepth: 2
70100
:hidden: true
71101
72102
containers/index
73-
source
74-
source-step-by-step
103+
install-from-packages
104+
manage-add-ons-packages
75105
```

0 commit comments

Comments
 (0)