Phabricator のプロジェクト名 #MobileFrontend

Extension:MobileFrontend

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page Extension:MobileFrontend and the translation is 100% complete.

Other languages:
Deutsch • ‎English • ‎Tiếng Việt • ‎dansk • ‎español • ‎français • ‎occitan • ‎polski • ‎русский • ‎中文 • ‎日本語 • ‎한국어

MobileFrontend」拡張機能は:

  • モバイルトラフィック向けの独立したモバイルサイトを作成します。
    • システム管理者は Skin:MinervaNeue のような異なる外装を提供できます。
  • コンテンツをより扱いやすくするため、様々なコンテンツ整形機能を提供します。
    • 特に節の折り畳みならびにコンテンツの再配列および除去。
    • モバイル用のフッターをシンプルにし、デスクトップ用/モバイル用を切り替えるリンクを追加します。
  • モバイルフレンドリーでない MediaWiki ページの代わりとなる特別ページを提供します - Special:HistorySpecial:ContributionsSpecial:MobileCiteSpecial:WatchlistSpecial:PreferencesSpecial:MobileDiff
  • 特別ページ Special:Nearby、Special:MobileOptions (モバイル用外装設定)、Special:MobileLanguages(言語の選択用)、Special:MobileMenu(モバイル外装における JS 非使用のメニューサポート用)および Special:Uploads(モバイルフレンドリーな画像アップロード画面用)を提供します
  • 試験的機能を追加するための匿名利用者用機能管理システムである、ベータモードを提供します。


MediaWiki 拡張機能マニュアル
OOjs UI icon advanced.svg
MobileFrontend
リリースの状態: 安定
MediaWiki-Vagrant MobileFrontend Extension.png
実装 User interface, Hook
説明 モバイル・フレンドリーな表示を提供します。
作者
最新バージョン 2.1.0
互換性ポリシー リリースブランチ
MediaWiki 1.31+
PHP 5.5.9+
ライセンス GNU General Public License 2.0 or later
ダウンロード
README
m.mediawiki.org
使用するフック
APIGetAllowedParams
APIAfterExecute
APIGetParamDescription
APIGetDescription
RequestContextCreateSkin
MediaWikiPerformAction
OutputPageBeforeHTML
SkinAfterBottomScripts
SkinTemplateOutputPageBeforeExec
BeforePageRedirect
DiffViewHeader
ResourceLoaderTestModules
GetCacheVaryCookies
TestCanonicalRedirect
ResourceLoaderGetConfigVars
SpecialPage_initList
ListDefinedTags
ChangeTagsListActive
RecentChange_save
AbuseFilter-generateUserVars
AbuseFilter-builder
SpecialPageBeforeExecute
UserLoginComplete
BeforePageDisplay
CustomEditor
GetPreferences
GetBetaFeaturePreferences
Gadgets::allowLegacy
CentralAuthLoginRedirectData
CentralAuthSilentLoginRedirect
ResourceLoaderRegisterModules
EventLoggingRegisterSchemas
OutputPageParserOutput
HTMLFileCache::useFileCache
LoginFormValidErrorMessages
ResourceLoaderGetLessVars
ThumbnailBeforeProduceHTML
PageRenderingHash
AfterBuildFeedLinks
MakeGlobalVariablesScript
TitleSquidURLs
MediaWikiServices
提供するフック
SkinMinervaDefaultModules
MobileLicenseLink
MobileSiteOutputPageBeforeExec
MobileSpecialPageStyles
MobileFrontendBeforeDOM
MinervaPreRender
MobileMenu
BeforeSpecialMobileDiffDisplay
EnterMobileMode
GetMobileUrl
BeforePageDisplayMobile
SpecialWatchlistQuery
SpecialMobileEditWatchlist::images
translatewiki.net で翻訳を利用できる場合は、MobileFrontend 拡張機能の翻訳にご協力ください
使用状況とバージョン マトリクスを確認してください。
問題点 未解決のタスク · バグを報告

このページは、開発インスタンスにインストールしようとする利用者向けです。また開発したり、改良を手伝ってくださる方の参加もお待ちしています。

要件

  • この拡張機能の動作には MediaWiki には必要条件はありませんが、 PHP の mbstring のサポートが必要です。

