Wikipedia:井戸端/subj/RemexHTML移行に関する合意形成

RemexHTML移行に関する合意形成 編集

日本語版ウィキペディアにおけるRemexHTML移行について、議論を提起いたします。

背景 編集

日本語版ウィキペディアの編集ではウィキテキストを使用しますが、ブラウザでページを表示するためにはウィキテキストをHTMLに変換する必要があります。この変換はMediaWikiによって行われますが、元のウィキテキストが間違っているなどが原因で構文が正しくないHTMLが出力されることもあります。ブラウザでの表示が崩されないようHTMLを修正する必要がありますが、現在ではHTML Tidyというツールが使われています。しかし、(1)長年にわたるMediaWikiの開発でウィキテキストが複雑になり、古いTidyでは開発が難しくて追いつかない。(2)Tidyは時代遅れのHTML4ベースであり、HTML5に基づくパーサーに移行すべき。などの理由により、様々な試行錯誤が行われ、最終的にはRemexHTMLへの移行が決定されました。

RemexHTMLの開発にあたって、Tidyで発見されたバグがいくつか修正され、さらに準拠しているHTMLのバージョンの違いから、移行の際に表示が変更されるページが出ると想定されていますが、2016年6月の統計では全ウィキで93.35%のページが1ピクセル違わぬ表示、96.79%のページが1%以下の差だったという(phab:T89331(英語)を参照)。また、差異があるページは多くが構文エラーに起因するものであり、編集で修正できると考えられます。構文エラーは、例えば<small>小文字<small>のような間違いを指します。修正すると<small>小文字</small>のようになります。修正が進むようにLinterという拡張機能が開発、配備され、日本語版ウィキペディアでも特別:LintErrorsで使用できます。この特別ページでは構文エラーが重要度によって分類されます。

実際の移行ははじめ重要度の高い構文エラーがゼロになった時点で移行すると決められましたが、後に何度か緩和され、2018年4月現在では50件未満になった時点で移行できるようになりました(phab:T190731(英語)を参照)。開発者側では6月末までに全ウィキでの移行を目指していますが、日本語版ウィキペディアでは執筆時点でも約5万件とまだまだ完成には程遠いです。

合意が必要な点 編集

  1.   重要度の高いエラーが50件未満になった時点で開発者に移行を申請してもいいでしょうか。
  2. 過去ログや利用者ページ、会話ページでも修正が必要な構文エラーが沢山ありますが、「できる限り表示が変わらないように編集」「発言者の会話ページへの事後報告」を条件に修正してもいいでしょうか。なお、過去ログや会話ページを修正しない場合、重要度の高いエラーは50件未満になりません。
  3. Lintエラーのうち、「標準名前空間にある」エラーでボットによる修正が可能なものについて、Bot作業依頼に提出する(人手による修正は妨げない)。

