Skip to content
Open
Show file tree
Hide file tree
Changes from 3 commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
091a89a
Add Create a backend add-on section in the Developer guide.
stevepiercy Nov 6, 2024
a766f5a
- Update meta information
stevepiercy Nov 6, 2024
d8e135c
Merge branch '6.0' into dev-guide-create-a-backend-add-on
stevepiercy Nov 6, 2024
ed9c4af
Merge branch '6.0' into dev-guide-create-a-backend-add-on
stevepiercy Nov 8, 2024
13b85f7
Merge branch '6.0' into dev-guide-create-a-backend-add-on
stevepiercy Nov 18, 2024
0f7a455
Merge branch '6.0' into dev-guide-create-a-backend-add-on
stevepiercy Nov 19, 2024
7767c8b
Merge branch '6.0' into dev-guide-create-a-backend-add-on
stevepiercy Dec 5, 2024
9d9994f
Merge branch '6.0' into dev-guide-create-a-backend-add-on
stevepiercy Feb 9, 2025
3119199
Merge branch '6.0' into dev-guide-create-a-backend-add-on
stevepiercy Feb 26, 2025
dcc8b32
Merge branch '6.0' into dev-guide-create-a-backend-add-on
petschki Nov 25, 2025
67b1ee7
create backend addon documentation
petschki Nov 25, 2025
0cad2b0
create genericsetup documentation
petschki Nov 25, 2025
042ff32
remove note
petschki Nov 25, 2025
aad7b71
Use file markup
stevepiercy Nov 26, 2025
df7340f
Revert changes in i18n and glossary to keep PR focused on GenericSetup
stevepiercy Nov 27, 2025
6af80fc
Revert changes in i18n and glossary to keep PR focused on GenericSetup
stevepiercy Nov 27, 2025
8579a16
Merge branch '6.0' into dev-guide-create-a-backend-add-on
stevepiercy Dec 1, 2025
2675e11
Update docs/developer-guide/create-a-backend-add-on.md
petschki Dec 1, 2025
6e92377
remove plonecli addon creation and note for monorepo "make" command
petschki Dec 1, 2025
0a4cace
only mention "make" command for "cookieplone" generated addons
petschki Dec 1, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions docs/developer-guide/create-a-backend-add-on.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
myst:
html_meta:
"description": "How to create a backend add-on"
"property=og:description": "How to create a backend add-on"
"property=og:title": "Create a backend add-on"
"keywords": "Plone 6, backend, add-on"
---

(create-a-backend-add-on-label)=

# Create a backend add-on

This section explains how a developer can create an {term}`add-on` for the Plone backend.
You will use a framework called {term}`GenericSetup` and a tool called {term}`Buildout`.

