Wikipedia:井戸端/subj/非常に多くの出典を使用した際にテンプレートが読み込まれない現象について

非常に多くの出典を使用した際にテンプレートが読み込まれない現象について[編集]

2017年の政治を編集していたところ、下の方にある出典やTemplate:各年の政治が正常に機能していないことに気が付きました。その状態でプレビューしてみると、「警告: テンプレートの読み込みサイズが大き過ぎます。 いくつかのテンプレートは読み込まれません。」と表示されたため、出典の数が多すぎるせいでおかしくなっているのではないかと思います。しかし、記事中で使用されている出典はいずれも必要なものであり、削ることも出来ないでしょう。記事内容に直接影響を与えないTemplate:各年の政治はまだしも、正しく出典が表示されない状態は宜しくないものと考えられます。何かしら修正する方法は存在するのでしょうか?--Zigzag Z会話2018年1月18日 (木) 10:02 (UTC)[返信]

「Cite系」出典テンプレートの使用を取りやめるのはどうでしょうか。全部出典を手打ちにしたり、展開したりして。「Cite系テンプレート」もテンプレートの一種ですので、もし仮に全ての出典で「Cite系テンプレート」を使っていたら半分近く、テンプレートが減り問題解消になると思います。--Taisyo会話2018年1月18日 (木) 10:37 (UTC)[返信]
大まかに見る限りはこの版までは正常に表示されています。で、次の版で表示崩壊が起きています。差分を見る限りは一見正常な加筆です。テンプレートの使用上限に当たってしまったと推測出来ます。全ての「Cite系」出典テンプレートを展開したら改善出来るはずです。--Taisyo会話2018年1月18日 (木) 10:50 (UTC)[返信]
ご提案有り難うございます。なるほど、確かにそれも一案かもしれません。ただ、「Cite系」出典テンプレートが使用出来なくなると、かなり出典を書き込むのが面倒になる気がします。また、あれ程までに大量の出典を置き換えるとなれば、手打ちでは細かいところで書式や日付を間違える可能性があります。書式だけであれば閲覧する方に実際的な影響は与えませんが、見栄えはよくないですし、日付が異なれば虚偽になってしまいます。正直なところ、自分でミスに気付けなかった場合、他の方に全てチェックしてもらうのはかなりの重労働であり、非現実的に思われます。文句ばかり言っているようで申し訳ないのですが、単純に手間にもなりますし、別の方法があるのであればそちらにしたいというのが本音です。ただ、現状では置き換えるのが手っ取り早い対策なのであれば、そうしようと思います。上限が変更出来るのであればそれが望ましいのですが…私はその方面は疎いのでTaisyoさんのやり方が結局楽なのかもしれませんね。現在あまり時間が取れず、手打ちにする場合にすぐに取り掛かれないのが心残りです。--Zigzag Z会話2018年1月18日 (木) 11:11 (UTC)[返信]
コメント 全く同様事情での同様問題が2017年の日本にて昨年中に複数回発生しまして、そちらのノートページに「テンプレート制限を回避しようとあの手この手で頑張った痕跡」というのが残っておりますので参考になれば。--Nami-ja (会話 / 履歴) 2018年1月18日 (木) 12:14 (UTC)[返信]
コメント 2017年の日本から2017年の政治に問題を移しただけのような印象があります。2017年の日本から2017年の政治に転記しようとする提案は、その様な印象を強く受けました。確か「Cite系」出典テンプレートは「subst展開」出来たはずです。エディタの文字置き換え機能で、簡単に所定の文字を置き換え。問題解消策としては絶大なはずです。新たな出典で「Cite系」を使うのは仕方ないにしても、許容値は大幅に増大します。手順さえ分かれば簡単に思いますが。--Taisyo会話2018年1月18日 (木) 12:29 (UTC)[返信]
コメント subst展開出来るかなと試してみたのですが<ref>内では展開出来ないようです。次善策として、cite展開用のBOTを作成して貰う案を提案します。それなりの手間はあるかもしれないですが、需要は一定量ありそうですし、プログラム自体はそう難しくないのではと思います。--Taisyo会話2018年1月18日 (木) 12:40 (UTC)[返信]
コメント refを{{subst:#tag:ref| ∼の形にしてやるとrefの内部に置いたタグやテンプレートをsubst展開出来ますよ。--Nami-ja (会話 / 履歴) 2018年1月18日 (木) 13:25 (UTC)[返信]
コメント substとか展開というのは今後に遺恨を残す方法だと思います。英語版テンプレのようにシンプルに、Lua化をもう少し進めるとかいった方法はとれないのでしょうか。--115.38.210.185 2018年1月18日 (木) 13:40 (UTC)[返信]

(戻します) コメント別に、展開すること自体が今後に遺恨を残すとは思えないのですが。「Cite系」が個人的に好きでは無いのも一因とはしておきますが、好きで無い一番の理由が入力するのに新しい行儀をマスターしないといけない反面、それによりデータ連係の強化が期待出来ないことです。もっとも、個人的に使わないと言っているだけで他社による利用を止める物でも無いですし、廃止運動をするつもりもありません。Cite系についてのデメリットは5年以上前に言ったのですが、その様な意見があるのは一定の認識はあったと思っていますので、それなりにメリットを作り出す努力は出来たと思います。対案として出したLua化。テンプレートをLua化改良して頂ける利用者がいるのか。また、Lua化改良でどれだけテンプレート使用数上限の緩和が出来るのかが一番に思います。展開の意見については「Cite系多用のデメリット」を理解して貰う良い機会程度に思っている次第です。後、ref内でも展開出来る手段がある事について、知らないで失礼しました。--Taisyo会話2018年1月18日 (木) 14:11 (UTC)[返信]

コメント 2017年の日本でも何回か実際に全置換を実施してますけど、{{Cite web2}}は「Lua化で軽量化されたCite系テンプレート」で、既存Cite webを置換するだけでもかなりテンプレート使用数が軽量化されます。あと、Cite系が「全般的に」処理が重くなるのは内部テンプレートの{{Citation/showdateCore}}(日付記入書式の変換表示テンプレート)が原因だったりするので、こちらの軽量化を進めるとCite系統テンプレート全体が軽くなると思います。──記事内からCite系テンプレートの一切を排除、展開するのが最も楽なんですけど(そもそもCite系を『使用しなければならない合意』がない)、それは告知を徹底しないと「(展開行為自体を荒らしと思い込んで)機械的に元に戻す善意の雑草とり屋さん」が大量に出て来ると思いますので、先に「Cite系テンプレート廃止合意またはsubst展開型への変更議論」をやるべきなんじゃないのかなあ、とかも思ったり。同様の問題は英語版の方で既出だと思うんですが、あちらだとどういった対策や合意が為されたのか興味がありますね。--Nami-ja (会話 / 履歴) 2018年1月19日 (金) 01:55 (UTC)[返信]
 追記 {{cite web}}と{{cite web2}}の軽量化比較を以前試した方がおられまして、その方の弁によればcite web2を使用した場合「引数呼び出し数が約8割減」になるそうです。詳細は「Wikipedia:井戸端/subj/翻訳記事作成時の出典の書き方(互換性なし)について」最下段参照。 / ただし、cite web2には上述の{{Citation/showdateCore}}が実装されていませんので、「2018-1-19」と記入した文字列は自動変換されずにそのまま表示されます(その程度で別に誰かが致命的に困るものではないのでその仕様でいいように思える)。--Nami-ja (会話 / 履歴) 2018年1月19日 (金) 03:02 (UTC)[返信]
コメント 先にも挙げた通り、「Cite系」廃止運動をするつもりは全くありませんし、勝手に全廃しようとする人が現れた場合はブロック対応などするつもりです。まあ、出典数が一定数を超えた(400や500など)記事に関して安全策でやるのは有りだとは思いますが。「Lua化で軽量化されたCite系テンプレート」の{{Cite web2}}で、従来型と比較して5分の1の負荷に押さえられることを確認しました。その分、テンプレート利用数が増やせると考えて良いのでしょうか。また、{{cite web}}は枯れたテンプレートでそう大きなトラブルは無い印象ですが(念のために枯れたの意味)、{{cite web2}}もしっかり枯れているのでしょうか。「Cite系」には他にもあったはずですので、それに相当するのがどれだけあるのかも気になります。--Taisyo会話) 2018年1月20日 (土) 01:09 (UTC) , 修正--Taisyo会話2018年1月20日 (土) 01:33 (UTC)[返信]
コメント {{Cite news}}に対応するものとして、{{Cite news2}}があるようです。2015年の日本で利用されています。{{Cite web2}}や{{Cite news2}}では、日付が変換されないという点が特徴みたいですが--aki42006会話2018年1月20日 (土) 04:11 (UTC)[返信]
コメント {{cite web}}を{{cite web2}}に置き換えてみました。テンプレート上限緩和の効果は余りなかったようです。やはり展開が一番に思います。テンプレート改良をするにしても枯れるまでに時間が掛かりますし、他の記事への影響も大きいです。展開の方が問題の波及も少なく、最小限の手間で済むと思われます。--Taisyo会話2018年1月20日 (土) 04:05 (UTC)[返信]
コメント {{cite web}}の置き換えに引き続いて{{cite news}}を{{cite web2}}に置き換えました。参照読み込みの展開後のサイズが2,097,152/2,097,152 バイトから1,403,525/2,097,152 バイトに減り、許容内に収まりました。なお単脚注で各テンプレを単体プレビューしてみましたが、{{cite news2}}が参照読み込みの展開後のサイズが1/3となる(6,312 → 2177バイト)一方で、{{cite web2}}でのサイズの縮小効果は現状非常に少ない(2361 → 2,175バイト)です(改善の余地がある)。--115.38.210.185 2018年1月20日 (土) 05:23 (UTC)[返信]
コメント 過去に同類の出典多数問題を抱え、{{cite web2}}利用を示唆されたものの、最終的には採用見送りの判断をした者です。理由はcite web2の解説Docがcite webと同じだからです。つまりcite webとcite web2の相違点がどこにも明文化されていないわけです。どれだけメーカー側が品質に自負していようが、取扱説明書の付属しない家電は売りづらいのと同じです。テンプレ利用者の多くは自分ではテンプレのソースコードまでは解読せず、解説Docを読んで個別記事に使用するかどうか判断します。私がcite webからcite web2に置き換えてしまうと、他の編集者から「使い方のわからんものを導入するな」と文句が出るだろうなと。品質の問題以前に、説明責任の問題だと思います。--Mis0s0up会話2018年1月20日 (土) 06:23 (UTC)[返信]
コメント {{cite web}}を{{cite web2}}の置き換え。良い所もあったけど、結論からしたら駄目だねです。負荷軽減によるテンプレート利用数増加は確かに確認出来ました(それは良い点です)。しかし、{{cite web}}と{{cite web2}}の間に引数の完全互換が無いために、異常な表示が多く発生しています。名前が違う以上、完全互換のはずはありません。{{cite web2}}が安定している物かどうか推測付かない以上、お勧めする訳には行きません。やはり、完全展開しか今回の解決策は無いと思います。年単位で、{{cite web2}}を枯れさせて、安心して使えるようになるまでは、完全展開が影響が少なく確実です。--Taisyo会話2018年1月20日 (土) 10:28 (UTC)[返信]
コメント - Template:Cite web2Template:Cite web/docが貼ってあるのは以前から違和感を感じていました(「このテンプレートは150,000以上のページで使われています。」というのがCite web2にも表示されるのは誤りですよね。これはTemplate:Cite webの使用実績であってTemplate:Cite web2のそれは約4100件です)Template:Cite web2/docを別に作るなど「Cite ***2」系の存在理由や特徴(利点)についての解説がないなら意味がない気がします。「Cite ***2」系はあくまで「Cite ***」系の別版として作られたものですから「Cite ***」系の説明は知っているか既に「Cite ***」系のドキュメントで確認しているはずで、「Cite ***2」系のドキュメントに求められる内容は「Cite ***」系との差異でしょう。--ButuCC+Mtp 2018年1月20日 (土) 10:45 (UTC)[返信]


(戻します) コメント保存はしていませんが、{{cite news}}を{{cite news2}}置き換えもテストしてみました。結論は、先の置き換え同様に「引数がありません」のエラー表示が多発しました。負荷軽減効果は確認出来た所で、エラー表示が多発するようであれば、結局は使えないになります。--Taisyo会話2018年1月21日 (日) 00:47 (UTC)[返信]

このページに限ってですが、「2017年の日本の政治」あたりへ新規ページとして一部分割してはどうでしょうか。そもそも「2017年の政治」というタイトルのページに日本の政治の話題が入りすぎているように思います。日本ローカルの話題(世界各国への影響があるとは考えにくい出来事)は「2017年の日本の政治」に分割してはどうでしょうか。ちなみに、英語版「2017 in politics」を見ると、1年全体でわずか10件程度とかなり厳選した、おそらく世界史の教科書にもいずれでてきそうな出来事しか言及されていません。他にどのページにも行き場がないような瑣末なニュースをウィキペディアページに溜めていくのが適切かどうかも考えるべきかもしれません。 --163.49.200.147 2018年1月21日 (日) 01:41 (UTC)[返信]
はっきり言いたいのですが、依怙地になってまでCiteテンプレートを使わないと駄目なの?です。使わないとマズい点があるとでも言いたいのですかです。まあ、ページの分離は私も考えましたが、その次の議論に出てくるのは「2017年のみは格好悪いから他のページも分けよう」となる可能性が高いです。つまりは、影響を最小限にする観点からふさわしい案とは思えないです。予め、「2017年だけだからね」と釘差しするのは有りとは思います。そうすると、2018年以降同様のが出てきたときにどうするのかの問題が出てきます。異常表示が現に出ている、または出る危険が高い記事の展開の方が、リスク皆無・影響最小と思うのですが。出てくる対案がリスクや影響が大きすぎる印象です。--Taisyo会話2018年1月21日 (日) 01:59 (UTC)[返信]
問題となっていた2017年の政治について、とりあえず{{cite news2}}で表示利用されていない引数workを削除等の修正しました。--115.38.210.185 2018年1月21日 (日) 05:07 (UTC)[返信]
厳密に対案、という訳ではないです。仮に表示に問題がなくても、世界の記事に日本の話題ばかりがあるのはおかしい、という点は成立しますので。一挙両得ではないか、というくらいの提案です。 --49.239.67.212 2018年1月21日 (日) 09:37 (UTC)[返信]
Citeテンプレートだけが槍玉に上がっているようですが、Flagiconテンプレートはどうですか?「2017年の政治」ではこちらも使用回数が多いですよ。本質的な必要性を鑑みると、もしFlagiconを外して解決するなら、その方が楽ではないでしょうか。 --49.239.67.212 2018年1月21日 (日) 08:09 (UTC)[返信]
コメント Flagiconテンプレートがある場合とないをプレビューで確認した所、サイズ低減は(1,383,757/2,097,152 バイト)→(1,333,589/2,097,152 バイト)で効果は余りありません。--115.38.210.185 2018年1月21日 (日) 09:22 (UTC)[返信]
コメント ベンチマークを行った結果、Cite系テンプレ以外にも改善の余地があるのでは?というIP 49.239.67.212さんの推察に私も同感です。「2017年の政治」よりもCite系テンプレの使用数が多いこちらの記事では、Cite2系に置換せずともエラーは起こっていません。しかも{{Yes2}}や{{No2}}なども数百使用しています。2017年の政治は、高負荷パーサー関数の数が多いのが気になりますね。どなたかパーサー関数に詳しい方、おられますか?--Mis0s0up会話2018年1月22日 (月) 02:29 (UTC)[返信]
コメント 1) 同じCite系であっても、ネットフリックスの方で使われている Cite web は展開後サイズが少なめなのかもしれません。2) 高負荷パーサー関数の使用数が多いのは{{仮リンク}}で使用しているためです。ページが存在するかどうかを検査することに使われています。3) ソースコード内(本文の最下部)にコメントとして解析情報が埋め込まれています。--Frozen-mikan会話2018年1月22日 (月) 03:31 (UTC)[返信]
情報 入れ子のテンプレート呼び出しは、Mediawikiのバグで二重にpostexpandincludesizeが計上されることがあるという話があるそうです。入れ子が深いcite系テンプレートはこれに当てはまるのでは無いかと思います。Help:テンプレートの制限#展開後読み込み量w:Wikipedia:Template_limits#Post-expand_include_sizeもどうぞ。
また老婆心までに、postexpandincludesizeは、編集を保存しなくても、プレビュー時にページ下部の「構文解析のプロファイリング データ」の「参照読み込みの展開後のサイズ」で確認できます。簡単な確認ならば、サンドボックスの新しい節の編集などでプレビューすると楽です。--MawaruNeko会話2018年1月22日 (月) 15:24 (UTC)[返信]