コメント 編集

  •   時間があまり残っていませんので、1週間での合意形成を目指しますが、異論がある場合は2週間程度に延ばします。2点目についてはWikipedia:ノートページのガイドラインの「整形の失敗」に該当するかもしれませんが、ここで改めて合意形成を目指すものとします。また、結論が出たらen:Wikipedia:Linterを日本語に翻訳して結論を盛り込む予定です。--ネイ会話2018年4月7日 (土) 09:28 (UTC)[返信]
  •   可能 過去ログ、利用者ページ、会話ページでの構文エラー修正は「発言者の会話ページへの事後報告」でOKだと思います。移行申請に関する閾値については他の方の判断にお任せします。--野良人会話履歴 2018年4月7日 (土) 15:55 (UTC)[返信]
  •   賛否を表明できる程Wikipediaの技術的背景を把握していないのでコメントにとどめますが、技術的には時代の趨勢に合わせていくことは好ましいと思います。エラーになっているタグの修正が必要であれば、のんびりしたペースにはなりますがお手伝いはできるかと思います。--TEN会話2018年4月9日 (月) 13:11 (UTC)[返信]
  •   賛成 「重要度の高いエラーが50件未満」になったら「開発者に移行を申請」していいと思います(前途遼遠ですが)。◆「過去ログや利用者ページ、会話ページ」の修正はー「標準」「Template」「Portal」「プロジェクト」各空間の重要度の高いエラー修正が済んでから(Templateの修正でかなり減る可能性もありますし)ー事前にWikipedia:お知らせで予告して、Mediawiki:Sitenoticeで修正中であることを表示しながら行うと良いのではないかと思います。古いテンプレートがエラーの原因になっているケースは、関連ウィキプロジェクトに協力要請するとよいかもしれません。--miya会話) 2018年4月10日 (火) 06:54 (UTC) 【追記】「Mediawiki:Sitenoticeで」表示しながら、と書きましたが、実際に修正作業をしてみて、文章や表示に大きな影響を与えることがない小さなエラー修正は、要約欄で理由明示するだけで充分だと考え直しました。「過去ログ」については、表示に影響しない小さな修正のみなら「発言者の会話ページへの事後報告」もなくてよいのではないかと思います。--miya会話2018年4月13日 (金) 04:58 (UTC)[返信]
  •   コメント 1週間経過して特に反対がなかったため、50件未満の基準は合意がなされたとみなします。利用者ページと会話ページにおける修正は発言者への事後報告を条件に許可することも合意したとみなします。過去ログについては事後報告の必要性の議論は継続すべきと考えますが、事後報告がある場合は許可することで合意したとみなします。また、「合意が必要な点」の節にボットによる処理の是非について追加しましたので、もしよろしければコメントをお願いいたします。--ネイ会話2018年4月14日 (土) 19:41 (UTC)[返信]
  •   報告 簡単にですがWikipedia:Linterを翻訳作成いたしました。--ネイ会話2018年4月15日 (日) 14:04 (UTC)[返信]
  •   賛成(ボット処理) 合意形成と翻訳お疲れ様です。これだけ件数があることを考えると、Tidy bug affecting font tags wrapping linksなどの修正はボットによる処理が向いているのではないかと思います。Misnested tagは、spanタグで囲まれた部分に改行が入るパターンがかなり散見されるので、これをボットで処理できるとかなり減ると予想していますが、閉じタグのつもりで開きタグを書いてしまう(説明にもあった<span>a<span>のパターン)ようなパターンは人間による検証が必要なのではないかと思います。(ところで今特別:LintErrorsを確認した所、High priorityは2万件余だったのですが、背景の説明中の5万件の時からどなたかの作業で3万件減ったということでしょうか)--MawaruNeko会話2018年4月15日 (日) 14:53 (UTC)[返信]
  •   賛成(ボット処理) ボットでできる作業はボットでお願いしたいです(なにが向いているかの判断はボットに詳しい方にお任せします)。◆進捗状況:始める前に、どのエラーが何件あるか、記録しておけばよかったですね。修正作業に微力ながら協力していますが、4月13日にコピーしておいた分のHigh priorityを数えると、その時すでに2万件台(22421件)になっていました。でも今特別:LintErrorsHigh priorityを数えると、22876件で、3日前より増えてます!よく見ると、Tidy bug affecting font tags wrapping links が4月13日は8946件だったのに対して、今は9850件[1]。修正作業と並行して、“<font color=”のようなfontタグは使わないでください、と周知徹底したほうがよさそうです。--miya会話2018年4月16日 (月) 04:32 (UTC)[返信]
  •   コメント MediaWiki:Sitenoticeを使って、ここでの議論を告知した方が良いのではないでしょうか?全利用者に関係のありそうな話ですし、一方でLintErrorになる様な編集を続けられると、Botを使っても終わらないと思います。--aki42006会話2018年4月16日 (月) 10:42 (UTC)[返信]
  •   賛成(ボット処理) Bot処理については賛成です。閉じタグの修正をいくつか行ってみましたが、機械的に判定できるものがかなりあるように感じました。自動判定可能な物はBot処理するのが合理的と思います。--TEN会話2018年4月16日 (月) 11:43 (UTC)[返信]
  •   報告 Lintエラー(の可能性)を減らすため「モジュール:Message box」にて、英語版の編集を取り込みました(差分)。--Frozen-mikan会話2018年4月18日 (水) 16:07 (UTC)[返信]
  •   コメント 技術的にはエラーですが、直感的には問題無さそうに見える部分は対処が難しそうです。{{要出典範囲}} を用いて、複数の段落やリストアイテムを括った箇所など。今まではblockとinlineが適切な包含関係になるよう分割複製されて適用されていた span要素が、最初の箇所(段落やリストアイテム)にのみ適用されるようになります。今まで通りに見せる方法があれば置換も可能ですが、そうでなければテンプレートの使い方を変えていく必要が出てきます。まあ、今回の変更、編集者にかなりの負担を掛けているようにも思え、各言語版において修正が順調に進むのか疑わしい所です。--Frozen-mikan会話2018年4月19日 (木) 16:21 (UTC)[返信]
  •   賛成(編集フィルター) 非推奨タグ(可能であれば閉じタグ漏れも)に対して編集フィルターで警告を出すのに賛成です。編集フィルターを設定する前に、どのように移行すればよいかのガイドを作成することが必要だと思います。mw:Help:Extension:Linter/obsolete-tagでもいいとは思うのですが、テンプレート呼び出しの引数の中で、=を含むdivタグを使用すると問題が起こる(例えば<center></center><div style="text-align: center;"></div>に書き換えると、「<div style=」という引数名として認識される)ので、{{Center}}などのテンプレートを使用した方が簡便なのではないかと思います。--MawaruNeko会話2018年4月30日 (月) 12:43 (UTC)[返信]
  • 5月末時点の件数をコピペしておきます--aki42006会話2018年5月31日 (木) 23:38 (UTC)[返信]
    • 削除する必要があるTableタグ (423 件のエラー)
    • HTML5とHTML4のレンダリング差異によって誤った入れ子構造となっているタグ (4,076 件のエラー)
    • Multiline table in list (70 件のエラー)
    • 複数の閉じられていない書式設定タグ (507 件のエラー)
    • 自己終了タグ (435 件のエラー)
    • Tidy bug affecting font tags wrapping links (8,970 件のエラー)
    • 閉じられていない見出しの引用符 (2 件のエラー)
  • 本日6/22日時点の件数をコピペします。--MawaruNeko会話2018年6月22日 (金) 16:33 (UTC)[返信]
    • 削除する必要があるTableタグ (421 件のエラー)
    • HTML5とHTML4のレンダリング差異によって誤った入れ子構造となっているタグ (3,842 件のエラー)
    • Miscellaneous Tidy replacement issues (0 件のエラー)
    • Multiline table in list (70 件のエラー)
    • 複数の閉じられていない書式設定タグ (513 件のエラー)
    • Paragraph wrapping bug workaround (0 件のエラー)
    • 自己終了タグ (439 件のエラー)
    • Tidy bug affecting font tags wrapping links (8,950 件のエラー)
    • Tidy whitespace bug (0 件のエラー)
    • 閉じられていない見出しの引用符 (2 件のエラー)
  • さて、残った重要度の高いエラーのうち、html5-misnesting(HTML5とHTML4のレンダリング差異によって誤った入れ子構造となっているタグ)以外は、大部分が利用者ページか会話・過去ログのようです。(標準), ファイル, MediaWiki, Template, Help, Category, モジュール, Gadget, Gadget definition名前空間の、html5-misnesting以外の重要度の高いエラーは全て解消されたようです。「Portal」名前空間はユーザの署名が2件残っているだけです。「プロジェクト」名前空間については、過去ログや参加者の書き込み部分などを中心に重要度の高いエラーが残っているように見受けられます。また、html5-misnestingについては、(修正されている方はお気づきかと思いますが)、Templateが想定していない使用の仕方をされた場合に発生することが多いように見受けられます。
