On Thu, Jan 21, 2010 at 22:23, Caleb James DeLisle
<[email protected]> wrote:
> I am adding a new captcha component, it uses jcaptcha-2.0-alpha1 and supports
> image captchas and sound captchas (freetts jars must be added for sound 
> captcha support)
>
> There is a captcha plugin in xwiki-core which makes the core depend on 
> jcaptcha-all-1.0-RC3.
> jcaptcha-all-1.0-RC3 causes conflicts when getting classes from jcaptcha-2.0.
> The plugin in querstion:
> http://svn.xwiki.org/svnroot/xwiki/platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/plugin/captcha/
>
> Here's my +1 for removing it entirely, breaking backward compatibility, 
> lightening xwiki-core,
> and making the core no longer depend on jcaptcha.
> You may review a patch for removing the plugin here:
> http://jira.xwiki.org/jira/secure/attachment/16508/XWIKI-4779-removeJcaptchaPlugin.patch

-0 for removing captcha plugin

I don't like breaking something when it's not absolutely necessary,
would it be too much work (maybe it's not even possible) to refactor
xwiki-core captcha plugin to use jcaptcha-2.0 ?

>
>
> To provide velocity access to the captcha component for checking the results 
> of the captcha,
> I would like to add a VelocityContextInitializer which will add a binding 
> called $captchaservice
> which will provide 3 methods:
>
> /**
>  * If this is false, the captcha system will still work.
>  * It is for velocity scripts to determine whether captchas are needed.
>  *
>  * @return Is the captcha service enabled in the configuration.
>  */
> boolean isEnabled()
>
>
> /** @return a List of the names of all registered classes implementing 
> {...@link org.xwiki.captcha.CaptchaVerifier}. */
> public List<String> listCaptchaNames()
>
> /**
>  * Get a {...@link org.xwiki.captcha.CaptchaVerifier} from the service.
>  *
>  * @param captchaName The name of the type of captcha, use {...@link 
> #listCaptchaNames()} for a list
>  * @return A captcha object which can be used to check a specific answer for 
> a given challange
>  * @throws Exception If the named captcha doesn't exist.
>  */
> public CaptchaVerifier getCaptchaVerifier(String captchaName) throws Exception

Don't you have something more precise than Exception ? It does not
seems right to me, it should be a specialized exception
(org.xwiki.captcha.InvalidNameException or something). Except for unit
tests a methods that throws Exception generally mean there is
something wrong in the design.

>
>
> I realize throwing an Exception to velocity always results in a stack trace 
> but I see it as the lesser evil to
> returning a non-functional CaptchaVerifier which always returns false. Also I 
> see no use case where the name of
> the captcha is not given in hardcoded velocity so this Exception is only for 
> the velocity developers.
> Here's my +1 for adding this as well.
>
>
> Caleb James DeLisle
>
>
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs
>



-- 
Thomas Mortagne
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to