MobileFrontend をインストールする前に、テンプレートやインラインのCSSスタイル(style属性)を多用している場合には、モバイルに適しているかコンテンツを見直してください。 TemplateStylesの拡張機能は モバイルやデスクトップにて、コンテンツがうまく描画されるようデザインするのに使えます。MobileFrontend には、魔法のような修正をかける機能はありません!

特に、ランディングページ(ホームページ)を見直してください。 モバイル・ゲートウェイ/モバイル用ホームページ整形を参照してください。

インストール

  • Vagrant を使用している場合は、vagrant roles enable mobilefrontend --provision でインストールしてください
手動インストール
  • ダウンロードして、ファイルを extensions/ フォルダー内の MobileFrontend という名前のディレクトリ内に配置します。

Nearby のセットアップ

MobileFrontend は、わずかな設定で Special:Nearby (特別:付近)ページを提供します。このためには少しオプションの設定が必要です。

  1. ブラウザのセキュリティを確保するため、SSL経由の安全なサイトで実行する必要があります。HTTP経由で利用者の位置情報を要求することはできません。
  2. GeoData 拡張機能 をインストールする。
  3. update.php を実行する。
  4. LocalSettings.php に $wgMFNearby = true; を追加する
  5. 記事の座標を決定する:
    1. 1 つ以上のページにデータを追加する {{#coordinates:37.786971|-122.399677|primary}} 構文の詳細については GeoData の説明書を参照してください。
    2. LocalSettings.phpファイルに$wgMFNearbyEndpointを設定することで、Nearby に別のMediaWiki インスタンスを使用することもできます。 たとえば、$wgMFNearbyEndpoint = 'https://en.m.wikipedia.org/w/api.php';は英語版ウィキペディアの記事の座標を使用します。この NearbyEndpoint は、その位置情報に関連するコンテンツを見つけるために使用されます。

外装のセットアップ

既存のデスクトップ版サイトと並行して、MobileFrontend はモバイル用に成形されたウェブサイトを提供します。必要なら外装を使用できます。

 // Choose one of these and add chosen code to bottom of LocalSettings.php file:
 wfLoadSkin( 'MinervaNeue' );
 $wgMFDefaultSkinClass = 'SkinMinerva'; // use Minerva skin (You need to download and install it separately, otherwise you'll get an exception)
 wfLoadSkin( 'Vector' );
 $wgMFDefaultSkinClass = 'SkinVector'; // use Vector skin
 wfLoadSkin( 'Timeless' );
 $wgMFDefaultSkinClass = 'SkinTimeless'; // use Timeless skin

以下の外装は MobileFrontend と互換性があります:

環境設定

Special:MyLanguage/Extension:MobileFrontend/Configurationを参照。

追加の調整

以下のオプションの関連機能を追加することで MobileFrontend を最大限に活用できます。

部分的なカスタマイズ

CSSスタイル

モバイル様テーマに CSS を適用するには、MediaWiki:Mobile.css を編集してください。これは MediaWiki:Common.css と同等のものです。

MobileFrontend は、広範に適応されている MediaWiki:Common.css を読み込まず、利用者のスタイルシートをどれも読み込みません。

詳細情報

デスクトップのブラウザやモバイル版を表示しない端末から、モバイル拡張機能をテストしたい場合、以下のキーと値の組み合わせをクエリの文字列に追加します:?useformat=mobile 例:https://en.wikipedia.org/wiki/Chuck_Schuldiner?useformat=mobile

ベータ版機能をサイト全体で有効にすることなく、ページをベータ版で表示したい場合、任意のページのクエリ文字列に追加することができます。

MobileFrontend の歴史の長い機能

MobileFrontend は、長く使われ巨大な拡張機能になっています。多くの機能は、必要以上になっている、あるいはいずれそうなるでしょう。 そうした機能を挙げていきます。

API

API は MobileFrontend 拡張機能によって提供されていますが、私たちは、長期的には Mobile Content Service を優遇していき、API を廃止する予定です。これらのAPIは自己責任で使用してください。消去される可能性あります(とはいえ十分にお知らせしてからです)。

モバイルビュー API

Extension:MobileFrontend/MobileViewAPI を参照。

拡張された action=parse

action=parse は追加の引数を受け付けます:

mobileformat=
モバイル用に成形された HTML を返します。 1.23+ MediaWiki 1.23 より前では、mobileformat=html を指定してモダンな携帯電話向けの HTML を出力するか、mobileformat=wml を指定して低機能な携帯電話向けの WML を出力することができました(詳細はメーリングリストのメッセージを参照してください)。
noimages
モバイル用の出力で画像を無効にします。
mainpage
モバイルにメインページ変換を適用します。

例:


meta=siteinfo

一般的な siteinfo 情報の mobileserver キーから、サイトのモバイル版のドメイン(通常のドメインと同じでない場合、同じ場合があります)を取得することができます。

開発者/システム管理者向け

外部ウィキ上の記事を使ったテスト(ライブデータ)

MobileFrontend は、他の MediaWiki インスタンス由来の記事をローカルに表示するよう設定することができるようになりました[1] 。これは、様々なテンプレートや Wikibase 識別子に依存している可能性がある記事をプロダクションからローカルインスタンスに取り込むことなく、ローカルに問題をデバッグすることに役立ちます。プロダクション使用では推奨されません。

以下のコードは、あなたのローカル MediaWiki モバイルサイトを Wikivoyage ビューアに変えます。

$wgMFContentProviderClass = 'MobileFrontend\ContentProviders\MwApiContentProvider';
$wgMFMwApiContentProviderBaseUri = 'https://en.m.wikivoyage.org/w/api.php';

これは特に、wgMFDefaultSkinClass 構成設定を使用する異なるモバイル外装をテストするときに役立ちます。

モバイルビューの利用

ウィキメディア財団のサイト群

Wikimedia 財団の運営するサイトでは、デバイスのユーザーエージェントを調べるために Varnish キャッシュサーバーを利用しています。

ウィキメディア財団以外のサイト

ウィキメディア財団以外のサイトでは、ウィキメディア財団で行われる動作(プロキシ層でのデバイス検出および固有の X-Device ヘッダ設定)を模倣するように設定するか、記事がモバイルビューを使うように切り替えるため単に "?useformat=mobile" を使うことができます。

スナップショットバージョン 1.28 より、既定の $wgMFMobileHeader は X-WAP から X-Subdomain に変更されました。 $wgMFMobileHeader = 'X-WAP';を設定するか、キャッシュ (Varnish) ヘッダー設定を変更することができます。 それらが一致する限り。

よくある質問

議論ページで、以下の質問が頻繁にあります。議論ページでそれらについて投稿する前にこの一覧を確認するか、もし可能ならば、既存の議論トピックを使用して説明を受けてください。

Q:Minerva 外装のメインメニューをカスタマイズするにはどうしますか?

A:この件について phabricator で議論されていますが、Topic:Tiggc18fvd3stmsf に暫定的な解決策が掲載されています。

Q:Minerva 外装に広告や追加の script タグのような HTML を追加するにはどうしますか?

A:スキンのテンプレートファイル(現在は include/skins/minerva.mustache)を編集することによって可能です。詳細については、この議論を参照してください。

Q:使用している拡張機能が MobileFrontend では動作しないようです。なぜでしょうか?

A:おそらく、拡張機能が古く、MobileFrontend との互換性を追加する必要があります。拡張機能の開発者に連絡し、ResourceLoader/Writing a MobileFrontend friendly ResourceLoader module を参照するようお伝えください。迅速に対応してもらうには、議論ページに投稿するのではなく、この場合は Phabricator(あなたの MediaWiki.org 利用者名を使用してログインできます)でバグを報告するのがよいでしょう。

Q:MobileFrontend を更新すると、致命的な例外が発生してしまいました!

A:おそらく互換性のないバージョンの MobileFrontend と MediaWiki を使用しています。多くの場合、ここではお力になれません。問題を解決するには、MobileFrontend または MediaWiki を更新してみてください。

Q:MediaWiki の更新後、wgMFDefaultSkinClass is not setup correctly という例外が発生します。

A:現在、MobileFrontend は MinervaNeue 外装がインストールされていることを前提とします。インストールしていない場合は、上記の説明に従い、この外装をインストールしてモバイル外装として設定する必要があります。

拡張機能の開発者向け

既定では、拡張機能内のリソースモジュールはモバイルビューでは読み込まれません。

モバイルビューでもモジュールが読み込まれる必要がある場合には、この MobileFrontend フレンドリーなモジュールを書くためのガイドが役立つでしょう。

関連項目

脚注

  1. こちらの YouTube デモビデオを参照してください