また、6月に入ってからも、ユーザの編集により重要度の高いエラーが新しく増えていたため、上記にありました編集フィルターの提案に賛成します。--MawaruNeko会話) 2018年6月22日 (金) 16:33 (UTC)--MawaruNeko会話2018年6月23日 (土) 04:30 (UTC)修正・追記[返信]
遅きに失した感は否めませんが、Wikipedia:編集フィルター/提案#Lintエラーを発生させそうな編集への警告Wikipedia:ガジェット/提案#Lintエラーの修正を補助するガジェットを提出しました。--MawaruNeko会話2018年6月22日 (金) 17:58 (UTC)[返信]
Portal, プロジェクト名前空間と、(標準), ファイル, MediaWiki, Template, Help, Category, モジュール, Gadget, Gadget definition名前空間の、html5-misnesting以外の重要度の高いエラーは全て解消されたようです。--MawaruNeko会話2018年6月23日 (土) 07:47 (UTC)[返信]
  • さて、移行の7/5まであと1日ですが、7/4 0:00(JST)時点の件数をコピペします。--MawaruNeko会話2018年7月3日 (火) 15:08 (UTC)[返信]
    • 削除する必要があるTableタグ (423 件のエラー)
    • HTML5とHTML4のレンダリング差異によって誤った入れ子構造となっているタグ (3,366 件のエラー)
    • Miscellaneous Tidy replacement issues (0 件のエラー)
    • Multiline table in list (70 件のエラー)
    • 複数の閉じられていない書式設定タグ (532 件のエラー)
    • Paragraph wrapping bug workaround (0 件のエラー)
    • 自己終了タグ (442 件のエラー)
    • Tidy bug affecting font tags wrapping links (3,639 件のエラー)
    • Tidy whitespace bug (0 件のエラー)
    • 閉じられていない見出しの引用符 (2 件のエラー)
