MediaWiki 1.17エンジンがリリースされました。 jQueryを置き換える私の拡張機能はまだ機能しています。 しかし、将来(MediaWiki 1.18向け)、よりエレガントなソリューションが登場します。

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拡張機能は、この問題に悩まされていました。 現在では TraditionWikireality 、および Cyclopediaで使用されています。 この方法はコメントアウトされただけです-結局、メディアプレーヤーは結局キャッシュすることを許可されます-しかし、最終ページのキャッシュがないことが基本的に必要な拡張機能を著者が考えなければならないと考えるのは怖いです。



All Articles