Skip to content
Open
Show file tree
Hide file tree
Changes from 3 commits
Commits
Show all changes
53 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
132f1be
Update docs/developer-guide/create-a-backend-add-on.md
petschki Dec 9, 2025
2fe88be
Merge branch '6.0' into dev-guide-create-a-backend-add-on
MrTango Jan 14, 2026
bb795bc
explain how to create a backend-addon with plonecli only.
petschki Jan 15, 2026
3db83f5
minor command fix
petschki Jan 15, 2026
a7b0d43
Merge branch '6.0' into dev-guide-create-a-backend-add-on
stevepiercy Feb 9, 2026
096109d
Begin editorial clean up
stevepiercy Feb 9, 2026
a0358f1
Merge branch '6.0' into dev-guide-create-a-backend-add-on
petschki Feb 20, 2026
80201c7
Merge branch '6.0' into dev-guide-create-a-backend-add-on
erral Apr 16, 2026
98dfce6
Rewrite and restructure the GenericSetup documentation to have a prop…
stevepiercy May 12, 2026
0b24fa2
Tidy up links
stevepiercy May 12, 2026
0bb47fe
Clean up Create a profile section
stevepiercy May 12, 2026
a485dce
Clean up Multiple profiles section, removing obsolete mention of 5.0 …
stevepiercy May 12, 2026
751d602
Clean up "Add-on specific issues"
stevepiercy May 12, 2026
72fbc5c
Clean up "List available profiles"
stevepiercy May 12, 2026
300fd17
Clean up "Install a profile" and its subsections
stevepiercy May 12, 2026
def7ca5
Add a `versionchanged` directive and clarify wording to "Multiple pro…
stevepiercy May 12, 2026
df98e97
Grammar, MyST syntax, and style corrections
stevepiercy May 12, 2026
e866523
Revise "Metadata version numbers" to modernize it to a best practice …
stevepiercy May 13, 2026
fc88c28
Revise "Metadata version numbers" to modernize it to a best practice …
stevepiercy May 13, 2026
f5a5e56
Revise "Custom installer code"
stevepiercy May 13, 2026
ca80a8e
- Clean up code comments
stevepiercy May 13, 2026
a2afebd
- Fix typos
stevepiercy May 13, 2026
9dd5dc3
Fix reference target
stevepiercy May 13, 2026
800adcc
Fix invalid XML syntax
stevepiercy May 13, 2026
5975f46
Fix invalid reference links
stevepiercy May 13, 2026
0beb3e8
Fix broken automodule member list. However, now it reveals malformed …
stevepiercy May 13, 2026
8e2edea
Fix broken automodule member list. However, now it reveals malformed …
stevepiercy May 13, 2026
eac7d66
Apply suggestions from code review
stevepiercy May 21, 2026
596bd25
Remove references to archetypes
davisagli May 21, 2026
31321a2
Edits after my review
davisagli May 21, 2026
c1714ad
Remove rolemap automodule which is a distraction
davisagli May 21, 2026
92a9240
fix ref
davisagli May 21, 2026
9aed212
Merge pull request #2083 from plone/dev-guide-create-a-backend-add-on…
davisagli May 21, 2026
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`.
Comment thread
petschki marked this conversation as resolved.
Outdated

```{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.
Comment thread
stevepiercy marked this conversation as resolved.
Outdated

Add the following to your `buildout.cfg`:

Expand Down