diff --git a/docs/development-guide/index.md b/docs/development-guide/index.md new file mode 100644 index 000000000..6a0945920 --- /dev/null +++ b/docs/development-guide/index.md @@ -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 ` +- {doc}`Volto unit tests ` +- {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 ` (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` diff --git a/docs/index.md b/docs/index.md index 0ab3dbaca..b2a112716 100644 --- a/docs/index.md +++ b/docs/index.md @@ -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