コメント 話の腰を折るようで申し訳ないのですが、結局のところ最初にTaisyoさんがご提案されたsubst展開が現状ではベストなのではないでしょうか。{{Cite web2}}や{{Cite news2}}ではエラーが発生するようですし、取り敢えず異常が発生した際にsubst展開を採用する形にしていけば当面の問題は解決するように思います。--Zigzag Z会話2018年1月22日 (月) 03:35 (UTC)[返信]

コメント 「{{Cite web2}}や{{Cite news2}}ではエラーが発生する」というのはテンプレがおかしいというわけではなく、サイズオーバーのエラーで表示されていなかったエラー(dateがate)が表示されたのと、表示に使われていない引数workに起因するものです。エラーを見ないまま展開するとdateが抜けてしまうと等あり、ベストとまではいえないと思います。--115.38.210.185 2018年1月22日 (月) 23:51 (UTC)[返信]
コメント なるほど、これでも不具合が生じてしまうのですね。こうなってしまうと、私の思いつく弥縫策としてはサイズオーバーした分は手打ちにするなどといった力技しか浮かびませんね…。提案として出されている記事の分割を行った場合でも、今回はそれで済むかもしれませんが他の記事での事例を考えると問題の先送りにしかなりませんし…。お詳しい方に何らかの対応をして頂けるまで待つしかないのかもしれません。--Zigzag Z会話2018年1月24日 (水) 02:26 (UTC)[返信]
コメント この問題に対し、少しお休みを頂いておりました。このページに対しては{{cite web2}}置き換え及び引数の修正で解決することが確認出来ました。ただ、気になったのは、{{cite web}}利用者が元々引数を間違えて利用している点です。間違えている引数を受け止めるようなテンプレートなのか。それとも間違えに気がついていないのか、元々問題の多い編集内容に思います。まあ、出典が多くなりそうな記事に対してはベタ打ち推奨にしてしまうか、{{cite web2}}多用を推奨するかどちらかに思います。けど、今回の記事を見ていて他の記事にも引数間違いが多くありそうで、機械的な置き換えは非常に恐ろしいと感じてしまいました。まあ、BOTで間違い修正も出来るとは思いますが、{{cite web}}利用者が正しい引数を使うように心がけることも大事に思います。--Taisyo会話2018年1月29日 (月) 13:11 (UTC)[返信]
コメント 引数に関する指摘は私も感じているところであり、{{cite news}}系でもagencyとpublisher、workなどの混同が目立ちます。目に入ったものは可能な限り修正していますが、現実的に考えて人力で全てを直すのは難しいように思います。Botに依頼するのも手ですが、簡単に識別できる引数など以外は記事破壊につながる恐れもあるので難しいでしょう。ただ、{{cite news}}系の場合は特定の引数の解説がサブページに記載されていない問題もあるため、間違えて使用されてきたのもある意味では仕方ないのかもしれません(この話題は以前Wikipedia:井戸端/subj/Template:Cite newsのパラメータで俎上に上がりました)。{{cite web}}系も含め、広く引数の正しい用法を周知していく必要がありますね。話を戻すと、今回のような事例が起きた際はTaisyoさんがご提案された内のどちらかにした方が良いと思います。他により適した方法があればいいのですが、現状では特に見つからないようですし…。少しだけ気になる点としては、{{cite web2}}では全ての文字がイタリック体になってしまうのでやや読みにくい(見栄えがしない)ところですけれども、それは後々話し合われるべきことですね。--Zigzag Z会話2018年1月30日 (火) 03:06 (UTC)[返信]