This release is a pre-release and may not be stable for production use.
collective.polls
A content type, workflow, and Volto block for conducting online polls in Plone, for anonymous and logged-in users.
This is the Plone backend add-on.
Its Volto frontend is @plone-collective/volto-polls, and a site needs both.
Features
- The Poll content type. A question with two or more options, which can hold the images it shows.
- Single or multiple choice. How many options a voter can pick, the legend shown above them, and whether they appear in a random order.
- Anonymous voting. An open poll accepts anonymous votes when it allows them and visitors can see its parent folder. A cookie keeps an anonymous visitor from voting twice.
- A workflow of its own. Private, Pending review, Open, and Closed. Votes are collected only while open, and sending an open poll back to Private removes them.
- A REST API.
GET @pollanswers the state of a poll for the current user, andPOST @voterecords a vote, as{"option_id": 0}or{"option_ids": [0, 2]}. - Export and import. With
plone.exportimport, a closed poll's votes go out with its content and come back on import. The REST API never reads or writes them. - An upgrade from 2.x. The upgrade step moves the stored votes to the new storage and removes the voting portlets.
- Translations in Catalan, Czech, German, Spanish, Finnish, French, Italian, Dutch, Brazilian Portuguese, and Traditional Chinese.
Documentation
Read the documentation at collective.github.io/collective.polls.
Installation
Add collective.polls to your project's dependencies.
uv add collective.polls
Then install it in your Plone site from the Add-ons control panel.
Upgrading from 2.x
Version 3 requires Plone 6.2. After upgrading the package, run the upgrade steps from the Add-ons control panel.
Contribute
Prerequisites ✅
- An operating system that runs all the requirements mentioned.
- uv
- Make
- Git
- Docker (optional)
Installation 🔧
-
Clone this repository.
git clone git@github.com:collective/collective.polls.git cd collective.polls/backend
-
Install this code base.
make install -
Create a Plone site with example content, then start it at http://localhost:8080/.
make create-site make start
Tests
Run the test suite, with or without a coverage report.
make test
make test-coverage
Check the code, and its type annotations.
make lint
make typecheck
License
The project is licensed under GPLv2.
Credits and acknowledgements 🙏
Generated using Cookieplone (2.0.0) and cookieplone-templates (99c2201) on 2026-10-04 22:40:50.366931. A special thanks to all contributors and supporters!
Metadata
Release files for collective.polls 3.0.0a1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| collective_polls-3.0.0a1.tar.gz | 385.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| collective_polls-3.0.0a1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 792.8 kB
Release files / collective_polls-3.0.0a1.tar.gz
| Download URL | collective_polls-3.0.0a1.tar.gz |
|---|---|
| Size | 385.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
65bf4b1b70b0ec8019c51c316f67152548fc73b6ba2a258071a7f3bc02d84e31
|
|
BLAKE2b-256 checksum How to use checksums |
0949cd070bd91e7394949d64bedb5330118d2020b6b793a55f5c760a1a472113
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / collective_polls-3.0.0a1-py3-none-any.whl
| Download URL | collective_polls-3.0.0a1-py3-none-any.whl |
|---|---|
| Size | 407.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ba362ee9d2a78fe2e2d3f686d7ee1ea6e0709f02fc563eeb354a1019b5cd42e7
|
|
BLAKE2b-256 checksum How to use checksums |
59802ef07770db626a0327a29443629ceae1d6e900a496c2bd5635ef7ffd1e6c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|