Page MenuHomePhabricator

Special:Ask in SMW 1.4.2 incompatible with MediaWiki <=1.13
Closed, ResolvedPublic

Description

Author: publicaddress

Description:
On MediaWiki 1.13.4, SMW 1.4.2, I get the following error when going to Special:Ask

Fatal error: Call to undefined method Language::pipeList() in /full/path/to/MWinstallation/extensions/SemanticMediaWiki/specials/AskSpecial/SMW_SpecialAsk.php on line 263

However, when there are search results (e.g., arriving at the page by clicking a "further results" link), the error does not appear.

I tried reverting to MW 1.13.3, but the problem still arose (even after rebuilding all indexes from MW and SMW), but I did not notice it using MW 1.13.3 and SMW 1.4.2 before. I copied SMW_SpecialAsk.php from SMW 1.4.1 into the new 1.4.2 directory, and it seems to work now, however, I don't know if this will break anything else.


Version: unspecified
Severity: normal
URL: http://semantic-mediawiki.org/wiki/Special:Ask

Details

Reference
bz17459

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 21 2014, 10:27 PM
bzimport set Reference to bz17459.

publicaddress wrote:

I also noticed that this same error occurs on the SMW site (as of 2009-02-12-1630 GMT+3):

http://semantic-mediawiki.org/wiki/Special:Ask

Fatal error: Call to undefined method Language::pipeList() in /domains/semantic-mediawiki.org/www/w/extensions/SemanticMediaWiki/specials/AskSpecial/SMW_SpecialAsk.php on line 263

Uh, what a pity that this is discovered one day after the release ... Reassigning this bug to Siebrand who introduced the function call into the code three days ago.

MediaWiki 1.13 does not have Language::pipeList(). As I made r47054 in trunk, the release details for SMW have been incorrect. SMW 1.4.2 is not compatible with MediaWiki below 1.14. I leave it up to the discretion of the lead developer to accept/reject this compatibility. As far as I'm concerned, this report is invalid.

(In reply to comment #3)

SMW 1.4.2 is not compatible with MediaWiki below 1.14.

MediaWiki 1.14.0 RC1 is available for download.

[1] http://lists.wikimedia.org/pipermail/mediawiki-announce/2009-February/000083.html

SMW 1.4 has been compatible with MW 1.11 and above, and it is not our policy to break MW compatibility in minor releases. In any case, the INSTALL file does not reflect this requirement. I have now released a workaround based on replacing the Special_Ask file with the previous revision, available at http://svn.wikimedia.org/svnroot/mediawiki/tags/extensions/SemanticMediaWiki/REL_1_4_2/specials/AskSpecial/SMW_SpecialAsk_MW1.13.php (see also http://semantic-mediawiki.org/wiki/SMW_1.4.2).

Siebrand: I suggest that we try to find some better way of communication among developers in order to avoid such confusions. Is it viable for you to preserve MediaWiki version compatibility of SMW in general, or at least to discuss major requirement changes with us? before committing? We certainly would not want to loose your contributions to the project based on impractical requirements from our side. Do you think that the next major release of SMW should drop all MW <=1.13 compatibility? (Are all major sites updated yet?) We can take this discussion to email, if you like.

I will close this bug by either changeing our requirements for the future, or by modifying special ask to work with MW 1.13 again. Feedback is welcome.

No problem on my side, Markus. As for maintaining compatibility: I kind of agree with your point of view, but I hadn't thought of the 'out of sync with MediaWiki regular releases for SMW' thing. extensions/Wikidata/ has the same thing. OmegaWiki.org is running MW 1.10alpha, which is also kind of bad...

As for dropping support for earlier versions: I would advocate dropping support for SMW with any MediaWiki version that is no longer supported. In general, this is until one year after a 0-point release. A record of this is kept on http://www.mediawiki.org/wiki/End_of_Life_Policy. End of life for MediaWiki 1.12.x is by the end of March 2009, 1.11.x has been end of life for a while. You are of course free to choose any compatibility scheme you choose as the SMW development community, but I think that supporting end of life versions, which may contains unpatched vulnerabilities, etc., will surely have outdated functionality and localisation for the core product, is not in the interest of the users of SMW. It also means that your release cycles require more QA as you get more versions to test compatibility against, which makes development cycles longer, more expensive, etc.

Ok, since at least 1.13 is going to be around for some time, I have modified the code to work with earlier releases again. I have recreated the SMW 1.4.2 release to include this fix, and I have updated the SVN tag. The future policy is to support all living MW versions, unless we explicitly decide against that.