また、(標準), ファイル, MediaWiki, Template, Help, Category, Portal, プロジェクト, モジュール, Gadget, Gadget definition名前空間に限定すると、以下のようになっています
  • 移行当日の7/5 0:00(JST)時点の件数をコピペします。--MawaruNeko会話2018年7月4日 (水) 15:05 (UTC)[返信]
    • 削除する必要があるTableタグ (423 件のエラー)
    • HTML5とHTML4のレンダリング差異によって誤った入れ子構造となっているタグ (3,185 件のエラー)
    • Miscellaneous Tidy replacement issues (0 件のエラー)
    • Multiline table in list (70 件のエラー)
    • 複数の閉じられていない書式設定タグ (532 件のエラー)
    • Paragraph wrapping bug workaround (0 件のエラー)
    • 自己終了タグ (442 件のエラー)
    • Tidy bug affecting font tags wrapping links (3,639 件のエラー)
    • Tidy whitespace bug (0 件のエラー)
    • 閉じられていない見出しの引用符 (2 件のエラー)
また、(標準), ファイル, MediaWiki, Template, Help, Category, Portal, プロジェクト, モジュール, Gadget, Gadget definition名前空間に限定すると、以下のようになっています
  •   報告 つい先ほどRemexHTMLに移行したようです。Special:LintErrorsの件数をコピペします。--MawaruNeko会話2018年7月5日 (木) 14:08 (UTC)[返信]
    • 削除する必要があるTableタグ (422 件のエラー)
    • HTML5とHTML4のレンダリング差異によって誤った入れ子構造となっているタグ (3,123 件のエラー)
    • Miscellaneous Tidy replacement issues (0 件のエラー)
    • Multiline table in list (70 件のエラー)
    • 複数の閉じられていない書式設定タグ (531 件のエラー)
    • Paragraph wrapping bug workaround (0 件のエラー)
    • 自己終了タグ (442 件のエラー)
    • Tidy bug affecting font tags wrapping links (7,278 件のエラー)
    • Tidy whitespace bug (0 件のエラー)
    • 閉じられていない見出しの引用符 (2 件のエラー)
また、(標準), ファイル, MediaWiki, Template, Help, Category, Portal, プロジェクト, モジュール, Gadget, Gadget definition名前空間に限定すると、以下のようになっています

移行予告について 編集

メーリングリスト[Wikitech-ambassadors] で下記の投稿がありました:

残るすべてのwikiも2018年7月5日に移行しますよ、ということなのでしょうか。なんらかの予告をWikipedia:お知らせMediawiki:Sitenoticeで行ったほうが良いのではと思うのですが、どんな説明あるいはリンクを載せたらいいのでしょう?mw:Parsing/Replacing Tidy/FAQ/jaなど?--miya会話2018年6月17日 (日) 11:58 (UTC)[返信]

  賛成 あと1週間に差し迫っているのでそろそろSitenoticeなどでお知らせがあったほうが良いと思います。Wikipedia:お知らせではWikipedia:お知らせ#Tech_News:_2018-25に記述がありますが、記事によってはスタイルが変わってしまうため、似たような文面でももう少し大々的に予告したほうが良いように思います。--MawaruNeko会話2018年6月27日 (水) 16:09 (UTC)[返信]

Sitenoticeを出しそびれているうちに、予告通り移行が行われたようですね。

特別:LintErrorsを見ると、記事に関してはほとんど修正済みのようです。--miya会話2018年7月12日 (木) 04:44 (UTC)[返信]

  報告 (標準), ファイル, MediaWiki, Template, Help, Category, Portal, プロジェクト, モジュール, Gadget, Gadget definition名前空間について、重要度の高いエラーはすべて解消されました。--MawaruNeko会話2018年7月14日 (土) 15:50 (UTC)[返信]