| I faced the problem of an ''upgrade'' when I finished my [[ReCaptchaArticleComments|ReCAPTCHA support for article comments extension]]. The [[MediaWiki]] provides two [[wikipedia::Captcha|Captchas]] - basic simple arithmetic question and [[wikipedia::ReCaptcha|ReCaptcha]]. I developed, and debugged my code against the simple one and then just hoped the [[wikipedia::ReCaptcha|ReCaptcha]] will work automatically. [[wikipedia::ReCaptcha|ReCaptcha]] is subclass of basic [[wikipedia::Captcha|Captcha]], so using it instead of the original, shall be without any issues, shalln't it? | | I faced the problem of an ''upgrade'' when I finished my [[ReCaptchaArticleComments|ReCAPTCHA support for article comments extension]]. The [[MediaWiki]] provides two [[wikipedia::Captcha|Captchas]] - basic simple arithmetic question and [[wikipedia::ReCaptcha|ReCaptcha]]. I developed, and debugged my code against the simple one and then just hoped the [[wikipedia::ReCaptcha|ReCaptcha]] will work automatically. [[wikipedia::ReCaptcha|ReCaptcha]] is subclass of basic [[wikipedia::Captcha|Captcha]], so using it instead of the original, shall be without any issues, shalln't it? |
- | That would be too ideal! Of course my code which was OK with [[wikipedia::Captcha|Captcha]] superclass, was completely broken with [[wikipedia::ReCaptcha|ReCaptcha]] subclass. The ''upgrade'' was not painless at all. Why? Because I called some private method in the [[wikipedia::Captcha|Captcha]] which had no meaning in the [[wikipedia::ReCaptcha|ReCaptcha]]. At least I guess it was private implementation method, as in the [[MediaWiki]]'s world of [[API]]-less [[API]]s, one cannot be sure. It was a method and there are no access modifiers, so one cannot tell... Oh, lord, please never force me upgrade whole [[MediaWiki]] installation! Thanks. | + | That would be too ideal! Of course my code which was OK with [[wikipedia::Captcha|Captcha]] superclass, was completely broken with [[wikipedia::ReCaptcha|ReCaptcha]] subclass. The ''upgrade'' was not painless at all. Why? Because I called some private method in the [[wikipedia::Captcha|Captcha]] which had no meaning in the [[wikipedia::ReCaptcha|ReCaptcha]]. At least I guess it was private implementation method, as in the [[MediaWiki]]'s world of [[API]]-less [[API]]s, one cannot be sure. It was a method and there are no [[ClarityOfAccessModifiers|access modifiers]], so one cannot tell... Oh, lord, please never force me upgrade whole [[MediaWiki]] installation! Thanks. |