As many users have discovered and discussed the current release of Captcha is buggy, unintuitive and overly complicated. This has resulted in developers either rewriting (saxofaan) or developing alternative versions (Heine's MyCaptcha).

Undoubtedly, a decision needs to be made about the future direction of Captcha.

Options are as follows:

1. Drop the current version in favor of either saxofan's rewrite or Heine's MyCaptcha
2. Modify the existing version to address the issues that users are experiencing
3. Make available alternative versions of Captcha, as saxofan suggested, his module could be made available as Captcha Lite

Being relatively new to Drupal, I am not sure of the correct procedure for raising and resolving this issue. Is there an authority/administrator who is able to do so? The current predicament is not ideal, work is being duplicated and nothing is being resolved.

I'd appreciate comments, feedback and ideas on this post so we can get this issue resolved ASAP.

Comments

wundo’s picture

Options are as follows:
...
2. Modify the existing version to address the issues that users are experiencing

Saxofan version is still just an patch to actual catpcha, and some changes he did are being incorporated in main captcha module. The main problem with this process is that he keep releasing patches with different kind of features and bug fixes, what makes harder to review the code. And besides Heine, RobLoach, myself and a few others, noone is working in reviewing patches and fixing bugs.

3. Make available alternative versions of Captcha, as saxofan suggested, his module could be made available as Captcha Lite

This would be in the counter side of drupal philosophy of joining forces.

wundo’s picture

We are tying to join Captchas efforts in Captcha group.
Maybe the best place to this discussion is there ;)

robloach’s picture

We won't drop anything, instead we will put all solutions into one, taking bits and peices from each one. Here are the guidelines:

  1. Consolidate all Captcha efforts into one simple suite of tools
  2. Keep the existing Captcha API in tact (hook_captcha)
  3. Make the required amount of modules an absolute minimum, while keeping the API/hook calls in its own seperate module (Captcha API)

So, thinking about these three guidelines, we come up with this plausable module setup:

Captcha API
Contains the API as well as all the hook calls for captcha (hook_captcha). Contains the form collecting elements (or alternative) to show Captcha validation anywhere and appropriately implements and calls hook_captcha. This is a collaboration of MyCaptcha, Captcha, and the split up captcha solution.
Captcha Math
Implementation of the math captcha that's currently distributed with Captcha. This would reside in a contrib directory of the Captcha module and would be shipped with Captcha.
TextImage
Uses hook_captcha (Captcha API) to provide text image validation.
reCAPTCHA
Uses hook_capthca (Captcha API) to provide reCAPTCHA validation.

Using this module setup, we'd get all the functionality of all the current captcha solutions, into the least amount of modules. We'd provide the Captcha API giving the bare bones Captcha functionality (hook_captcha and the form stuff), and other modules would use the consolidated API to provide their functionality.

soxofaan’s picture

about #3: you separated Captcha API and Captcha Math in separate modules. I think there should be at least one simple default captcha challenge (like math or riddler) in the basic captcha module. It seems silly that one would have to enable two modules to get the most basic captcha functionality.

We are tying to join Captchas efforts in Captcha group.
Maybe the best place to this discussion is there ;)

I putted another comment at http://groups.drupal.org/node/4852#comment-14144

reikiman’s picture

I'm glad y'all are discussing working together. Just saying, this is critical functionality. It worked great in 4.7, why is it so long for it to become functioning in 5.x?

robloach’s picture

To soxofaan's comment at #4... What happens if you don't want the math captcha to be an option? Since it would be in a seperate module, you'd just simply disable to module. It would also provide a good model to base off of when writing new Captcha modules. I know that when I was writing the reCAPTCHA module, I had a horrible time ciphering through the mixed up Captcha API, Captcha Points and the Captcha Math code. If the Math implementation of Captcha was seperated in a different module, it would be easy to see what needs to be implemented. Of course though, this would be shipped with the official Captcha module, stuck in a contrib sub-directory. There are many other modules that do this, CCK, Views and E-Commerce are some larger examples.

soxofaan’s picture

to Rob at#6, I commented at the captcha group: http://groups.drupal.org/node/4852#comment-14175

hunthunthunt’s picture

I'm pleased that my post sparked off such a debate. As reikiman said, it's great to see everyone working together.

Wundo, thanks for mentioning the drupal philosophy of joining forces post, it pretty much answers the question I raised originally. I can see how the current 'splintering' of the Captcha module has been counter productive.

The thread of the post's so far seems to agree that Captcha development needs to be consolidated, so lets do this!

Regarding #3 I think Rob's thinking is very tidy. I don't have an issue with form store, I think many users were having problems with this as it's dependency was not documented on the Captcha home page (I wrote the current copy and sent it to wandu, as it was terribly out of date).

My primary concerns with Captcha relate to it's placement (weighting) on forms. The current standard is that a captcha will appear above the submit button, the drupal captcha module should be consistent with this. Also, I have as yet been unable to get Captcha to work with textimage, these modules should always be compatible.

Thanks to all who commented and have worked on the module to date. Let's work together to make this one of drupal's stellar features ;-)

soxofaan’s picture

I can see how the current 'splintering' of the Captcha module has been counter productive.

What do you mean with "splintering"? Is it about MyCaptcha not being hosted on drupal.org? Is it about my patch (last version: http://drupal.org/node/153395#comment-264105) breaking to many things? is it about to many incompatible/non working captcha challenge modules?

My primary concerns with Captcha relate to it's placement (weighting) on forms. The current standard is that a captcha will appear above the submit button, the drupal captcha module should be consistent with this.

The problem is that forms come in very different flavours and shapes. You have forms with submit buttons inside tables, you have forms where the submit is deep down the form tree, you have forms with non submit buttons etc. It's not easy to handle all these cases.
In my rewrite I tried to cope with it, and it works in the basic cases (simple forms like user registration, guestbooks, comments). I'm still working on that (e.g. it does not work very well with comment forms if both preview and submit are possible).

hunthunthunt’s picture

What do you mean with "splintering"?

By splintering, I mean that there are alternative versions of Captcha being developed simultaneously. The existing module, your (soxofaan's) rewrite and Heine's MyCaptcha - this is not meant as a criticism in any way whatsoever. You have my utmost respect for the terrific work you have contributed. The point I was trying to make is that effort needs to be consolidated, as articulated in the previously mentioned drupal philosophy of joining forces.

I appreciate the difficulty in negotiating the form tree. If there is anything I can do to help, let me know.

soxofaan’s picture

this is not meant as a criticism in any way whatsoever

don't worry, I didn't take it like that ;) . I was just wondering

The point I was trying to make is that effort needs to be consolidated

That's why I'm pushing my patch here on drupal.org instead of hosting my version on my own website. I also dislike having to many incompatible options.

soxofaan’s picture

Wundo, thanks for mentioning the drupal philosophy of joining forces post, it pretty much answers the question I raised originally. I can see how the current 'splintering' of the Captcha module has been counter productive.

In an effort to try to join forces I ported the image captcha functionality from MyCaptch to my rewrite.
more info and tarball here: http://drupal.org/node/153395#comment-270126

I hope we have something now we can work on together, instead of splintering more.

cheers

hunthunthunt’s picture

Great work soxofaan, I look forward to checking this out ;-)

soxofaan’s picture

just an update on my rewrite: revision 57 (http://drupal.org/node/153395#comment-271079) now offers a clean upgrade path for users of the original captcha module. (no install-uninstall-reinstall needed anymore, no more errors to ignore)

robloach’s picture

Status: Active » Fixed

Captcha 3.x branch is here!

Anonymous’s picture

Status: Fixed » Closed (fixed)