Skip to content

plone/form-block

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

491 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Form Block πŸš€

A Plone add-on supporting the creation of forms inside blocks.

PyPI PyPI - Python Version PyPI - Wheel PyPI - License PyPI - Status

npm

CI Built with Cookieplone

GitHub contributors GitHub Repo stars

About Form Block

This add-on is composed of two packages:

In order to have the complete solution you need to install both of them in your project, please follow the instructions: backend and frontend.

Relation to collective.volto.formsupport / volto-form-block

This add-on began as an evolution of RedTurtle Technology's volto-form-block and collective.volto.formsupport, but has since taken its own direction and is not compatible with forms created by those add-ons.

Quick Start 🏁

Prerequisites βœ…

Installation πŸ”§

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

    git clone git@github.com:plone/form-block.git
    cd form-block
  2. Install this code base.

    make install

Fire Up the Servers πŸ”₯

  1. Create a new Plone site on your first run.

    make backend-create-site
  2. Start the backend at http://localhost:8080/.

    make backend-start
  3. In a new shell session, start the frontend at http://localhost:3000/.

    make frontend-start

Voila! Your Plone site should be live and kicking! πŸŽ‰

Local Stack Deployment πŸ“¦

Deploy a local Docker Compose environment that includes the following.

  • Docker images for Backend and Frontend πŸ–ΌοΈ
  • A stack with a Traefik router and a PostgreSQL database πŸ—ƒοΈ
  • Accessible at http://form-block.localhost 🌐

Run the following commands in a shell session.

make stack-create-site
make stack-start

And... you're all set! Your Plone site is up and running locally! πŸš€

Project structure πŸ—οΈ

This monorepo consists of the following distinct sections:

  • backend: Houses the API and Plone installation, utilizing pip instead of buildout, and includes a policy package named plone.formblock.
  • frontend: Contains the React (Volto) package.
  • devops: Encompasses Docker stack, Ansible playbooks, and cache settings.
  • docs: Scaffold for writing documentation for your project.

Why this structure? πŸ€”

  • All necessary codebases to run the site are contained within the repository (excluding existing add-ons for Plone and React).
  • Specific GitHub Workflows are triggered based on changes in each codebase (refer to .github/workflows).
  • Simplifies the creation of Docker images for each codebase.
  • Demonstrates Plone installation/setup without buildout.

Code quality assurance 🧐

To check your code against quality standards, run the following shell command.

make check

Format the codebase

To format and rewrite the code base, ensuring it adheres to quality standards, run the following shell command.

make format
Section Tool Description Configuration
backend Ruff Python code formatting, imports sorting backend/pyproject.toml
backend zpretty XML and ZCML formatting --
frontend ESLint Fixes most common frontend issues frontend/.eslintrc.js
frontend prettier Format JS and Typescript code frontend/.prettierrc
frontend Stylelint Format Styles (css, less, sass) frontend/.stylelintrc

Formatters can also be run within the backend or frontend folders.

Linting the codebase

or lint:

make lint
Section Tool Description Configuration
backend Ruff Checks code formatting, imports sorting backend/pyproject.toml
backend Pyroma Checks Python package metadata --
backend check-python-versions Checks Python version information --
backend zpretty Checks XML and ZCML formatting --
frontend ESLint Checks JS / Typescript lint frontend/.eslintrc.js
frontend prettier Check JS / Typescript formatting frontend/.prettierrc
frontend Stylelint Check Styles (css, less, sass) formatting frontend/.stylelintrc

Linters can be run individually within the backend or frontend folders.

Internationalization 🌐

Generate translation files for Plone and Volto with ease:

make i18n

Credits and acknowledgements πŸ™

This add-on is built on top of the awesome add-ons volto-form-block and collective.volto.formsupport developed by RedTurtle Technology.

The current version of the codebase was developed by kitconcept GmbH and sponsored by the Fachhochschule Nordwestschweiz.

Generated using Cookieplone (2.0.0b3) and cookieplone-templates (6678734) on 2026-06-10 18:43:35.112495. A special thanks to all contributors and supporters!

About

No description, website, or topics provided.

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

 
 
 

Contributors