Skip to content

Create Development guide as a primary navigation item and entry point #1731

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 8 commits into from
83 changes: 83 additions & 0 deletions docs/development-guide/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
---
myst:
html_meta:
"description": "Development guide for Plone 6"
"property=og:description": "Development guide for Plone 6"
"property=og:title": "Development guide for Plone 6"
"keywords": "Plone, development, guide, tests, Volto, frontend, REST API, plone.api, backend"
---

(development-guide-label)=

# Development guide

This part of Plone 6 documentation provides guidance for the development of Plone.

Development of Plone uses both the Python and JavaScript ecosystems.

- Volto, the default frontend for Plone 6, is based on the React JavaScript framework.
- Classic UI, the legacy frontend in Plone 6 and earlier versions, is based on the Twitter Bootstrap 5 framework and other JavaScript tools.
- The backend consists of dozens of Python packages.
Plone REST API and `plone.api` are two of the more prominent Python packages in the Plone backend.

Each frontend and backend package may have its own specific development methods.
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

```{note}
Frontend testing for Plone 6 is in the process of being written using Cookieplone and pytest.
Until it is complete, you can refer to the following guides and use tests in Volto core and add-ons for examples.
```

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


### Backend

```{note}
Backend testing for Plone 6 is in the process of being written using Cookieplone and pytest.
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)


## {term}`ZCA`

{doc}`plone5:develop/addons/components/index` (Plone 5)


## {term}`ZCML`

{doc}`plone5:develop/addons/components/zcml` (Plone 5)


## GenericSetup

{doc}`plone5:develop/addons/components/genericsetup` (Plone 5)


## Content type schemas

- {doc}`/backend/content-types/index`
- {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`
1 change: 1 addition & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ Read the [documentation for the previous version, Plone 5](https://5.docs.plone.

overview/index
install/index
development-guide/index
manage/index
upgrade/index
deployment/index
Expand Down
Loading