Metadata-Version: 2.4
Name: plone.formwidget.recaptcha
Version: 3.0.0
Summary: ReCaptcha widget for Plone.
Home-page: https://github.com/collective/plone.formwidget.recaptcha
Author: Timo Stollenwerk - Plone Foundation
Author-email: plone-developers@lists.sourceforge.net
License: GPLv2
Project-URL: PyPI, https://pypi.python.org/pypi/plone.formwidget.recaptcha
Project-URL: Source, https://github.com/plone/plone.formwidget.recaptcha
Project-URL: Tracker, https://github.com/plone/plone.formwidget.recaptcha/issues
Keywords: plone discussion plone.app.discussion spam captcha recaptcha
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Framework :: Plone
Classifier: Framework :: Plone :: Addon
Classifier: Framework :: Plone :: 6.0
Classifier: Framework :: Plone :: 6.1
Classifier: License :: OSI Approved :: GNU General Public License v2 (GPLv2)
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.9,<3.14
License-File: LICENSE.GPL
License-File: LICENSE.rst
Requires-Dist: Acquisition
Requires-Dist: plone.app.registry
Requires-Dist: plone.base
Requires-Dist: plone.registry
Requires-Dist: plone.restapi
Requires-Dist: plone.supermodel
Requires-Dist: plone.z3cform
Requires-Dist: Products.CMFCore
Requires-Dist: setuptools
Requires-Dist: z3c.form
Requires-Dist: zope.annotation
Requires-Dist: zope.component
Requires-Dist: zope.i18nmessageid
Requires-Dist: zope.interface
Requires-Dist: zope.publisher
Requires-Dist: zope.schema
Requires-Dist: Zope
Provides-Extra: test
Requires-Dist: plone.api; extra == "test"
Requires-Dist: plone.app.testing; extra == "test"
Requires-Dist: plone.browserlayer; extra == "test"
Requires-Dist: plone.testing; extra == "test"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: project-url
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

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.

.. _collective.recaptcha: http://plone.org/products/collective.recaptcha


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 <https://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 <https://github.com/plone/plone.formwidget.recaptcha/tree/master/src/plone/formwidget/recaptcha/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 <http://docs.plone.org/develop/plone-coredev/index.html>`_

Sources are at the `Plone code repository hosted at Github <https://github.com/plone/plone.formwidget.recaptcha>`_.


Contributors
============

- Timo Stollenwerk - Plone Foundation, plone-developers@lists.sourceforge.net


Changelog
=========

.. You should *NOT* be adding new change log entries to this file, this
   file is managed by towncrier. You *may* edit previous change logs to
   fix problems like typo corrections or such.

.. towncrier release notes start

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)
------------------

- Support for use the widget with plone.supermodel
  [jpgimenez]

- Support for widget display settings as described in
  https://developers.google.com/recaptcha/docs/display
  [jensens]


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]
