I usually dont write issues like this, but in case of captcha I cant help.

Captcha is an essential module for many sites and I loved to use it for quite some time now. But recently the module development changed into a really bad direction:

  • We now must install 3 modules (captcha, textimage, form_store) to get a simple graphical captcha validation. Thats getting really ridiculous now. We once had all this functionality in one module, where it belongs IMO. I dont intend to install three module to gain the same effect.
  • The dependency on form_store is undocumented (http://drupal.org/node/145079, http://drupal.org/node/143143) and unnecessary for most users. If you dont need to add additional captcha points the 5.x-1.x series worked great (although http://drupal.org/node/141478 needs to be committed to captcha and captcha.inc of textimage). I therefore request to make the feature to create new captcha points (and with it the dependency on form_store) optional!
  • To sum up: Why cant we have our 5.x-1.x captcha module back (with #141478 and) with the option to create additional captch points using the form_store module?

Comments

mgifford’s picture

Sounds good to me. At the very least when the functionality of a module changes drastically there should be some notice/discussion about it. Upgrades certainly need to be considered more carefully. The new module still isn't working for me as well as the old one was.

hunthunthunt’s picture

Couldn't agree more!

Captcha in it's current state is overly complicated, unmanageable and impossible to get working.

robloach’s picture

So, take CAPTCHA points out of the CAPTCHA module and into its own captcha_points module? I'm up for this.

heine’s picture

So, take CAPTCHA points out of the CAPTCHA module and into its own captcha_points module? I'm up for this.

Replacing the dependency on form_store with a dependency on yet another modules 'captcha_points' doesn't seem to make sense.
If the dependency on form_store should be optional, CAPTCHA should ship with a number of predefined CAPTCHA points, function _perfectly_ without form_store, and use form_store to add new points only.

robloach’s picture

In order to understand what we are all talking about, it might help to look at the modules' individual functionality....

Captcha.module
Provide an API to allow the use of CAPTCHA in certain forms. No dependancy. Can use Form_Store's functionality, but doesn't require it.
Captcha_Points.module
Addon module to give the ability to collect points for the CAPTCHA module (dependant on Captcha.module). If reference to Form_Store module is required, this it is fine as well, but it's good to keep the number of required modules down to a minimum. That's why it is good to use the module if it is there, but not require the use of it unless it is absolutely required.
Form_Store.module
Gives an API to other modules to act on generated forms. No dependancy.

Since CAPTCHA is always used when captcha.module is enabled, CAPTCHA Points is not. This is why it's a good idea to move the code into a contributed addon module.

profix898’s picture

Captcha_Points.module: Addon module to give the ability to collect points ...

For the ability to collect points you need the form_store module. Thats why the captcha v2 depends on it.

What I was talking about is that I dont wont to install two additional trivial modules and captcha module itself to get a simple graphical captcha challenge. Thats overly (and unnecessarily) complex to install and configure. IMO graphical captchas should be possible with one module. What means: make dependency on form_store (and with it the ability to add custom captcha points optional) and - of course as Heine pointed out - ship the captcha module with a list of predefined points (as in v1).

A few months ago I had a discussion with wundo why he decided to split out graphical captchas support to textimage. He stated that textimage should/will have the functionality to replace text with graphically styled text (similar to SIFR). However AFAIK this functionality is still not available. Not sure it will ever be ;) IMO all the modules (maybe form_store being optional) should be merged. About 90% of the users want a graphical captcha challenge and 99% of them (just a guess) find the functionality splitted up into 3 modules quite annoying. Captcha is an important module for many users because it prevents your site from being spammed and it should be easy to setup even for new users.

I recently tried Heine's mycaptcha module (http://heine.familiedeelstra.com/mycaptcha) as it combines the functionality of captcha and textimage (and even creates nicer graphics).

(Just to make it clear: I'm all for reusable code and for API modules providing functionality for use in dependent modules. But in this case there are no other modules depending on textimage (and form_store) and there will probable be none in the near future.)

robloach’s picture

My concern is that recently, one of my clients just wanted reCAPTCHA on their site, and didn't want/need the captcha points or form_store. They just wanted the Captcha API and reCAPTCHA. I ended up just giving them the two modules, and manually removing the Captcha Points menu item. I can see this happening in the future too as not all systems require the use of Points or Form Store.

skor’s picture

What if Captcha v2 brought back support (without help from form_store) for some of the drupal core forms that were supported in v1?

This would be my proposed list:

Comment form
User login form
User login form block
User registration formform
User contact form
Sitewide contact form

wundo’s picture

I'm not sure if captcha with "User login form" and "User login form block" are stable enough.
But I agree with you that this forms should come by default.
I will add the others to default captcha points list.

wundo’s picture

@Rob,
Maybe we should allow user to type the form_id and form_name without using form store.
But I think it should just confuse the normal user.

Form Store has an better UI.

wundo’s picture

@profix898,
Just commenting a bit your message.
Text Image and Captcha have a different proposes, a normal user doesn't needs Textimage, a small site goes well with Math Captcha.
About the formstore, you can still hack the code and add the points you want as you as used to do with Captcha v1.
I'm moving captcha points to a separated table in db, then you will can also add captcha points using phpmysqladmin or the flavour of SQL client you like most.
But I'm quite sure an normal user will prefer to simple download Form Store and use it.

wundo’s picture

Just an update, for those that have the same doubt as the profix898 sum up, you should check this link:
Explaining why the hell Captcha API changed...

It explains why I decided to rewrite the whole thing. ;)

robloach’s picture

Version: 5.x-2.1 » 5.x-3.x-dev
Status: Active » Fixed

.... And it's a good change!

Anonymous’s picture

Status: Fixed » Closed (fixed)