Skip to main content

Introduction

plone.formwidget.recaptcha is a z3c.form ReCaptcha widget for use with Plone.

It is a z3c.form re-implementation of the collective.recaptcha package original written by David Glick.

Buildout Installation

Add the following code to your buildout.cfg to install plone.formwidget.recaptcha:

[buildout]
...

[instance]
...
eggs =
    ...
    plone.formwidget.recaptcha
    ...

ReCaptcha setup

There is a control panel at http://path/to/site/@@recaptcha-settings to configure the Addon. Google provides a set of test keys, that can be used to try out the recaptcha form and documentation at https://developers.google.com/recaptcha/docs/faq.

Site key: 6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI

Secret key: 6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe

To actually use the service, you must obtain a site key and secret key from developers.google.com/recaptcha

Usage

The ReCaptcha validator will be enabled by default in all of your forms that use the ReCaptcha Field and Widget.

See the demo folder inside the distribution for an example usage.

Supermodel

You can add a captcha field in an XML model by adding something like this:

<field name="captcha" type="plone.formwidget.recaptcha.ReCaptchaWidget">
  <title>Solve Captcha</title>
  <description></description>
</field>

Upgrade to API v3

plone.formwidget.recaptcha 3.* allows to use both v3 and v3 reCaptcha. plone.formwidget.recaptcha 2.* uses V2 of the reCaptcha API. Users upgrading from plone.formwidget.recaptcha 1.* will therefore need to generate new keys as global Keys are not supported in the V2 API.

Source Code

Contributors please read the document Process for Plone core’s development

Sources are at the Plone code repository hosted at Github.

Contributors

Changelog

4.0.0 (2026-11-10)

Breaking changes:

  • Replace pkg_resources namespace with PEP 420 native namespace. Support only Plone 6.2 and Python 3.10+. (#3928)

  • Support Plone 6.2 only @erral

New features:

  • Add Italian translation. @fabio.iaquinta

Internal:

  • Update configuration files. [plone devs]

3.0.0 (2026-02-12)

Breaking changes:

  • Support Plone 6-only @erral Apply plone/meta @erral (#40)

New features:

  • Add an adapter to show the control panel in Volto and register translations [erral] (#32)

  • Add new languages Catalan and French [aormazabal] (#35)

  • Adds support for reCAPTCHA v3 @rohnsha0 (#38)

  • Provide a default validator for the recaptcha field @erral

Internal:

  • Update configuration files. [plone devs]

Tests:

  • Move CI from TravisCI to Github Actions [jensens] (#29)

2.3.0 (2021-03-01)

New features:

  • Provide a field to be used from an XML model [frapell] (#24)

  • Subsite support (i.e. collective.lineage) [jensens] (#28)

Bug fixes:

  • Format code according to Plone standards: black, isort, zpretty. (#27)

  • Move CI from TravisCI to Github Actions [jensens] (#29)

  • Do not validate captcha field upon z3c form inline validation. [mathias.leimgruber]

2.2.0 (2019-07-10)

New features:

  • Python 3 compatibility [staeff, petschki] (#19)

2.1.0 (2019-02-20)

  • Update TravisCI Setup and test with Plone 5.1 and 5.2 on Python 2.7. Also test on Python 3.6+3.7 (allowed to fail, and fails for now). [jensens]

  • Remove obsolete action icons configuration. [thet]

  • update controlpanel text [lucid-0]

  • Remove obsolete recaptcha_ajax.js - all scripts are integrated via the norecaptcha package. Add upgrade step for that. [thet]

2.0.0 (2018-09-05)

  • Add a dummy widget display view which renders empty. A widget needs a display view, otherwise form result rendering may fail. [thet]

2.0a3 (2016-12-21)

2.0a2 (2015-06-17)

  • Fix: problem with MANIFEST.in and old package structure made 2.0a1 a brown bag release. All non-python files (i.e. zcml) were missing. [jensens]

2.0a1 (2015-06-17)

  • some pep8/plone conventions code style cleanup. [jensens]

  • recaptcha API 2 (aka norecaptcha) [mamico]

1.0b3 - 2010-11-18

  • Register browser components for a product browser layer so they don’t leak to sites without this product installed. Run the upgrade step if upgrading on a site that already has this product installed. [davisagli]

  • Move to plone.app.discussion-captcha feature declaration to meta.zcml. [timo]

  • Adapt recaptcha view instead of captcha view for validation. [ramon]

1.0b2 - 2010-06-02

  • Updated package metadata and marked this as a Plone add-on. [timo]

  • Declare that plone.formwidget.captcha provides a Captcha field that can be used by plone.app.discussion to add a Captcha field to comment forms. [timo]

1.0b1 - 2009-12-07

  • z3c.autoinclude.plugin added [timo]

1.0a1 - 2009-08-28

  • Initial release [timo]

Metadata

Release files for plone.formwidget.recaptcha 4.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for plone.formwidget.recaptcha 4.0.0
File Size Uploaded Provenance Actions
plone_formwidget_recaptcha-4.0.0.tar.gz 30.5 kB Without provenance Details for plone_formwidget_recaptcha-4.0.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for plone.formwidget.recaptcha 4.0.0
File Interpreter ABI Platform Actions
plone_formwidget_recaptcha-4.0.0-py3-none-any.whl Python 3 none any Details for plone_formwidget_recaptcha-4.0.0-py3-none-any.whl

Total release size: 68.6 kB

Release files / plone_formwidget_recaptcha-4.0.0.tar.gz

Download URL plone_formwidget_recaptcha-4.0.0.tar.gz
Size 30.5 kB
Tags Source
SHA-256 checksum
How to use checksums
be0b89ef81d3b598cd8e63e0a4b73ad63a9e53e0ff8ec56b4f7fbda5758e7255
BLAKE2b-256 checksum
How to use checksums
65e7cc82dd638568990caf61da1f61ae0922bca72699d7cd5bac9f980c88d9f0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / plone_formwidget_recaptcha-4.0.0-py3-none-any.whl

Download URL plone_formwidget_recaptcha-4.0.0-py3-none-any.whl
Size 38.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ff81cf2efb55e642d9f454fdda74d9b756361b194862897463226c161aed079c
BLAKE2b-256 checksum
How to use checksums
fe48ff2535fa5e09cce201aed7b766ce31f6ae089659d64d2454e0153a9415e5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Security for plone.formwidget.recaptcha 4.0.0

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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page