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.0a2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| collective_polls-3.0.0a2.tar.gz | 390.9 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| collective_polls-3.0.0a2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 802.7 kB
Release files / collective_polls-3.0.0a2.tar.gz
| Download URL | collective_polls-3.0.0a2.tar.gz |
|---|---|
| Size | 390.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cab2cc46ed421fd96877fffa183d96ae1a2de39e1918a9c48e2246482aad1433
|
|
BLAKE2b-256 checksum How to use checksums |
a66eac6ee6cee07ea49644f0bdc9dbfc8d599e191081cb8f8b43844724a4eef4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","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.0a2-py3-none-any.whl
| Download URL | collective_polls-3.0.0a2-py3-none-any.whl |
|---|---|
| Size | 411.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0ab457aecc039bc7a6afbe7a4b67c9f74d4b280a2353ba7f624ca97dc660715e
|
|
BLAKE2b-256 checksum How to use checksums |
69cdab88cdc26d70898edd32323739064fec4a1f326d407577b12096925eb6c6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","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}
|
Security for collective.polls 3.0.0a2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.