利用者:Mis0s0up/Proposal/WP:MODULE/Change Tracking
以下はWikipedia:テンプレート・モジュール作成の目安の加筆改訂を目的とした草案 Version 1.0 です。2016年9月7日更新の現行リリース版を継承しています。 原則、内容の改変を禁じます。内容に関するご助言はノートページ上でお願いします。 改訂提案後、一定期間の後に本草案は白紙化される可能性があります。 |
この文書はウィキペディア日本語版の方針やガイドラインとして提案中です。内容に関してノートページで議論を行っています。 |
ウィキペディアでは誰でもテンプレート・モジュールを作成することができます。この文章ではそれらを作成または廃止・削除する基準を紹介します。また基準の一部は、新規作成だけでなく既存テンプレートの改変の際にも援用できます。
【全面的に書き換え】テンプレートの作成目安
[編集]テンプレートには定型メッセージの表示、特定スタイル・レイアウトの定型化、関連記事へのリンク誘導、有益なモジュールやマジックワード・条件文の呼び出しなどの役割があります。しかしこれらの役割を満たしていても、以下に該当する場合は新規作成が認められません。違反を繰り返すと、その開発者はテンプレート荒らしとみなされる場合があります。
テンプレート作成の棄却基準
[編集]- 必要・代替性
- 他の方針・ガイドラインの遵守
- 手続とメンテナンス
必要・代替性
[編集]テンプレートは「雛型」とも訳されるように、一定の型を決めて多用な場で使いまわす、いわば大量生産の機械設備のようなものです。したがって使用頻度が限定される、あるいは大きな変更を伴う可能性の高い内容はテンプレート化に不向きです。#テンプレートの作成手順に従い、事前にテンプレート化のニーズを測ってからの作成を推奨します。作成可否は潜在ニーズを予測せず、現在の顕在化したニーズに基づきます[注 1]。
必要性が認められる場合でも、既存テンプレートの変更・拡張によって代替できないか慎重に比較検討すべきです。既存テンプレートと使用目的を明確に切り分けるべき[注 2]、あるいは既存テンプレートの変更によって悪影響が懸念されるために新規テンプレートへの移行が必要と判断された場合には、新規作成が適しています。
他の重要な方針・ガイドラインの遵守
[編集]記事ページの執筆内容の一部をテンプレート化してはなりません。原則は文中に内部リンクを貼る、あるいは{{main}}や{{further}}などの参照を記述する、記事ページ末尾に関連項目の節を設けて内部リンクを貼るといった方法を採用します。その主な理由は2つあります。
第一に、記事ページよりもテンプレートの方が一般的な編集者にとって技術的な難易度が高いためです[注 3]。重大な問題を発見しても一般ユーザーが修正できず、テンプレートの開発者による実質的な私有化につながりかねません。
第二に、記事の一部をテンプレート化する行為は、不適切なページ分割・統合とみなされることがあるためです[注 4]。記事ページの分割には特筆性や記述ボリュームの観点が問われます。テンプレート化に際しても同様の判断基準が適用されます。
手続とメンテナンス
[編集]作りかけのテンプレートを放置したり、開発途中のテンプレートに貼る{{Template rating}}を悪用したりしてはなりません。これは書きかけの記事ページが「役に立つスタブ」と「サブスタブ」に区別され、意味のないサブスタブを規制するのと同様の理由です。さらにテンプレートでは記事ページ以上に厳格性を求めます。なぜなら、記事ページは書きかけであっても検索によって偶然人々の目に留まることがありますが、最低水準に達していないテンプレートは記事ページで活用されることなく、その存在さえも忘れられるからです。
また記事ページで検証可能性が厳密に問われるように、テンプレートにおいても開発者以外の第三者が容易に検証できる機会を担保しなければなりません。テンプレートの開発者は定められた手順で十分な動作検証を行い、留意点や用法をテンプレートの解説文書やノートページで明文化します。新規テンプレートの導入後は、適切な場で告知します。
【新規】テンプレートのパターン別留意点
[編集]過去に発生した問題点や解決方法などを、テンプレートのパターン別に例示します。
定型メッセージの表示
[編集]{{aimai}}、{{sakujo}}、{{告知}}、{{要出典}}などの警告・注意喚起メッセージのほか、{{Flagicon}}、{{賛成}}など視覚化を補助するテンプレートが代表例です。これら定型メッセージは見栄えを優先して、デバイス互換性や色覚異常といったアクセシビリティへの配慮が疎かになりがちです。また警告・注意喚起はメッセージ文が改訂されることが多く、テンプレート開発時に使用パターン (ユースケース) の洗い出しが不十分であったり、第三者によるメッセージ文の査読が不十分だったことに起因します。
特定スタイル・レイアウトの定型化
[編集]{{reflist}}、{{div col}}など記入レイアウトを整えるジャンル横断テンプレートがあります。また{{Infobox}}や{{生物分類表}}などの基礎情報ボックス、囲碁で使用される{{碁盤 9x9}}など、特定ジャンルに特化して記入を定型化するテンプレートが該当します。
ジャンル特化型のテンプレートは、事前のニーズ確認なしで作成され、後に必要性の観点から廃止・削除が提起される、あるいは一部表示項目が削られる、使用できるシチュエーションが制限されるといったケースが多く存在します。また、合意形成を経て削除されたテンプレートが復活作成される編集合戦も一部で起こっています。このような経緯を踏まえ、テンプレートの作成・使用だけでなく、記事ページ全体の推奨スタイル・レイアウトを定義しているプロジェクト[注 5]もあります。
関連記事へのリンク誘導
[編集]{{Navbox}}や{{Sidebar}}を使って作成されたナビゲーションテンプレートが該当します。カテゴリや関連項目、一覧系の記事ページとの使い分けが曖昧で、しばしばナビゲーションテンプレートの要否を巡って意見が対立することがあります。
ナビゲーションテンプレートの利点の一つに、書籍の目次に類する効果があります。特定のテーマに関連する記事群を一定の体系で集約し、順を追って通読することで、テーマ全体の理解が深まります[注 6]。換言すると、単に同一テーマに属するという理由で、互いに前後・因果関係のない内部リンクをむやみにナビゲーションテンプレートに追加する行為は、読者をナビゲートしているとは言えず、誤った使い方です。
単純に同一テーマで記事を括りたい場合は、カテゴリの使用が適しています。その後、カテゴリに一定数の記事ページが登録された時点で、ナビゲーションテンプレートとしてリンクすべき内容を取捨選択する段階的なアプローチが推奨されます。
体系的にまとめるという観点で、関連項目との使い分けも比較検討します。関連項目の利点は、記事ページごとに関連性の高い内部リンクを厳選して記述できる個別・柔軟性にあります。一方、関連項目に掲載する内部リンクが常に固定していて、多数の記事ページで頻出する場合は、関連項目をナビゲーションテンプレート化することができます。したがって関連項目とナビゲーションテンプレートの使い分けは、内部リンク数の多寡ではなく、内部リンク集の定型化の観点で判断します。
なお、関連項目は記事本文の一部として扱われますが、ナビゲーションテンプレートとカテゴリは付加機能の扱いとなり、通常はモバイルビューやモバイルアプリで表示されません。内部リンク数が増えて関連項目の可読性が低下した場合は、ナビゲーションテンプレート化するのではなく、一覧系の記事ページを立項する方法も検討してください。
他言語版の翻訳
[編集]他言語版のテンプレートを翻訳する形で日本語版テンプレートを新規作成することがあります。作成基準は同じですが、翻訳ならではの不具合が発生しやすいため注意が必要です[注 7]。
またテンプレートの動作検証だけでなく、解説文書の翻訳も責任を持って行います。テンプレート本体の翻訳開発と解説文書の翻訳を分業することも可能ですが、新規テンプレートの運用を開始する前に解説文書の抄訳を済ませるべきです[注 8]。
テンプレートおよび解説文書にもライセンスが発生するため、翻訳の際には要約欄への版情報の記入が必須です。
【新規】テンプレートの作成手順
[編集]テンプレートはアカウントを取得していないIPユーザーでも作成できますが、アカウント取得とログインを強く推奨します。テンプレート化のニーズ把握、テンプレートの下書きと動作検証、不具合発生時の修正など、テンプレート開発者には一定期間継続して関与と説明責任が求められるためです。
- テンプレート化のニーズ把握
以下の場で意見を募ります。必要性・代替性の基準チェックだけでなく、テンプレートの命名、表示する項目、メッセージ文やレイアウトなどの大まかな仕様も議論を深めておくのが望ましいです。
- 特定記事ジャンル: 各種プロジェクト (プロジェクトがない場合はノートページで提起の上、Wikipedia:コメント依頼などで告知)
- ジャンル横断: プロジェクト:テンプレート
より漠然としたニーズを測るには、井戸端への投稿も可能ですが、ある程度の方向性が見えてきた段階でプロジェクトやノートページに議論の場を移すことが望まれます。
- テンプレートの下書きと動作検証
ログインユーザーが新たなテンプレートの下書きを書くときは利用者サンドボックス(解説)、テンプレートを試すときは特別:テンプレートサンドボックスを使用できます。
下書きを終えたら、テンプレート開発者以外の第三者に動作検証への協力を告知します。特に開発者の環境では検証しきれないデバイスやブラウザの互換性は、第三者からの協力が不可欠です。テンプレートに付属する解説文書は、動作検証の時点では簡易で構いませんので、提案したプロジェクトや記事ページのノート、またはテストケース上に記述します。これは第三者による動作検証を円滑に進める上で重要です。
- テンプレート導入後
新規テンプレートを導入したら、プロジェクト:テンプレートやWikipedia:お知らせなどで告知します。
また動作検証の規模や安定性に即し、テンプレートのステータスを表す{{Template rating}}を貼り付けることができます。掲載期間はアルファ段階で3か月、ベータ段階は6か月を期限の目安とします。この掲載期間はテンプレートの運用実績と不具合を評価するために設けられています。そのため掲載の期限が到来したからといって、導入後の評価を何ら行わず、ステータス表示テンプレートを剥がしてよいわけではありません。また導入後の評価が十分に行われたならば、掲載期限の到来を待たずして剥がして構いません。なお、プレ・アルファ段階は下書きや動作検証中に開発者が貼り付けるか、既に導入されているにもかかわらず作りかけのテンプレートを発見した第三者が貼り付けるためのものです。
【変更なし】モジュールの作成
[編集]モジュールは、上述の#テンプレートの作成を認める場合、かつ、以下に挙げる目的・理由のいずれかに当てはまる場合に、作成できます。不必要なモジュールは作成しないでください。テンプレートをモジュール化する場合は議論で合意を得てから行ってください。
- テンプレートで行っていた処理を高速化するため
- 同一のページで繰り返し使用されることが想定され、結果的にページの読み込みが高速になる場合も含みます。
- 内部テンプレートに頼っていた処理を1つにまとめるため(例:Module:Tracklist)
- テンプレートでは不可能または複雑すぎる処理をするため(例:Module:String)
- 無限個の引数に対応するため(例:Module:定義リスト2)
- 上記4項目のうちいずれかを満たすモジュールを成立させるため(メタモジュール)
- 特別にモジュールを解説するため(例:Module:HelloWorld)
モジュールに使用するLuaは高速な言語ですが、テンプレートのみの状態でも構造が簡単な場合は、モジュールを経由することで逆に読み込みに時間がかかることもあります。モジュール化の際は、テンプレートとモジュールの利点と欠点を考慮しましょう。
登録利用者が新たなモジュールの下書きを書くときはモジュール:サンドボックス/自分の利用者名/任意のモジュール名を使用してください。
- 作成済みモジュールサンドボックスの一覧
【大幅加筆】廃止・削除
[編集]修正で対応できるテンプレート・モジュールを廃止・削除してはなりません。また修正では本書の基準を満たせない場合でも、テンプレート・モジュールの削除は影響が大きいので、慎重に考えるべきです。廃止・削除は当該テンプレートのノートページで提案の上、コメント依頼や適切なプロジェクトへの告知をして広く意見を求めましょう。
テンプレートの廃止と削除の違いは以下の通りです。。
- 廃止した場合、呼び出しているページにはテンプレートがそのまま表示されます。
- 削除した場合、呼び出しているページには赤リンクが表示される状態になります。
これらは最新版のみならず過去の版においても同様の状態となります。
不要と判断された以上は、廃止・削除のどちらを選んでも呼び出している記事ページからは速やかに除去されるべきです。しかし履歴保全の観点から、ノートページやWikipedia名前空間からは除去すべきではありません。除去すべき対象ページが多岐に渡り、かつ単純な置換であれば、Wikipedia:Bot作業依頼も検討できます。
修正・移動
[編集]{{Cleanup-template}}を貼り付け、修正ポイントをノートページで指摘します。また{{色の使用}}やデバイスによって表示が異なる警告{{Template display}}など、用途に応じて使い分けます。修正作業中の場合は{{Inuse}}などを使用できます。
改名や曖昧さ回避の目的でテンプレート名を修正する場合は、記事ページの移動で示された基準と手続を適用します。
廃止
[編集]廃止を選択する目安は、テンプレートが過去の版において表示される方が望ましい場合です。以下のケースが考えられます。
- 不要なテンプレートだと明示する必要がある場合
- 重複したテンプレートを統合した場合
- 新たなテンプレートを作成して旧テンプレートから移行する場合
1の場合、削除ではなく廃止を選択することで、不注意あるいは荒らしによる意図的な復活作成の抑止につながります。廃止・削除の議論はすべて保存されますが、テンプレート自体が削除されるとその議論の経緯・理由が理解できなくなります。その結果、復活作成されたテンプレートを再び削除する際に、合意形成を一からやり直すことになります。翻訳によって作成されたテンプレートが、翻訳元の言語版で削除扱いとなっても、日本語版では廃止を選択することが望ましいです。
廃止されたテンプレートには、それまでの機能を維持したまま{{廃止されたテンプレート}}を貼って下さい。#移動を除き原則、削除や白紙化は過去の版に影響するので行わないでください。移行・統合の場合も、白紙化して移行・統合先にリダイレクトしてはなりません。代わりに{{廃止されたテンプレート}}の引数で移行・統合先を指定できます。
Wikipedia:保護の方針#保護をかけてもよい場合に該当するため、廃止されたテンプレートを編集されないよう、全保護あるいは半保護を申請することもできます。
削除
[編集]削除を選択する目安は、テンプレートが過去の版にほとんど影響を与えない場合です。例えば、テンプレートが
- subst展開でのみ使用される場合や内部テンプレートである場合
- 使用されている過去の版がWikipedia:削除の方針に合致する場合
などです。2の場合は、その版が削除依頼を経て削除され、その後にテンプレートについて削除を依頼するという手順が望ましいでしょう。なお、法的に問題がある場合は速やかに削除依頼を提出してください。
削除依頼は当該テンプレートのノートページでの議論で削除の合意を得てから、行ってください。削除依頼の理由には、議論による旨を伝え、議論したページのリンクを示しましょう。
【変更なし】関連項目
[編集]- プロジェクト:テンプレート
- Help:テンプレート - テンプレートの説明
- Help:テンプレート早わかり - テンプレートの簡単な説明
- Wikipedia:Lua - モジュールの説明
- en:Wikipedia:Template standardisation - テンプレートの標準化について(英語)
- en:Wikipedia:Lua - モジュールの詳細な説明(英語)
脚注
[編集]- ^ 過去に棄却された新規テンプレートであっても、後の状況変化に伴ってニーズが新たに発生することもあります。
- ^ 例えばInfoboxを使用して作成された{{基礎情報 会社}}は日本の企業法務や会計に適しており、{{Infobox Company}}は日本国外の企業に適しています。
- ^ 同様の理由で、マークアップが複雑化する表形式よりも単純な箇条書きが優先されるケースがあります。
- ^ スポーツ大会の優勝者を年次で一覧にしてナビゲーションテンプレートにしたケースが不適切な記事ページ分割の一例です。同一選手が複数年で優勝した場合、選手名の内部リンクが複数回表示され、ナビゲーションの意味が薄れます。
- ^ プロジェクト:日本の市町村がその一例です。プロジェクトのサブページでは{{日本の市}}や{{日本の町村}}を挿入した記事全体のページ構成を雛型として提示しています。
- ^ {{Wikipediaの方針とガイドライン}}や{{経済学}}が例として挙げられます。
- ^ 新たに作成しようとするテンプレートが、既存テンプレートを参照読み込みしている場合、既存テンプレートが他言語版と日本語版で異なる仕様のため、想定外の動作を起こすこともあります。例えば英語版では単語の切れ目で自動的に改行されますが、日本語版では改行されず、レイアウトが崩れるといった不具合が考えられます。また英語で記入された日付が日本語に自動変換される結果、テンプレートが肥大化してページの読み込みが遅くなる可能性もあります。
- ^ 抄訳とは部分訳であり、テンプレートの目的・概要と引数の項目名は最低限、テンプレートの運用開始前までに抄訳しなければなりません。またテンプレートの孤立化を防ぐため、適切なカテゴリを登録する必要があります。その他の内容は、運用開始後に段階的に解説文書を翻訳しても構いません。