Development#

The development of this add-on is done in isolation using a new approach using pnpm workspaces and latest mrs-developer and other Volto core improvements. For this reason, it only works with pnpm and Volto 18 (currently in alpha).

Prerequisites ✅#

Installation 🔧#

  1. Clone this repository, then change your working directory.

    git clone git@github.com:collective/collective.volto.aemet.git
    cd collective.volto.aemet
    
  2. Install this code base.

    make install
    

Make convenience commands#

Run make help to list the available commands.

check                          Check and fix code base according to Plone standards
clean                          Clean installation and instance (data left intact)
console                        Start a console into a Plone instance
create-site                    Create a new site from scratch
format                         Check and fix code base according to Plone standards
help                           This help message
install                        Install Plone and dependencies
lint                           Check and fix code base according to Plone standards
release                        Create a release
remove-data                    Remove all content
start                          Start a Plone instance on localhost:8080
sync                           Sync project dependencies
test                           run tests
test-coverage                  run tests with coverage

Development environment set up#

Install package requirements.

make install

Start developing#

Start the backend.

make sync

In a separate terminal session, start the frontend.

make start

Lint code#

Run Python tools in analyze mode.

make lint

Format code#

Run Python tools in fix mode.

make format

i18n#

Extract the i18n messages to locales.

make i18n

Unit tests#

Run unit tests.

make test

Run unit tests with coverage report.

test-coverage

Contents#

Create a new site from scratch

make create-site

Remove all content

make remove-data

Releases#

Create a release of this add-on

make release

Add features using plonecli or bobtemplates.plone#

This package provides markers as strings (<!-- extra stuff goes here -->) that are compatible with plonecli and bobtemplates.plone. These markers act as hooks to add all kinds of subtemplates, including behaviors, control panels, upgrade steps, or other subtemplates from plonecli.

To run plonecli with configuration to target this package, run the following command.

make add <template_name>

For example, you can add a content type to your package with the following command.

make add content_type

You can add a behavior with the following command.

make add behavior

See also:#

You can check the list of available subtemplates in the bobtemplates.plone README.md file. See also the documentation of Mockup and Patternslib for how to build the UI toolkit for Classic UI.