```{note}
This section for Plone 6 is in the process of being written.
Until it is complete, Plone 5 documentation is the authoritative source.
{doc}`plone5:develop/addons/components/genericsetup` (Plone 5)
```
5 changes: 2 additions & 3 deletions docs/developer-guide/create-a-distribution.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,9 @@ For a conceptual guide, see {doc}`/conceptual-guides/distributions`.
```


## Create a backend add-on
## Use a backend add-on

These instructions assume that you already have created a Plone backend add-on package,
and now you want to add a distribution to it.
These instructions assume that you have already {doc}`created a Plone backend add-on package <create-a-backend-add-on>`, and now you want to add a distribution to it.

A Plone distribution exists inside a Python package that can be installed by `pip`.

Expand Down
85 changes: 77 additions & 8 deletions docs/developer-guide/index.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,94 @@
---
myst:
html_meta:
"description": "Plone developer guide"
"property=og:description": "Plone developer guide"
"property=og:title": "Developer guide"
"keywords": "Plone 6, developer guide, development"
"description": "Plone development guide"
"property=og:description": "Plone development guide"
"property=og:title": "Development guide"
"keywords": "Plone 6, development guide, developer, development"
---

# Developer guide
# Development guide

```{note}
This part of the documentation is under revision, consolidating documentation for development from its various locations into in one section.
Until then, you can use the [search feature](https://6.docs.plone.org/search.html?q=development).
You can also help with this effort, even if it is to report that something is missing, by [creating an issue](https://github.com/plone/documentation/issues/new?assignees=&labels=&projects=&template=new-issue-form.yml).
```

This part of the documentation provides information for how to develop in Plone.
This development guide points you, as a developer, to the appropriate resource.


## Tests

Tests ensure that your project functions as expected, and that changes to the code base during development don't break anything.


### Volto

- {doc}`Volto acceptance tests </volto/contributing/acceptance-tests>`
- {doc}`Volto unit tests </volto/contributing/testing>`
- {ref}`testing-the-add-on-label`


### Classic UI

```{note}
This part of the documentation is under construction.
You can find documentation for development in various locations through the [search feature](https://6.docs.plone.org/search.html?q=development).
You can help consolidate all of development documentation here, even if it is to let us know what is missing, by [creating an issue](https://github.com/plone/documentation/issues/new?assignees=&labels=&projects=&template=new-issue-form.yml).
Classic UI testing for Plone 6 is in the process of being written.
```


### Backend

```{note}
Backend testing for Plone 6 is in the process of being written.
Until it is complete, Plone 5 documentation is the authoritative source for writing tests for the Plone backend.
```

- {doc}`Backend tests <plone5:develop/testing/index>` (Plone 5)


## Create an add-on

- {doc}`create-a-backend-add-on`
- {doc}`/volto/development/add-ons/create-an-add-on-18`


## Create a Plone distribution

{doc}`create-a-distribution`


## Create content types

- {doc}`/backend/content-types/creating-content-types`
- {doc}`plone5:develop/plone/content/index` (Plone 5)


## Register views

{doc}`plone5:develop/plone/views/index` (Plone 5)


## Register API services

{doc}`backend/configuration-registry`


## {term}`ZCA`
% TODO: This is a mixture of conceptual and how-to guides. Move its parts where they belong and rewrite.
{doc}`plone5:develop/addons/components/index` (Plone 5)


## {term}`ZCML`
% TODO: This is a mixture of conceptual and how-to guides. Move its parts where they belong and rewrite.
{doc}`plone5:develop/addons/components/zcml` (Plone 5)


```{toctree}
:maxdepth: 2
:hidden:

create-a-backend-add-on
create-a-distribution
```
4 changes: 4 additions & 0 deletions docs/glossary.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ Buildout
[Buildout](https://github.com/buildout/buildout/) is a Python-based tool for building and assembling applications from multiple parts, based on a configuration file.
It was the most common way of installing Plone 3, 4, and 5, and can still be used with Plone 6.

Usage of Buildout in Plone appears in various places in this documentation.
For a history and extended usage of Buildout, you can refer to the Plone 4 Documentation's section on [Buildout](https://4.docs.plone.org/old-reference-manuals/buildout/).
The Plone community authored this reference manual, as Buildout's own documentation is suboptimal.

CMS
Content Management System

Expand Down
4 changes: 2 additions & 2 deletions docs/i18n-l10n/translating-text-strings.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ Information in the PO file headers is ignored.

[`i18ndude`](https://pypi.org/project/i18ndude/) should be used to create a script which searches particular packages for translation strings.

If you have created your add-on using [bobtemplates.plone](https://pypi.org/project/bobtemplates.plone/), then you will already have a script `update.sh` inside your package and a script `update_locale` in your buildout to extract the messages from your code.
If you have created your add-on using [bobtemplates.plone](https://pypi.org/project/bobtemplates.plone/), then you will already have a script `update.sh` inside your package and a script `update_locale` in your {term}`buildout` to extract the messages from your code.

After running that script, a new `domain.pot` file will be created in your `locales` directory where all the messages will be saved.

Expand Down Expand Up @@ -273,7 +273,7 @@ This script hooks into the release process and builds the MO files for you.

### Installing i18ndude

The recommended method is to have {term}`i18ndude` installed via your [buildout](https://www.buildout.org/en/latest/).
The recommended method is to have {term}`i18ndude` installed via your buildout.

Add the following to your `buildout.cfg`:

Expand Down