Wikipedia:ガジェット/提案/過去ログ/2023年

MarkAdminsのガジェット化提案[編集]

この節は次の利用者の依頼で過去ログ化されました: Dragoniez (talk) 2023年2月12日 (日) 06:08 (UTC)[返信]

本提案およびラベリング[編集]

コモンズやメタをはじめ様々な言語版でガジェット化されている、Dragoniez (A/IA/FE) のように特定の利用者グループの表示機能を有したマークアドミンですが、メタからMediaWiki:Gadget-MarkAdmins.jsノート / 履歴 / ログ / リンク元にローカライズを行いました(試用)。私自身使ってみて結構面白いと思ったので、こちらのガジェット化を提案します。なお、ローカライズに伴いそこそこ改変しています。

  • 軽量化のため、リンク内に新しいノードを作成する方式からCSSの擬似セレクタでの表示に変更
  • コンフィグを弄る場合は利用者ページのcommon.jsで設定するのが前提となっていたものの、スクリプトのインターフェースのみでコンフィグを弄れるように機能を追加(設定試用

利用者グループのデータはMediaWiki:Gadget-MarkAdmins-data.jsonにあります。ガジェットとして読み込む場合は非同期処理が一切行われないので、ブラウザへの負担も軽いです。なお、データファイルは時々手動で更新する必要がありますが、管理者またはインターフェイス管理者であれば簡単に誰でも更新できるように、MediaWiki:Gadget-MarkAdmins-updater.jsにアップデート用のスクリプトも作りました。これを読み込むと、「移動」などのリンクがある場所に「MarkAdmins updater」というリンクが追加され、ワンクリックでデータを更新できます。とりあえずは、上の試用リンクから使ってみてください。(試用のためと、実際ガジェット化となった場合は個人用common.jsとガジェットとの重複読み込みを避けるために、そのままMediaWiki名前空間に作りました。ガジェット化の合意が得られなければ削除で構いません。)--Dragoniez (talk) 2023年2月4日 (土) 16:55 (UTC)[返信]

賛成 - 少し気になったのはグローバル管理者が一般的な略称であるGSではなくGAとなっていたり、不正利用フィルター保守員がAFMではなくGFEとなっていて、ややこしいな、とは感じましたが設定で変えられるようですので賛成します。 --春春眠眠 🗨️会話 2023年2月4日 (土) 17:10 (UTC)[返信]
  • コメント 現状初期設定は以下のようにしていますが、ラベルに関しては私がとりあえず付けたものなので「よりなじみ深い○○のほうがいい」というような意見が出れば、特に労力も掛からないので変更しましょう。
利用者グループ システム上の名称 現在の初期値 候補初期値?
管理者 sysop A
オーバーサイト suppress OS
チェックユーザー checkuser CU
ビューロクラット bureaucrat B
編集フィルター編集者 abusefilter FE AF?
インターフェース管理者 interface-admin IA
アカウント作成者 accountcreator AC
ボット bot Bot
削除者 eliminator E (D?)
巻き戻し者 rollbacker RB
創設者 founder F
スチュワード steward S
オンブズマン委員 ombuds Omb
スタッフ staff Staff
システム管理者 sysadmin SA
グローバル管理者 global-sysop GA GS
編集フィルター保守員 abusefilter-maintainer GFE AFM?
編集フィルター閲覧者 abusefilter-helper GFH AFH?
グローバルインターフェース管理編集 global-interface-editor GIA GIE
グローバルボット global-bot GBot
グローバル削除者 global-deleter GE GD?
グローバル巻き戻し者 global-rollbacker GRB
問い合わせ対応ボランティアチーム vrt-permissions VRT
グローバル利用者名変更者 global-renamer GRN
WMFオフィスIT wmf-officeit WMF OIT
WMFサポートと安全班 wmf-supportsafety WMF T&S
--Dragoniez (talk) 2023年2月4日 (土) 17:39 (UTC) // 表を更新。--Dragoniez (talk) 2023年2月5日 (日) 01:57 (UTC)[返信]
グローバル関係が難しいですね。ローカルとの区別のために先頭に"G"や"WMF "をつけた方が分かりやすいとは思うので、グローバル管理者をGSに変えて、OITとT&SにWMFを付けるだけでいいと思います。不正利用フィルター関係は日本語版内では編集フィルターと表記しているのでFEでもいいと思います。 --春春眠眠 🗨️会話 2023年2月4日 (土) 18:31 (UTC)[返信]
ローカルのフィルター関係は"編集フィルター"にするべきと思いますが、グローバルの方はリンク先に合わせるということで「編集フィルター保守員」→「不正利用フィルター保守員」、「編集フィルター閲覧者」→「不正利用フィルター閲覧者」に変更しませんか? --春春眠眠 🗨️会話 2023年2月8日 (水) 17:07 (UTC)[返信]
global-interface-editorはグローバルインターフェース編集者です。グローバルインターフェース編集者の導入後、既存の名称と被らないようにして全ウィキで導入されたものがローカルのインターフェース管理者なので。--Marine-Bluetalkcontribsmail 2023年2月5日 (日) 01:04 (UTC)[返信]
追記。ombudsも現在はオンブズマンという言い方はせず、中性的な表現に改められています。オンブズでも良いですが、オンブズ委員のほうが違和感なく受け入れられるかと思い、メタの文書などは「オンブズ委員」で統一しています。--Marine-Bluetalkcontribsmail 2023年2月5日 (日) 01:07 (UTC)[返信]
  • コメント 遅いコメントで申し訳ありませんが、削除者が「E」なのが気になりました。eliminatorの略ですが、意味としては「除外」「排除」もあり「駆除剤」との使われ方もする様で、削除者のイメージに繋がりづらいです。グローバル削除者がglobal-deleterとなっていて、何故こちらと違うのだろう?とも思います。例えば、削除依頼(AFD)もArticles for deletionの略なので「D」の方が役割やイメージに近いかと思います。あと、「E」は「編集者」の略と被るので分けた方が良い気がします。そうすると、グローバル削除者も「GD」でしょうか。--えのきだたもつ会話2023年2月7日 (火) 18:12 (UTC)[返信]
    簡単に言えば経緯が違います。削除者のeliminatorは開発者側が予め設定していた名称であるのに対し、グローバル削除者はmetaの議論が元で作成されたグループであるためです。というか元スチュワードのPathoschild氏がSyncbotサービスを運用するためだけのグループです。
    削除者のEに違和感があるとすれば、Elなどのように小文字を上手く活用する手もアリだと思います。--Marine-Bluetalkcontribsmail 2023年2月8日 (水) 01:56 (UTC)[返信]
  • コメント 私も削除者のラベルについては、eliminatorglobal-deleterで差別化するべきか難儀しました。まあ、システム上の名称が決められた経緯を知らない利用者も使うことを想定すると、よりニュートラルなものがいいと思うので、DGDのほうがより直感的に分かりやすい気がするという点には納得します。ローカライズ版の移入元のコモンズのガジェット、ここから移入・改変しているメタのガジェット、両方とも巻き戻し者と削除者にはラベルが用意されていないので、参考になる先行議論がないのも難しいところです。(ちなみに、ここまでは言及していませんでしたがabusefilterAFとするとある英語のアクロニムを個人的に想起するんですよね。)--Dragoniez (talk) 2023年2月8日 (水) 05:13 (UTC)[返信]
  • コメント - アルファベット一文字で表している以上どの文字が何を意味するのか前もって知っていなければ分からないでしょう。そのため同じ機能であるDとGDをひとつながりの名前にすることで記号の意味が覚えやすくなると思います。しかし殆どのラベルがシステムに沿って付けていおり、さらにWikipedia:削除者では"Eliminator"としているのでEのままの方が混乱は少ないのではとも思います。--春春眠眠 🗨️会話 2023年2月8日 (水) 17:03 (UTC)[返信]

システムメッセージ[編集]

  • コメント ガジェット化の合意が取れた場合は個人設定に表示するインターフェースメッセージも作成する必要がありますが、現在コモンズだと「MarkAdmins: 一般以上の権限を利用者に付与します。」になっています。個人的に違和感があったためc:MediaWiki talk:Gadget-markAdmins/jaにもコメントしているのですが、「MarkAdmins: 特定の権限を持つ利用者のグループ情報を表示する」あたりがよいだろうと思っています。よろしければこちらについてもご意見を頂けないでしょうか。--Dragoniez (talk) 2023年2月6日 (月) 14:12 (UTC)[返信]
    • 「利用者のグループ情報」だと例えば、「利用者の所属している管理者は~~のような事ができる」のような権限に対する情報が表示される印象を微妙に感じたので、「MarkAdmins: 特定のグループに所属する利用者に印をつける」はどうでしょうか。あくまでも私の感覚ですので、私がずれているようであれば「MarkAdmins: 特定の権限を持つ利用者のグループ情報を表示する」のままでも大丈夫です。 --春春眠眠 🗨️会話 2023年2月6日 (月) 14:28 (UTC)[返信]

アップデーターについて[編集]

一点、共有しておいたほうがいいと思われる、アップデーターの仕様を告知しておきます。このスクリプト自体は、APIから利用者のグループ情報を取得し、レスポンスを以下の形式のJSONに整形してMediaWiki:Gadget-MarkAdmins-data.jsonを編集・更新するものです。

{
    "Dragoniez": [
        "sysop",
        "interface-admin",
        "abusefilter"
    ],
    ...
}

ローカルの利用者グループはlist=allusersから、グローバルの利用者グループはlist=globalallusersから、メタの利用者グループはメタのドメインからlist=allusersを飛ばして取得します。一回のAPIリクエストのレスポンスの上限数はapihighlimitsがある利用者の場合5000、ない利用者の場合500ですが、現状のアップデーターはapihighlimitsがあることを前提にコーディングしているため、この利用者権限を持たない利用者がJSONを更新しようとすると、全てのグループ情報を取得できずMarkAdminsのJSONデータが壊れる可能性があります。これは、APIレスポンスのcontinueプロパティを読み取りリクエストをループさせれば解消でき、その方向性でアップデーターを更新しようとしましたが、どうやらlist=globalallusersはこのプロパティを返さないというバグ(phab:T241940)があるようです。よって、アップデートはeditsitejsonapihighlimitsの両方をもつ利用者(jawpではsysopのみ、またはinterface-adiminbotの両持ち)が更新する必要があります。

なお、アップデーター自体はMarkAdminsのモジュールとして組み込んでしまって、使用者が管理者の場合のみアップデーターのリンクが生成されるようにするつもりでいます。少し色々書きましたが、上に書いた問題はコーディング側で制御しますので、基本的にアップデートをしてくださる方は心配せずに使って頂いて全く問題はありません。一応仕様の周知と言うことで、告知しておきます。--Dragoniez (talk) 2023年2月8日 (水) 07:48 (UTC)[返信]

まとめ[編集]

本スクリプトのガジェット化については賛成意見のみ頂いていたため、ガジェット化を行いました(システムメッセージは「MarkAdmins: 管理者などのグループに属する利用者に印をつける」にしました。)初期ラベルについては、一応別途Help talk:MarkAdmins#初期ラベルについてに対してコメント依頼を出します。--Dragoniez (talk) 2023年2月12日 (日) 06:08 (UTC)[返信]

「Gadget-PDFLinkIcon.css」のアイコンを変更する提案[編集]

MediaWiki‐ノート:Gadget-PDFLinkIcon.css#アイコンを変更する提案にて、MediaWiki:Gadget-PDFLinkIcon.cssのアイコンを変更する提案を行っています。--Keruby会話2023年2月21日 (火) 23:14 (UTC)[返信]

この節は次の利用者の依頼で過去ログ化されました: --Keruby会話2023年3月9日 (木) 17:26 (UTC)[返信]

ガジェット用タグの作成案[編集]

この節は次の利用者の依頼で過去ログ化されました: Dragoniez (talk) 2023年4月24日 (月) 11:30 (UTC)[返信]

これまで一括処理用ガジェットとして、MassProtectMassRollbackMassRevisionDeleteを作成してきました。この系統の続きで今「MassDelete」を作っているのですが、主にデバッグ用途として、MassProtectMassRollbackMassRevisionDeleteMassDeleteDevScriptのタグを作成してもよいでしょうか。現状、どのログがガジェットによる処理なのかが分からない状態になっています(MassProtectで保護テンプレートの貼り付けを行う場合のみ「(MassProtect)」というアドリンク()を要約に表示するようにはなっています)。ガジェットとして採用後も元コードの修正は何度か行っており、デバッグが必要になった場合に過去のガジェットの挙動を確認するのが非常に困難です。ガジェットによる処理にタグをつけるようにすればこの問題を解消でき、誰でも特別:最近の更新でタグの絞り込みによる検索ができるようになるというメリットがあります。DevScriptに関しては、プロジェクト:ウィキ技術部/スクリプト開発/trunkにある開発版スクリプト用として考えています。これは、H:MPの冒頭にもある「開発版と同時導入しないでください」という注意書きをタグで可視化する目的です。開発版にはバグが含まれている場合があるため、ひとつで構わないため専用のタグを設けておけば、誰が開発版を使用しているのかも分かるようになります。

なお、各種スクリプトの動作等への影響は一切ありません。ご意見のほどよろしくお願いいたします。--Dragoniez (talk) 2023年4月2日 (日) 08:25 (UTC)[返信]

DevScript以外は 賛成DevScriptですが、開発版では要約でリンク表示するので十分ではないでしょうか?おそらく開発版には専用のタグがないため要約にリンクを記載することになり、リンク先に競合に関する注意を記載していればいいと思います。タグか要約なのか、で使用しているスクリプトが開発版か区別可能なため必要性がイマイチ納得いかないため賛成はしません。 --春春眠眠 🗨️会話 2023年4月5日 (水) 13:57 (UTC)[返信]
@Syunsyunminminさん: 開発版のページを安定版のブランチとして扱うことを考えていました(例えば、MassProtectはガジェット公開後に機能を追加する時、開発版でテストしてからその更新を安定版にマージ、みたいなことをしていました)。つまるところ、私としてはガジェット公開前にタグがない状態の時を想定、というよりかは公開後既にタグがある時のことを考えていました。確かにタグか要約かで分けるのも一つの手段としてありえるものの、技術的に要約を使うのが困難な場合になかなか難しいものがあります。例えば、action=deletereasonパラメータは、未指定の場合「投稿者:XX 内容:YY」のような自動生成要約が入るものの、「(MassDelete)」のように指定すると自動生成要約は入らなくなるので、アドリンクと自動生成要約が同時に欲しい時には安定版には不要な個別の関数を開発版でだけ別途組まなければいけなくなる、と言ったようなところが難しいです。--Dragoniez (talk) 2023年4月5日 (水) 15:48 (UTC)[返信]
マージ前提であれば、開発版だけに違う仕組みを組み込むのは好ましくないですね。更にapiによっては要約をいじるよりタグの方が好ましい場合があるのですか。確かにそういった理由もあるのであれば、DevScriptもあっていいと思います。DevScriptにも 賛成 します。 --春春眠眠 🗨️会話 2023年4月5日 (水) 15:54 (UTC)[返信]
コメント むしろ開発版のほうが絞り込みの重要性大だと思います。通常版についてもタグで操作・ツールの種類を識別するという運用は想定された使用方法であるため、必要があれば導入して良いのではないでしょうか。--Marine-Bluetalkcontribsmail 2023年4月6日 (木) 16:03 (UTC)[返信]
  •  合意形成 賛成意見のみ頂戴しているため、タグ作成の合意をいただけたと判断しますので、MassRollbackDevScriptについては作成させて頂きました(他は追い追いやるつもりです)。なお、一括巻き戻しガジェットのタグについては、action=rollbackで利用者指定のタグが反映されないというバグがあったため、Phabricatorに報告しました。既にパッチが当てられましたが、マージ待ちです。一括巻き戻しガジェットの元コードには既にタグを追加したため、パッチがマージされれば自動的にタグが付くようになると思います。
また、上でも触れていた一括削除ガジェットの開発版(プロジェクト:ウィキ技術部/スクリプト開発/trunk/MassDelete.js利用者:Dragoniez/scripts/MassDelete)を作成しました(こちらにはDevScriptを割り当てました)。私自身しばらく使ってみますが、良ければ使ってみてください。
mw.loader.load("//ja.wikipedia.org/w/index.php?title=プロジェクト:ウィキ技術部/スクリプト開発/trunk/MassDelete.js&action=raw&ctype=text/javascript");
--Dragoniez (talk) 2023年4月12日 (水) 15:43 (UTC)[返信]
  • 報告 MassProtectMassRollbackMassRevisionDeleteDevScriptの作成およびコードへの組み込みが完了しました。MassDeleteについては、ガジェット化が叶えば作成する予定です。--Dragoniez (talk) 2023年4月24日 (月) 11:30 (UTC)[返信]

「問題を報告」タブの追加[編集]

この節は次の利用者の依頼で過去ログ化されました: ネイ会話2023年10月24日 (火) 10:45 (UTC)[返信]

既定のガジェットとして、ページ上部に「Wikipedia:問題を報告する」へのリンクを追加するガジェットの作成を提案させて頂きます。--Miraburu会話 / 投稿記録 2023年3月7日 (火) 18:03 (UTC)[返信]

議論が半年以上停止しており、かつ提案者が無期限ブロック中のため、作成しない方向でいったんクローズしたほうがよさそうです(ただしほかに作成すべきと考える方がいる場合は再提案を妨げない)。--ネイ会話2023年10月4日 (水) 10:41 (UTC)[返信]
却下 クローズします。--ネイ会話2023年10月24日 (火) 10:45 (UTC)[返信]