Install Plone add-ons#

This chapter explains how to install add-ons as Python packages to extend the functionality of the Plone backend or Classic UI.

Note

The Volto frontend has its own system of add-ons using Node.js packages. See Develop Volto add-ons.

Cookieplone#

Use the following instructions if you installed Plone with either Cookieplone or cookiecutter-plone-starter.

Install an add-on#

Add a line with the name of your add-on in the file backend/requirements.txt. This example uses collective.easyform.

collective.easyform==4.2.1

Tip

Including the add-on version, or "pinning a version", ensures that it won't unintentionally get upgraded in the future.

Also add the add-on to zcml_package_includes in the file backend/instance.yaml to make sure its configuration will be loaded.

default_context:
    zcml_package_includes: project_title, collective.easyform

Stop the backend with ctrl-c.

To actually download and install the new add-on, run the following command.

make backend-build

Note

If you installed Plone using cookiecutter-plone-starter, run make build-backend instead.

Now restart the backend.

See also

Run Plone

In your web browser, and assuming you are currently logged in as an administrator, visit the URL http://localhost:8080/Plone/prefs_install_products_form.

Then click the Install button next to your add-on to complete installation of the add-on.

Some add-ons have configuration options. To configure such add-ons, return to the Site Setup control panel. At the bottom of the page, you should see the heading Add-on Configuration, and a control panel to configure the add-on that you just installed.

Install an add-on from source#

An add-on can be installed from a source control system such as GitHub.

Add a line with the name of your add-on in the file backend/requirements.txt. This example uses collective.easyform.

collective.easyform

Note

When installing an add-on from source, it's best not to pin a version. This way you always get the version that's currently available in the source control system.

Next add the add-on to zcml_package_includes in the file backend/instance.yaml so that its configuration will load.

default_context:
    zcml_package_includes: project_title, collective.easyform

Finally, add the package's source to the file mx.ini.

[collective.easyform]
url=git@github.com:collective/collective.easyform.git
branch=dev-branch-name
extras=test

See also

The mx.ini file configures a tool called mxdev. See the documentation of mxdev in its README.md for complete information.

Stop the backend with ctrl-c.

To actually download and install the new add-on, run the following command.

make backend-build

Note

If you installed Plone using cookiecutter-plone-starter, run make build-backend instead.

Now restart the backend.

See also

Run Plone

In your web browser, and assuming you are currently logged in as an administrator, visit the URL http://localhost:8080/Plone/prefs_install_products_form. An upgrade step might need to be performed in the Plone control panel. Follow the upgrade information, if present. Else click the Install button to complete installation of the add-on.

Buildout#

Use the following instructions if you installed Plone with Buildout.

Install an add-on#

Update the file buildout.cfg. This example uses collective.easyform.

[buildout]
extends =
    https://dist.plone.org/release/6-latest/versions.cfg

parts =
    instance

[instance]
recipe = plone.recipe.zope2instance
user = admin:admin
http-address = 8080
eggs =
    Plone
    collective.easyform

[versions]
collective.easyform = 4.2.1

Tip

Including the add-on version, or "pinning a version", ensures that it won't unintentionally get upgraded in the future.

To actually download and install the new add-on, run the following command.

bin/buildout

Then restart your instance.

See also

Run Plone

Install an add-on from source#

You can install an add-on from a source control system such as GitHub.

Update the file buildout.cfg. This example uses collective.easyform.

[buildout]
extends =
    https://dist.plone.org/release/6-latest/versions.cfg
extensions = mr.developer
auto-checkout =
    collective.easyform

parts =
    instance

[instance]
recipe = plone.recipe.zope2instance
user = admin:admin
http-address = 8080
eggs =
    Plone
    collective.easyform

[sources]
collective.easyform = git https://github.com/collective/collective.easyform.git

To actually download and install the new add-on, run the following command.

bin/buildout

Then restart your instance.

See also

Run Plone

See also

This approach uses the mr.developer Buildout extension.