Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
MediaWiki Tipsfor saveMLAK   [[利用者:Ninomy]]      2011-08-27        Wikiばな
自己紹介●   Ninomy (にのみー) といいます    ●   [[User:Ninomy]] or @ninomy●   ウィキメディアンです (2004-)    ●   日本語版ウィキブックス (フリー教科書)    ●   日本語...
もくじ●   MediaWikiのかんたんなご紹介●   管理者●   メインページ
もくじ●   MediaWikiのかんたんなご紹介●   管理者●   メインページ
MediaWiki●   オープンソースのウィキエンジン    ●   Wikipedia    ●   Wikimedia projects    ●   Wikia    ●   アンサイクロペディア    ●   チャクウィキ    ● ...
MediaWiki の特徴●   編集履歴の管理    ●   多言語対応●   ウォッチリスト    ●   ユーザ管理●   名前空間       ●   リダイレクト●   テンプレート     ●   全文検索●   署名       ...
MediaWiki の特徴●   編集履歴の管理    ●   多言語対応●   ウォッチリスト    ●   ユーザ管理●   名前空間       ●   リダイレクト●   テンプレート     ●   全文検索●   署名       ...
もくじ●   MediaWikiのかんたんなご紹介●   管理者●   メインページ
そもそも●   MediaWikiでできること    ●   記事を読む    ●   記事を書く    ●   記事の移動    ●   記事を消す    ●   ファイルのアップロード    ●   ファイルの閲覧・編集(上書き)    ●...
デフォルトで入っている  権限は何種類?
read edit createpage createtalk move movefile move-subpages move-rootuserpages createaccount uploadreupload        reuploa...
利用者グループ●   おもなもの:    ●   匿名利用者               See also:                            [[Special:UserGroupRights]]    ●   利用者  ...
利用者グループと権限のイメージビューロクラット     権限操作 利用者名変更         削除 復帰 投稿ブロック ページ保護 管理者       保護ページの編集  編集の差し戻し   登録利用者          半保護ページの編集 ...
各論
利用者 (user)●   匿名利用者    ●   ページの読み書き●   アカウント作成後4日以内の登録利用者    ●   ページの移動 (名前変更)    ●   スパム認証がなくなる●   自動承認された利用者    ●   半保護さ...
管理者 (sysop)●   ページの削除●   削除した版の閲覧・復帰●   編集制限    ●   投稿ブロック        –   ユーザ単位    ●   編集保護・半保護        –   ページ単位・ユーザ権限単位●   保護...
ビューロクラット (bureaucrat)●   「管理者」の上位権限    ●   管理者権限を持っていることが必要●   ユーザ権限操作    ●   他人を管理者・ビューロクラット・ボットにする●   利用者名変更    ●   利用者名...
ボット (bot)●   大量編集をする自動プログラム    ●   昔は「最近の更新」がボットで埋まった●   ボットフラグのついたアカウントの編集は,    「最近の更新」ではデフォルトで非表示になる    ●   フラグの付与は慎重に
管理者って偉いの?
利用者権限とコミュニティ運営      サーバ管理者     ビューロクラット        管理者       登録利用者      新規登録利用者       匿名利用者   MediaWikiシステムの権限階層
利用者権限とコミュニティ運営       プロジェクト         運営者     ビューロクラット       管理者      登録利用者      新規登録利用者      匿名利用者  一般的なコミュニティの`ヒエラルキー     ...
管理者の位置づけ●   `sysop権限をもつ人    ●   あえて「シスオペ」と呼ぶ人も    ●   sysop = system operator    ●   Administratorとも●   管理操作を「する人」    ●   ...
誰が管理者になるの?●   「誰でもいい」とするコミュニティもある●   管理権限の濫用があっても困る    ●   問題なさそうな人に権限を与える        –   コミュニティベースだったり        –   トップダウンだったり●...
管理者って偉いの?●   プロジェクト運営上は一般利用者と同じ発言力    ●   みんなで決めたことを決まった通りに実行するだけ    ●   ウィキ運営上の `雑用係        –   荒らし対応でむしろ本来の仕事ができなくなることも ...
saveMLAKの管理者●   管理者14人(うちビューロクラット6人)●   ビューロクラットが必要だと思った人に必要に    応じて管理者権限を与えているらしい    ●   僕が管理者になった理由:         なってくれと言われたか...
まとめ●   MediaWikiの管理者は偉くない●   管理者権限であることとプロジェクト運営上の    「偉さ」は独立●   具体的運用法はコミュニティしだい
もくじ●   MediaWikiのかんたんなご紹介●   管理者●   メインページ
メインページTopics:●   いきさつ●   しくみ●   つくりかた
メインページへの要求●   多言語対応    ●   日本語/英語/中国語それぞれのメインページ    ●   スタイルは統一させたい●   SaveMLAKじゃない!saveMLAKだ!    ●   MediaWikiデフォルトでは記事名前...
課題と解法●   同じ修正を複数のページでやるのはバカらしい    ●   統一したページスタイルの情報は一元化    ●   本文の情報は言語別に管理    解法: テンプレートによる部品化●   大文字始まりがMediaWikiデフォルトの...
大文字始まりについて
SaveMLAK → saveMLAK●   MediaWikiの記事名は基本的に大文字始まり●   LocalSettings.php で小文字始まりを有効に        $wgCapitalLinks = false;●   別解: ペー...
CSS●   MediaWikiのCSSもWikiページ上で編集可能    ●   [[MediaWiki:Common.css]] (共通CSS)    ●   [[MediaWiki:Vector.css]] (Vectorスキン用CSS)...
テンプレートによる ページの部品化
ソースを見てみよう テンプレート呼出
テンプレート●   テンプレート:名前空間のページ●   {{hogehoge}}と記述すると[[テンプレー    ト:hogehoge]]の内容がそのまま埋め込まれる●   定型文の挿入や統一されたスタイルの表の挿入    などに使うのがふつう
一般的なテンプレートのつかいかた
[[テンプレート:メインページ]]
本当の姿       ●   枠だけ       ●   さらに本文と           見出しを呼び           出している
つまり日本語の 英語のメインページの要求             {{メインページ}}   日本語の                          英語の             (デザイン枠)の要求                    ...
本文の管理
本文の管理●   表示したい言語の本文を表示させたい    ●   英語版を表示したいのに日本語表示じゃ困る●   本文はメインページの子構造とみる    ●   サブページでまとめて管理
サブページ●   文書の階層構造(木構造)    Hoge        Hoge/fuga        Hoge/piyo          Hoge/piyo/foo        Hoge/bar●   デフォルトでは記事名前空間では無...
xx語版     デザインメインページ /見出しリスト   /本文  oo語版メインページ /見出しリスト   /本文
なぜ可能なのか?{{Hoge}}  [[テンプレート:Hoge]]を読み込む{{:Hoge}}  [[Hoge]]を読み込む{{/Hoge}}  表示させたいページのサブページからHogeを探して  [[xx/Hoge]]を読む  –   {{...
saveMLAKメインページ構造●   saveMLAK         ●   saveMLAK/en●   saveMLAK/h       ●   saveMLAK/en/h●   saveMLAK/area    ●   saveMLA...
テンプレート  Tips
テンプレート引数●   テンプレートには引数を渡すことが可能    ●   {{Hoge|わたし|Ninomy}}と書くと        –   [[テンプレート:Hoge]]に        –   第1引数として文字列`わたし       ...
パーサ関数と条件文●   引数の値に応じて条件分岐や代数演算が可能●   [[saveMLAK/h]]では switch 文を使用     C言語の switch-case 文に相当     {{#switch:{{{1}}}     |hog...
<noinclude><noinclude>...</noinclude>●   テンプレートページには書くが他ページからの読み    込み時は無視<includeonly>...</includeonly>●   読み込み専用で,テンプレート...
マジックワード●   サイトやページの情報を取得して表示する     {{PAGENAME}}: ページ名     {{NUMBEROFARTICLES}}: 記事の総数       etc.
くわしくは●   Wikipediaを参照してください    ●   [[w:Help:テンプレート]]    ●   [[w:Help:条件文]]    ●   [[w:Help:マジックワード]]
ということは
わざわざサブページ使わなくても●   {{メインページ|ja}}などと引数に言語名書け    ばよかった●   というかむしろ同じ内容で別言語が同じページ    にまとまってた方が管理はラク
別解              デザイン  xx語版メインページ           /見出し                 /本文1  oo語版           /本文2メインページ
自己弁護●   テンプレート引数やパーサ関数を多用すると,    慣れた人じゃないと何やってるかも読めない    ●   引数が増えるぶん[[テンプレート:メインページ]]        の中身は複雑になる    ●   触る人がほぼ固定されて...
まとめ●   メインページはサイトの顔なので適切にアクセ    スコントロールしましょう●   テンプレートを使って部品化すると管理がラク    です●   うまく部品化しないと面倒なことになります
Upcoming SlideShare
Loading in …5
×

MediaWiki Tips for saveMLAK - wikibana

2,141 views

Published on

MediaWiki tips used in saveMLAK (http://savemlak.jp/) website. Presentation in wikibana http://wikibana.socoda.net/

Published in: Technology
  • Be the first to comment

  • Be the first to like this

MediaWiki Tips for saveMLAK - wikibana

  1. 1. MediaWiki Tipsfor saveMLAK [[利用者:Ninomy]] 2011-08-27 Wikiばな
  2. 2. 自己紹介● Ninomy (にのみー) といいます ● [[User:Ninomy]] or @ninomy● ウィキメディアンです (2004-) ● 日本語版ウィキブックス (フリー教科書) ● 日本語版ウィクショナリー (フリー多機能辞典) – etc.● ふだんは東京で大学生 (B4) やってます ● きのう院試がおわりました● saveMLAKでは (いまは) 特になにもしてません ● sysopは持ってます
  3. 3. もくじ● MediaWikiのかんたんなご紹介● 管理者● メインページ
  4. 4. もくじ● MediaWikiのかんたんなご紹介● 管理者● メインページ
  5. 5. MediaWiki● オープンソースのウィキエンジン ● Wikipedia ● Wikimedia projects ● Wikia ● アンサイクロペディア ● チャクウィキ ● SaveMLAK (+SMW) – etc. http://www.mediawiki.org/
  6. 6. MediaWiki の特徴● 編集履歴の管理 ● 多言語対応● ウォッチリスト ● ユーザ管理● 名前空間 ● リダイレクト● テンプレート ● 全文検索● 署名 ● キャッシュ● TeX ● ファイル管理● 拡張機能 など
  7. 7. MediaWiki の特徴● 編集履歴の管理 ● 多言語対応● ウォッチリスト ● ユーザ管理● 名前空間 ● リダイレクト● テンプレート ● 全文検索● 署名 ● キャッシュ● TeX ● ファイル管理● 拡張機能 など
  8. 8. もくじ● MediaWikiのかんたんなご紹介● 管理者● メインページ
  9. 9. そもそも● MediaWikiでできること ● 記事を読む ● 記事を書く ● 記事の移動 ● 記事を消す ● ファイルのアップロード ● ファイルの閲覧・編集(上書き) ● ファイルの削除 ● ユーザ管理
  10. 10. デフォルトで入っている 権限は何種類?
  11. 11. read edit createpage createtalk move movefile move-subpages move-rootuserpages createaccount uploadreupload reupload-own reupload-sharedupload_by_url editprotected delete bigdelete 55+deletedhistory deletedtext undelete browsearchivemergehistory protect block blockemail hideuseruserrights userrights-interwiki rollbackmarkbotedits patrol editinterface editusercssjseditusercss edituserjs suppressrevisiondeleterevision siteadmin import importuploadtrackback unwatchedpages bot purge minoreditnominornewtalk noratelimit ipblock-exemptproxyunbannable autopatrolapihighlimits writeapi suppressredirectautoconfirmed emailconfirmed
  12. 12. 利用者グループ● おもなもの: ● 匿名利用者 See also: [[Special:UserGroupRights]] ● 利用者 – アカウント作成後4日以内の利用者 – 自動承認された利用者 ● 管理者 (sysop) ● ビューロクラット (bureaucrat) ● ボット (bot)● 必要に応じて新規追加も可能 ● LocalSettings.php の編集が必要 ● 「スタッフ」とか
  13. 13. 利用者グループと権限のイメージビューロクラット 権限操作 利用者名変更 削除 復帰 投稿ブロック ページ保護 管理者 保護ページの編集 編集の差し戻し 登録利用者 半保護ページの編集 新規登録利用者 匿名利用者 記事の移動 記事の閲覧 ウォッチリスト 記事の編集
  14. 14. 各論
  15. 15. 利用者 (user)● 匿名利用者 ● ページの読み書き● アカウント作成後4日以内の登録利用者 ● ページの移動 (名前変更) ● スパム認証がなくなる● 自動承認された利用者 ● 半保護されたページも編集できる
  16. 16. 管理者 (sysop)● ページの削除● 削除した版の閲覧・復帰● 編集制限 ● 投稿ブロック – ユーザ単位 ● 編集保護・半保護 – ページ単位・ユーザ権限単位● 保護されたページの編集● システムメッセージの編集● 編集の差し戻し● 編集の巡回 (パトロール)
  17. 17. ビューロクラット (bureaucrat)● 「管理者」の上位権限 ● 管理者権限を持っていることが必要● ユーザ権限操作 ● 他人を管理者・ビューロクラット・ボットにする● 利用者名変更 ● 利用者名を変更して利用者ページを移動する
  18. 18. ボット (bot)● 大量編集をする自動プログラム ● 昔は「最近の更新」がボットで埋まった● ボットフラグのついたアカウントの編集は, 「最近の更新」ではデフォルトで非表示になる ● フラグの付与は慎重に
  19. 19. 管理者って偉いの?
  20. 20. 利用者権限とコミュニティ運営 サーバ管理者 ビューロクラット 管理者 登録利用者 新規登録利用者 匿名利用者 MediaWikiシステムの権限階層
  21. 21. 利用者権限とコミュニティ運営 プロジェクト 運営者 ビューロクラット 管理者 登録利用者 新規登録利用者 匿名利用者 一般的なコミュニティの`ヒエラルキー (発言力・影響力)
  22. 22. 管理者の位置づけ● `sysop権限をもつ人 ● あえて「シスオペ」と呼ぶ人も ● sysop = system operator ● Administratorとも● 管理操作を「する人」 ● 「決める人」ではない ● プロジェクト運営者でもない – 例: Ninomy
  23. 23. 誰が管理者になるの?● 「誰でもいい」とするコミュニティもある● 管理権限の濫用があっても困る ● 問題なさそうな人に権限を与える – コミュニティベースだったり – トップダウンだったり● 信頼関係が成立していることが必要 ● あるいはサイト運営者から信頼されていること ● 管理者・ビューロクラット間は相互監視の関係
  24. 24. 管理者って偉いの?● プロジェクト運営上は一般利用者と同じ発言力 ● みんなで決めたことを決まった通りに実行するだけ ● ウィキ運営上の `雑用係 – 荒らし対応でむしろ本来の仕事ができなくなることも ● 管理者操作に関する議論のまとめ役にはなる – その他の議論では必ずしもそうではない● コミュニティ内での「偉さ」とMediaWiki権限の 有無は独立 ● ただし実際の運用をどうするかはプロジェクトしだい ● ビューロクラットなどの上位権限も同様
  25. 25. saveMLAKの管理者● 管理者14人(うちビューロクラット6人)● ビューロクラットが必要だと思った人に必要に 応じて管理者権限を与えているらしい ● 僕が管理者になった理由: なってくれと言われたから ● システムメッセージの多言語化などやりました ● プロジェクト運営の議論には絡んでません● ビューロクラットはコアメンバーが持っている ● 変な人はまず管理者になれない
  26. 26. まとめ● MediaWikiの管理者は偉くない● 管理者権限であることとプロジェクト運営上の 「偉さ」は独立● 具体的運用法はコミュニティしだい
  27. 27. もくじ● MediaWikiのかんたんなご紹介● 管理者● メインページ
  28. 28. メインページTopics:● いきさつ● しくみ● つくりかた
  29. 29. メインページへの要求● 多言語対応 ● 日本語/英語/中国語それぞれのメインページ ● スタイルは統一させたい● SaveMLAKじゃない!saveMLAKだ! ● MediaWikiデフォルトでは記事名前空間の一文字目 は大文字でなくてはならない
  30. 30. 課題と解法● 同じ修正を複数のページでやるのはバカらしい ● 統一したページスタイルの情報は一元化 ● 本文の情報は言語別に管理 解法: テンプレートによる部品化● 大文字始まりがMediaWikiデフォルトの制約 解法: LocalSettings.phpとCSSの編集
  31. 31. 大文字始まりについて
  32. 32. SaveMLAK → saveMLAK● MediaWikiの記事名は基本的に大文字始まり● LocalSettings.php で小文字始まりを有効に $wgCapitalLinks = false;● 別解: ページ名表示を上書きできるようにする {{DISPLAYTITLE:saveMLAK}} ● ただしこの方法は大きな書き換えはできない – IPod → iPod は OK – IPhone → Android は NG ● 許可するには LocalSettings.php の編集が必要 $wgRestrictDisplayTitle = false;
  33. 33. CSS● MediaWikiのCSSもWikiページ上で編集可能 ● [[MediaWiki:Common.css]] (共通CSS) ● [[MediaWiki:Vector.css]] (Vectorスキン用CSS) – 編集には管理者権限が必要です● 登録ユーザが個人的にCSSを編集することも ● [[利用者:だれそれ/Vector.css]]
  34. 34. テンプレートによる ページの部品化
  35. 35. ソースを見てみよう テンプレート呼出
  36. 36. テンプレート● テンプレート:名前空間のページ● {{hogehoge}}と記述すると[[テンプレー ト:hogehoge]]の内容がそのまま埋め込まれる● 定型文の挿入や統一されたスタイルの表の挿入 などに使うのがふつう
  37. 37. 一般的なテンプレートのつかいかた
  38. 38. [[テンプレート:メインページ]]
  39. 39. 本当の姿 ● 枠だけ ● さらに本文と 見出しを呼び 出している
  40. 40. つまり日本語の 英語のメインページの要求 {{メインページ}} 日本語の 英語の (デザイン枠)の要求 本文の要求 本文の出力
  41. 41. 本文の管理
  42. 42. 本文の管理● 表示したい言語の本文を表示させたい ● 英語版を表示したいのに日本語表示じゃ困る● 本文はメインページの子構造とみる ● サブページでまとめて管理
  43. 43. サブページ● 文書の階層構造(木構造) Hoge Hoge/fuga Hoge/piyo Hoge/piyo/foo Hoge/bar● デフォルトでは記事名前空間では無効 ● LocalSettings.phpの編集が必要です $wgNamespacesWithSubpages[NS_MAIN] = 1;
  44. 44. xx語版 デザインメインページ /見出しリスト /本文 oo語版メインページ /見出しリスト /本文
  45. 45. なぜ可能なのか?{{Hoge}} [[テンプレート:Hoge]]を読み込む{{:Hoge}} [[Hoge]]を読み込む{{/Hoge}} 表示させたいページのサブページからHogeを探して [[xx/Hoge]]を読む – {{:xx/Hoge}}と書くのと同じ – `呼び出したページではなく`表示させるべきページの サブページを呼び出すところがミソ
  46. 46. saveMLAKメインページ構造● saveMLAK ● saveMLAK/en● saveMLAK/h ● saveMLAK/en/h● saveMLAK/area ● saveMLAK/en/area● saveMLAK/whole ● saveMLAK/en/whole● saveMLAK/types ● saveMLAK/en/types etc. etc.
  47. 47. テンプレート Tips
  48. 48. テンプレート引数● テンプレートには引数を渡すことが可能 ● {{Hoge|わたし|Ninomy}}と書くと – [[テンプレート:Hoge]]に – 第1引数として文字列`わたし – 第2引数として文字列`Ninomyを渡す ● テンプレート側では – 「{{{1}}}は{{{2}}}です」などと書かれていて – 該当箇所に対応する文字列を埋め込んで – 「わたしはNinomyです」が返ってくる ● テンプレート側で変数名を指定することも可能 – 「{{{who}}}は{{{name}}}です」なら – {{Hoge|who=わたし|name=Ninomy}} と呼び出す
  49. 49. パーサ関数と条件文● 引数の値に応じて条件分岐や代数演算が可能● [[saveMLAK/h]]では switch 文を使用 C言語の switch-case 文に相当 {{#switch:{{{1}}} |hoge=AAA |fuga=BBB |CCC}} {{Hoge|hoge}} → AAA {{Hoge|fuga}} → BBB {{Hoge|piyo}} → CCC
  50. 50. <noinclude><noinclude>...</noinclude>● テンプレートページには書くが他ページからの読み 込み時は無視<includeonly>...</includeonly>● 読み込み専用で,テンプレートページに表示させな い<onlyinclude>...</onlyinclude>● テンプレートページの中のその部分だけを読み込ま せる
  51. 51. マジックワード● サイトやページの情報を取得して表示する {{PAGENAME}}: ページ名 {{NUMBEROFARTICLES}}: 記事の総数 etc.
  52. 52. くわしくは● Wikipediaを参照してください ● [[w:Help:テンプレート]] ● [[w:Help:条件文]] ● [[w:Help:マジックワード]]
  53. 53. ということは
  54. 54. わざわざサブページ使わなくても● {{メインページ|ja}}などと引数に言語名書け ばよかった● というかむしろ同じ内容で別言語が同じページ にまとまってた方が管理はラク
  55. 55. 別解 デザイン xx語版メインページ /見出し /本文1 oo語版 /本文2メインページ
  56. 56. 自己弁護● テンプレート引数やパーサ関数を多用すると, 慣れた人じゃないと何やってるかも読めない ● 引数が増えるぶん[[テンプレート:メインページ]] の中身は複雑になる ● 触る人がほぼ固定されてるなら問題ない……
  57. 57. まとめ● メインページはサイトの顔なので適切にアクセ スコントロールしましょう● テンプレートを使って部品化すると管理がラク です● うまく部品化しないと面倒なことになります

×