2011年6月22日に、ウィキメディア財団はMediaWikiエンジンの次の安定バージョンであるバージョン1.17をリリースしました。
mediawiki-announce newsletterで対応する英語のニュースを簡単に見つけることができます。これには、変更の詳細なリストとアップグレード手順へのハイパーリンクが用意されています。
このバージョンの主な(そして重要な)ニュースの1つは、独自の
ResourceLoaderエンジンの出現と実装でした。その目的は、「リソース」(1つの共通CSSファイルと1つの共通JavaScriptファイルを収集するJavaScriptおよびCSSコングロマリット)の自動アセンブリです。依存関係(たとえば、jQuery UIはjQueryに依存します)およびその後の縮小。 とにかく、MediaWikiユーティリティスクリプトと
jQuery 1.4.2ライブラリを含む2つのリソースが自動的に接続されます。
jQueryの新しいバージョンを使用したい人は、同じブログで
12日前に話した私のメソッドと拡張機能を
引き続き使用できます。 奇妙なことに、
MediaWiki 1.17での操作性を確保するためにPHPコードの1文字を変更する必要はありませんでした-MediaWikiに組み込まれたjQueryライブラリへの呼び出しを簡単に「噛む」前の機会にもかかわらず、これ
は幸運です完全に消えた。 したがって、ResourceLoaderが古い拡張機能のロードを開始する少し前に、新しい拡張機能が呼び出されるため、拡張機能が「勝ちます」。
どうやら、 jQuery 1.4.2ライブラリは、それ自体の新しいバージョンを置き換えないほど
スマートです。 ただし、現在(1.16とは異なり)私の拡張機能では、jQueryの1つのバージョン(組み込みエンジン)の代わりにダウンロードすることが許可されていないのが残念です。
ResourceLoaderに適応すると、MediaWiki拡張機能とコンポーネントの一部は、おそらくMediaWikiエンジンに組み込まれた(古い)バージョンのjQueryに依存することを学習します(すでに学習している)。 特に、次のバージョン(MediaWiki 1.18)は(wikiの
jQueryページによる
と )それほど更新されていないjQueryライブラリ(
MediaWiki 1.7に対応
するバージョン1.4.2ではなくバージョン1.4.4)で配信されます
-これはUploadWizardが停止したためですjQueryをバージョン1.5.2にアップグレードしようとすると
、 $ .ajax() 関数の新しい動作と互換性がないため、jQueryは必然的
に1.4.4にロールバックされます。 MediaWiki:jQuery.jsページにこの人気のあるjavascriptライブラリの非常に新しいバージョンを配置する場合は、このインシデントに留意してください。
これらすべてに、MediaWiki 1.18で更新されたjQueryライブラリを使用するファンが私の拡張機能を必要としないことを追加(および追加)する必要があります。 MediaWikiのこの将来のバージョンでは、幸いなことに、ResourceLoader内からjQuery
を適切に置き換える
PHPスクリプトを掛けることができる新しいResourceLoaderGetStartupModulesアンカーポイントが追加されました。 昨夜と今夜、開発者のTimo Tijhof(Krinkleという仮名で
ResourceLoaderGetStartupModulesに関するdiffに 「検査済み」フラグ
を掛けた人)は、この機能を使用する拡張機能を作成するという私の要求に親切に同意しました。 (そして、それは必要です、それは必要です!)それは確かにMediaWiki 1.18への移行直後に使用される私の代わりに使用されます、それは別の代わりにjQueryの1つのバージョンを呼び出すことでコード量を節約するからです
最後に、悲しいことについて少し。
MediaWiki 1.16で
正常に機能した$ wgParser-> disableCache()メソッドにより、MediaWiki 1.17はPHPを「
インクルード/パーサー/パーサーモジュールの「致命的なエラー:
非オブジェクトのメンバー関数setCacheTime()の呼び出し
」状態にドロップします。
.php (新しいバージョンのこのメソッドのいくつかの不明確なロジックを示します)。 特に、2007年に
Jim R. Wilsonによって発明され、その後長い間吹き替えられ、私とAlexander MashinによってアップグレードされたEmbedVideo拡張機能は、この問題に悩まされていました。 現在では
、 Tradition 、
Wikireality 、および Cyclopediaで使用さ
れています。 この方法はコメントアウトされただけです-結局、メディアプレーヤーは結局キャッシュすることを許可されます-しかし、最終ページのキャッシュがないことが基本的に必要な拡張機能を著者が考えなければならないと考えるのは怖いです。