I have released a new captcha widget/field for PloneFormGen. Unlike other captcha fields that are based on images, this captcha is based on a predefined list of questions and answers.

Overview

collective.pfg.norobots is a PloneFormGen field using collective.z3cform.norobots.

collective.z3cform.norobots provides a “human” captcha widget based on a list of question/answer(s).

This captcha can be used :

  • as a plone.app.discussion (Plone Discussions) captcha plugin
  • as a z3c form field
  • as a PloneFormGen field with collective.z3cform.norobots

Requirements

I have tested this release with :

  • Plone 4.2.1.1 & PloneFormGen 1.7.2 & collective.z3cform.norobots 1.4.2
  • Plone 4.1.6 & PloneFormGen 1.7.2 & collective.z3cform.norobots 1.4.2

Screenshot

Installation

Getting the module

Add collective.pfg.norobots to your plone.recipe.zope2instance buildout section e.g.:

[instance]
...
eggs =
    Plone
    ...
    collective.pfg.norobots

Or, you can add it as a dependency on your own product setup.py:

install_requires=[
 ...
 'collective.pfg.norobots',
],

Enabling the module

Install the module from the Add-ons control panel. That’s it!

Quickly test ?

Download collective.pfg.norobots and use virtualenv and buildout to test the module:

easy_install virtualenv
cd collective.pfg.norobots
virtualenv .
source bin/activate
(collective.pfg.norobots) easy_install zc.buildout
!!! check the buildout config file ``test-plone-base.cfg`` before running !!!
(collective.pfg.norobots) ln -s test-plone-4.2.x.cfg buildout.cfg
(collective.pfg.norobots) python bootstrap.py
(collective.pfg.norobots) bin/buildout
[...] be patient... [...]
(collective.pfg.norobots) ./bin/instance fg

Go to http://localhost:8080, add a new Plone Site and install collective.pfg.norobots.

Launch tests:

(collective.pfg.norobots) ./bin/test -s collective.pfg.norobots

Launch code coverage:

(collective.pfg.norobots) bin/coverage
(collective.pfg.norobots) bin/report
And open with a browser htmlcov/index.html

Credits

Source code

Source code is hosted on Github.

How to contribute and submit a patch ?

Source code and an issue tracker is hosted on Github.