Template‐ノート:Twitter

出典: フリー百科事典『ウィキペディア(Wikipedia)』
Jump to navigation Jump to search

変更の提案[編集]

kyubeです。何時からかは把握していないのですが、twitterで仕様変更があったようで、アカウントのページのURLが変更されているようです。具体的には、http://twitter.com/#!/hogehoge です。現状でもリンクできておりますが、(後方互換性のことを考えるとアクセスできなくなることはないのかもしれませんが)いつ旧仕様でアクセスできなくなるか不明であるため、本テンプレートの変更を提案いたします。1ヶ月程度待って反対がないようであれば変更しようと思います。ご意見をお待ちします。 kyube 2011年4月13日 (水) 02:39 (UTC)

反対 「変更があった」というのは誤解です。Twitterは以前から新しいUIへ移行しつつありますが、その段階で新しいUIを利用した場合にのみ#!がつきます。少なくとも、Twitterの利用者でない人(つまり非ログイン状態)で http://twitter.com/aokomoriuta などにアクセスしても転送されたりしません。今後URLがどうなるかについて確たる告知もない状態ですし、現状では変更に反対せざるを得ません。--青子守歌会話/履歴 2011年4月13日 (水) 05:40 (UTC)
ご指摘感謝します。誤認に基づく提案と思われますので、提案を取下げたいと思います。 kyube 2011年4月13日 (水) 05:50 (UTC)

表示リンクのタイトルについて[編集]

勇吹輝野田順子などの記事で見られるのですが、テンプレートの「表示リンクのタイトル」の部分を「ユーザー名(アカウント名)」としている記事が多々見られます。私としては「(アカウント名)」は不要ではないか(アカウント名は、テンプレートの「アカウント名」に含まれ、表示としては重複するため)と思うのですが、「表示リンクのタイトル」の部分は「ユーザー名(アカウント名)」という形にしなければいけないのでしょうか?--Mikouma 2011年4月17日 (日) 13:54 (UTC)

そもそもアカウント名がテキストとして表示されるようになったのは利用者:青子守歌会話 / 投稿記録 / 記録さんのこの編集によるものなので、おそらく「表示リンクのタイトル」にアカウント名が含まれているリンクはそれ以前に追加されたものでしょう。もちろん現在はテンプレートにアカウント名が表示されるようになっているので第2引数にアカウント名を併記することは冗長となり好ましくありません。そればかりか、現在の仕様になる以前からアカウント名の併記が推奨されるような所以はなかったと思います。--Purposefree 2011年4月18日 (月) 12:34 (UTC)
コメント お答えありがとうございます。それでは、「表示リンクのタイトル」に書かれた「ユーザー名(アカウント名)」から「(アカウント名)」を除去しても、テンプレートの使用方法としては問題ないわけですね。--Mikouma 2011年4月20日 (水) 09:23 (UTC)

提案:「ツイッターアカウント」と「リンクタイトルの括弧内文字列」が重複している問題の改善[編集]

下記を提案します。

  • 問題:現状では、「ツイッターアカウント」と「リンクタイトルの括弧内文字列」が重複している場合、「ツイッターアカウント」が下記のように重複して表示されており、見た目が悪いです。
例:「レイチェル・マドー」など他多数。
「Rachel Maddow MSNBC (maddow) (maddow) - Twitter」
  • 改善案:「ツイッターアカウント」と「リンクタイトルの括弧内文字列」が重複している場合は、ツイッターアカウントの括弧表示を行わないようにします。
    改善後の表示例
    例:「レイチェル・マドー
    「Rachel Maddow MSNBC (maddow) - Twitter」
サンドボックスと、テストケース1234(2011年9月21日のjawikiダンプから{{Twitter}}使用全箇所を抽出したもの。)を作成いたしましたので、何かお気づきの点などありましたらコメントください。ご意見なければ2週間後に適用する予定です。--bcxfu75k 2011年9月27日 (火) 07:10 (UTC)
テンプレートに適用いたしました。--bcxfu75k 2011年10月11日 (火) 23:19 (UTC)

ウィキデータ追加提案[編集]

twitterアカウントはd:Property:P2002が対応しています。このリンクをテンプレートに追加してほしいです。追加すればtwitterユーザー名がなくても呼び出せるようになります。--Rain night 2016年4月12日 (火) 08:33 (UTC)

  • 入れようとしたのですが表示が上手くいきませんでした。Template:Twitter/sandboxで--Nami-jaさんがテストされている版なら大丈夫なようなのでこのサンドボックスに置きかえて頂きたいと思います。--Rain night 2016年5月10日 (火) 07:57 (UTC)
    • チェック Nami-jaさんが転記しても構わないと言われたのでsandboxを転記しウィキデータを入れました。--Rain night 2016年5月18日 (水) 00:31 (UTC)

Luaモジュール化提案[編集]

ソースがもうしっちゃかめっちゃかで見づらいことこの上ないことからモジュール:Twitterを書きました。現時点の{{Twitter/sandbox}}でモジュール使用タイプに改変テストしてあり、結果がTemplate:Twitter/testcasesに反映されています。Lua非使用のオリジナルと同じ出力結果が得られていますので使用に際して問題はないものと判断し、テンプレートをLuaモジュール版に差し替えて良いものか賛否コメントを求めます。--Nami-ja(凪海) 会話 / 履歴 2016年5月21日 (土) 15:37 (UTC)

  • Template:Twitter/testcasesで、それぞれ左下がLua非使用のオリジナルの出力結果で、右下が{{Twitter/sandbox}}での出力結果ですよね?私の環境(Windows 10,Google Chrome 50.0.2661.102 m)では、出力結果が全部異なるように見えるのですが…--aki4会話) 2016年5月21日 (土) 23:39 (UTC)
    • 書式が誤っていたようで、いま修正しました。失礼しました。--Nami-ja(凪海) 会話 / 履歴 2016年5月22日 (日) 11:19 (UTC)
  • 賛成 同類の {{facebook}},{{instagram}} とその下位の POST 系({{twitter status}} and likewise )も Wikidata を参照し(さらにトラッキングする方向で)一般化することが必要とされていると思います。モジュール:Twitterを拝見しましたが、これを一般化して {{Official website}}や{{Infobox}}から継承されたテンプレートの |公式サイト= 的なパラメータも包括的にサポートする事も検討しませか?--Ef3会話) 2016年5月22日 (日) 12:09 (UTC)
    • コメント 一般化するなら全パラメータ変数化した方がいいでしょうね。Category:外部リンク用テンプレートにある多数のテンプレートにも[URL TITLE](OPTION TEXT) - [[記事名]]の基本レイアウトで成っているものが多数ありますから、殆どに適用可能かと思います。--Nami-ja(凪海) 会話 / 履歴 2016年5月22日 (日) 13:53 (UTC)
      • Module:SNS-Utilsを作ってみました。
        {{#invoke:SNS-Utils|id=main|name=Wkipedia|name=ウィキペディア|idProp=P2002|lang=ja|formatterProp=P1630|account_pre= (@|account_post= )|category=CAT1|page=[[Twitter]]}}
        ウィキペディア(@Wkipedia) - Twitter
        {{#invoke:SNS-Utils|id=main|name=Wkipedia|name=ウィキペディア|idProp=P2013|lang=ja|formatterProp=P1630|category=CAT1|page=[[Facebook]]}}
        ウィキペディア - Facebook
        {{#invoke:SNS-Utils|main|id=kevin|name=Kevin Systrom|idProp=P2003|lang=en|formatterProp=P1630|account_pre= (|account_post= )|category=CAT1|page=[[Instagram]]}}
        Kevin Systrom(kevin) - Instagram
        post については思案中です。 --Ef3会話) 2016年5月23日 (月) 03:21 (UTC)(s/lang="wiki"/lang="moin"/3 --Ef3会話) 2016年6月2日 (木) 22:54 (UTC))
        • Template:SNS-Utilsを作ってwrapperを固定した方が使い回しやすいんじゃないでしょうか。--Nami-ja(凪海) 会話 / 履歴 2016年5月23日 (月) 14:31 (UTC)
          • モジュール:Argumentsを使わないで frame.args だけでやっていけそうなのと、一般記事から直接参照される事はないモジュールなので、パラメータのaliasは設けないことにしようと思います。上の例も名前付きパラメータに差し替えました(<var>{{1}}, {{2}}</var>は廃止)。モジュールから require() を使って参照することを想定していましたが、Template:SNS-Utilsがあると使い勝手が良さそう(Luaの知識が必須でなくなる)というのはあると思います。--Ef3会話) 2016年5月23日 (月) 21:30 (UTC)
            • コメント ある程度は作成者の好きにやって良いとは思いますが、先日廃止された {{Movielink}} のような案件が起きないようお気をつけください。--Frozen-mikan会話) 2016年5月24日 (火) 08:49 (UTC)
              • 構図は違いますが モジュール:M でもモジュール化で問題が発生しましたね。この辺、Lua書きは「コーディングが面白い」という目先の利益に喰い付いて「合意形成」という重要な観点を見逃しがちで、危険がいっぱいですね(←自戒を込めて)。その点で、ご指摘とてもありがたく思います。もう少し広いところで意思表明をした方がいいと思いますが 井戸端 はちょっと違う気がします。皆様、プロジェクト等で適当なところがあったら教えて下さい(反語的な意味でなく、Request For Comment です)。--Ef3会話) 2016年5月24日 (火) 10:26 (UTC)

────────────────────────────────────────────────────────────────────────────────────────────────────

  • (インデント戻す) 報告 議論活性化のためにWikipedia:コメント依頼、{{facebook}}、{{instagram}}、{{twitter status}}などへ告知しておきました。この場で挙げられているテンプレート以外には告知しておりません。◆現状、【1】採用提案中のモジュール:Twitterを採用する【2】モジュール:Twitterを廃しモジュール:SNS-Utilsで他同様SNSテンプレートの機能も吸収し統合する【3】(モジュール:SNS-Utilsが採用された場合の)細かい仕様についての提案、の3点で話し合われているものと理解していますが、2つのモジュールでそれぞれ別に更新が続いており先に1.と2.をはっきりさせた方がよさ気な気がします。--Nami-ja(凪海) 会話 / 履歴 2016年5月24日 (火) 14:02 (UTC)
    • コメント 個人的には統合仕様タイプのモジュール:SNS-Utilsで既にTwitterテンプレートの現状の機能は全て吸収出来ておりますから、先に作られたモジュール:Twitterは廃止し(その旨/docに追記)モジュール:SNS-Utilsの方を最適化する方向性で議論方針統一した方が楽かなと(廃止…ぁぁ耳が痛い)。--Nami-ja(凪海) 会話 / 履歴 2016年5月24日 (火) 14:02 (UTC)
    • コメント 作った身なので 2. ということになりますが、モジュール:SNS-Utilsモジュール:Twitter(id=59821072)の fork なので廃止と言うより汎用版に発展したと理解いただけると嬉しいです。気が早いのですが、3.の モジュール:SNS-Utilsの仕様ですが、いま劇的に仕様をコンパクトにする方法を考えています。具体的にはフォーマットを行う関数をパラメータで渡す proc の機能をテンプレートからも呼び出せる方法を思いつきました。文章で説明しにくいので実装します。 --Ef3会話) 2016年5月25日 (水) 05:18 (UTC)
      • コメント とりあえずモジュール:SNS-Utils/docと同様にモジュール:Twitter/docにも試験運用中+議論参加のお願いを貼付しました。明確に実装そのものに反対する意見は現在のところ見られませんので、SNS-Unitsの仕様が固まったらモジュール:Twitterの内容を書き換えて(require呼び出し型で)sandboxにてテスト、の方向性でもまだ試験利用出来そうかな。問題がなければTwitterテンプレートから直接呼び出す方向にて、他同種テンプレートも順次実装していく形になるかと思います。◆Twitter、facebookなど既に仕様が固まっているものはモジュール側にてgetTitle()を用いて#invokeが使用されたテンプレート名を取得し、専用の仕様をモジュール内に対応しておいて良いかもしれませんね。--Nami-ja(凪海) 会話 / 履歴 2016年5月25日 (水) 11:06 (UTC)
        • ありがとうございます モジュール:Twitter/docへの案内貼り付けありがとうございます。 require()呼出型の方が良さそうに私も思います。 {{#invoke:}} 版はLuaモジュール化の重要な動機の「ソースがもうしっちゃかめっちゃかで見づらいことこの上ないこと」の再来になりかねません。require()呼出型の中でも proc 引数でフォーマティング関数を渡す方法を標準にしようと思います(いろいろなモジュール/テンプレートから使われるとなると、出来るだけ自由度を高くしたいので)。--Ef3会話) 2016年5月26日 (木) 02:25 (UTC)
  • コメント テストケースではあまりよろしくない結果が残っていますが、モジュール:Arguments の仕様を見てモジュールを修正しました[1]。モジュール内で引数が処理されないバグは直っているものと思います。--Frozen-mikan会話) 2016年5月22日 (日) 21:58 (UTC)
  • 賛成 ソースについてはあまり検討していませんが、提案自体はいいと思います。{{YouTube}}、{{YouTube channel}}、{{ニコニコ動画}}、{{ニコニコチャンネル}}などにも使えそうですね。また、末尾の「- Twitter」なんかは別にモジュール内で処理する必要はないと思います。なお、Module:Twitterは使用実績にないので、詳しくはわかりませんがライセンス上問題なければ削除でいいと思います。モジュールのサンドボックスはモジュール:サンドボックス/利用者名以下に作成することが推奨されますので、注意していただければと思います。--Waiesu会話) 2016年5月25日 (水) 15:25 (UTC)
    • ありがとうございます 思った以上にいろいろなテンプレートで使えそうなので名前の付け方をちょっと間違えてしまったかもしれないと思っています。末尾の「- Twitter」は機能としては蛇足っぽいですね、ただ C言語の printf(関数)の第一引数の様な「フォーマット文字列」を観ると概ねレンダリングが予想できることを意図しました(それが特別に page という引数を設けるまでに事もないので、アプリケーションテンプレート固有の引数もハンドリングできるよう検討しています)。Module:TwitterModule:SNS-Utilsを使い、Template:Twitterから呼び出す方向でいかがでしょうか?、モジュール:サンドボックス/利用者名については、Module:SNS-Utilsを作ったあとに気が付きました。以後注意します。--Ef3会話) 2016年5月26日 (木) 02:25 (UTC)
      • コメント プログラミングに精通していないのであまり専門的な話にはついていけませんが、モジュール:サンドボックス/Waiesu/sandboxの外部リンクモジュール私案(下部にあります)のような感じで、1つのモジュールにまとめることもできると思います。(処理速度についてどちらが優れているかは検証していません。私案の使用例は{{#invoke:}}を使った直接呼び出しですが特別:固定リンク/59884969をご覧ください。)--Waiesu会話) 2016年5月28日 (土) 16:42 (UTC)
        • コメント 拝見しました。悩ましいのは、新しい外部リンクテンプレートを追加するたびに function p.twitter(frame) の様な関数をモジュール内に追加する必要がある点ですが、 {{#invoke:モジュール名|main|wdq=Q918|wdp=P2002'|format=XXX }} の様にテンプレートからモジュールを呼び出す時のパラメータにするのがいいのではないかと思います(最後の format= は Template から lua のコードに書式指定する仕組み)。また、精査する必要がありますが、この提案のように個々の外部リンクテンプレートから直接汎用モジュールを呼び出す方が、require() のコストが不要な分だけ有利に思えます。--Ef3会話) 2016年5月29日 (日) 00:44 (UTC)
          • コメント ありがとうございます。そうですね。|format=は文字列処理が多くなりそうで敬遠していましたが、意外とそうでもなさそうですね。モジュール:サンドボックス/Waiesu/sandboxの最下部に作ってみましたが、もはや引数によるものが多すぎてモジュールである必要性が感じられなくなってきました…。--Waiesu会話) 2016年5月29日 (日) 04:27 (UTC)
            • コメント function p.exlink(frame) 拝見しました。Cの strftime や printf のフォーマットような、小規模な書式化言語を考案する事が必要なのかもしれません(ruby の #{式} の様な自由度の高いものが(汎用性を考えると)いいと思いますが、目的に対してやり過ぎ感は否めません;loadstring が mediaWiki でも使えればよかったんですが...;モジュール:SNS-Utils#使用例(案のマイクロテンプレートは、この問題をTemplateレベルで解決する案なのですが、書式化のためのファイルを用意するのが直感的な理解を妨げているのが難点です)。ただ、 twitter型、 facebook型、instagram型などのカタログ化したフォーマットで需要の8割以上はカバー出来そうですし、 p.exlink() で頻度が高く使われるフォーマットはカタログに追加する方向でどうでしょうか? --Ef3会話) 2016年5月29日 (日) 10:19 (UTC)
────────────────────────────────────────────────────────────────────────────────────────────────────
コメント カタログ化の定義が捉えられないのですが、出力型(URLもウィキデータを呼び出せば)はモジュール:サンドボックス/Waiesu/sandboxの通り{{facebook}}、{{instagram}}、{{Ameba ブログ}}、{{ニコニコチャンネル}}は同じなので({{twitter}}もidの頭に@がつくこと以外は同じ)、それらをまとめることはいいと思います。ただし、ポスト系はかなり異なるので、そういったカタログあり/なしのソースの例があればうれしいです。--Waiesu会話) 2016年5月29日 (日) 16:39 (UTC)
コメント カタログ化 ≒ 同じ出力型の共用 ぐらいの感じです。 twitter型の様な名前にするとtwitter以外で使ってはいけないように感じるので (仮称) type1 と言うことにして実装例を作ってみました(モジュール:サンドボックス/Ef3/ExLink)。実行例:モジュール‐ノート:サンドボックス/Ef3/ExLink/testcases。{{Twitter}}のイミュレーションをするテンプレートは下のようになります。{{Facebook}}や{{Instagram}}も最小限の差異の吸収のための記述ですみます。post/status系のテンプレートをtype1で実装することも出来そうですが、素直にtype2を作ったほうが良さそうです。
{{#invoke:サンドボックス/Ef3/ExLink | type1
| id			= {{{1|{{{id|}}}}}}
| name		= {{{2|{{{name|}}}}}}
| from		= {{{from|}}}
| links		= {{{links|}}}
| idProp		= P2003
| formatterProp	= P1630
| service		= Instagram
}}
{{#invoke:サンドボックス/Ef3/ExLink | type1
| id			= {{{1|{{{id|}}}}}}
| name		= {{{2|{{{name|}}}}}}
| from		= {{{from|}}}
| links		= {{{links|}}}
| idProp		= P2013
| formatterProp	= P1630
| noAccount	= yes
| service		= Facebook
}}
{{#invoke:サンドボックス/Ef3/ExLink | type1
| id			= {{{1|{{{id|}}}}}}
| name		= {{{2|{{{name|}}}}}}
| from		= {{{from|}}}
| links		= {{{links|}}}
| idProp		= P2002
| formatterProp	= P1630
| account_prefix	= @
| service		= Twitter
}}


--Ef3会話) 2016年5月30日 (月) 02:14 (UTC)
コメント (多分使用なさっている)オブジェクト指向についてはよくわからないですが、ソースを見るかぎり、本提案の目的であるソースを読みやすくすることが達成できていないと思います。またテストケースのTransclusion expansion time reportを見ると処理時間が元より長くなっているようなので、今のところは保留とします。--Waiesu会話) 2016年5月30日 (月) 12:50 (UTC)
────────────────────────────────────────────────────────────────────────────────────────────────────
{{#invoke:サンドボックス/Ef3/Twitter status | render
| id			= {{{1|}}}
| post		= {{{2|}}}
| label		= {{{3|}}}
| lang		= {{{lang|}}}
| from		= {{{from|}}}
| idProp		= P2002
| formatterProp	= P1630
}}
require('Module:No globals')
local ExLink = require('モジュール:サンドボックス/Ef3/ExLink')

return {
	render = function(frame)
		local el = ExLink.new(frame and frame.args or frame or {})
		local args = el.args
		return ("[%s/status/%s %s]"):format(
			el:url(),
			args.post,
			args.label or ("%sのツイート (%s)"):format(el:id(), args.post))
	end
}

モジュールで参照されているargs.post,args.labelは、テンプレートのinvokeに渡されたパラメータ |post=,|label=に対応し、el:url(),el:id()は ExLink の提供するメソッドです。function ExLink.type1(frame)に比べて、(多様な表示様式をパラメータで切り替えるコードがない分)かなり簡素で読みやすいと思います。この設計は、デザインパターンで言えばAbstract Factory パターンです(若干Prototype_パターンより)。このような設計になっているのは、「共通機能」(プロパティの参照や {{lang}} 相当の機能など)と「実際のレンダリングを実装する部分」を(効率を犠牲にせず)分離するためです。「読みやすさ」「実行効率(とメモリーフットプリント)」は重要な観点です。「読みやすさ」(使いやすさ)の要素としてAPIの整備があると思いますが、ここではAPIをメソッドとして実装しました。また、実行時間を定量的に測るためにExLink.timeit()を用意しました(pythonの同名の関数の機能を提供します)。これで測った限りメタテーブルを使っていることの影響は数値には現れませんでした。むしろ ExLink のインスタンスを再利用すれば、高コストなrequire(モジュール)を都度呼び出す必要がなくなり、実行時間とメモリフットプリントに良い影響を与えます。--Ef3会話) 2016年6月2日 (木) 04:18 (UTC)

コメント丁寧な説明ありがとうございます。テストケースのTransclusion expansion time reportを見る限り、facebook以外は高速になっていますので、賛成します。なぜfacebookのみ遅いのかはわかりませんが、できれば改善してほしいと思います。読みやすさについては提案者さんの判断でお願いしたいと思います。--Waiesu会話) 2016年6月4日 (土) 10:53 (UTC)
コメント「1回の呼び出し当たり数ミリ秒テンプレートの実行時間は問題にすべきではないと思います」というのが模範解答なんでしょうが、モジュールの実行時間を定量的に評価するいい機会なので(HTMLソースのコメントに残される)Transclusion expansion time reportの統計より粒度が小さい毎回のテンプレート呼び出しを対象に計測するモジュール(モジュール:サンドボックス/Ef3/Timeit)を書いて実際にテンプレート間の実行時間の違いを実測してみました(モジュール‐ノート:サンドボックス/Ef3/ExLink/testcases/timeit)。興味深いのは、どのテンプレートも1回目の展開時間より2回目3回目の方が明らかに速いことです。これはMediaWikiがテンプレートや記事の閲覧要求が出るたびWikitexiをパースし、テンプレートを展開し、モジュールを実行している・・・のではなく、コンテンツのハッシュ値を前回と比較し一致していたらキャッシュ上のコンテンツを表示しているからです(このほかハウスキーピング用のバックグランドの記事再生成にキックされる場合もあります)。2回目以降のテンプレート呼び出しが早くなっていることから判るように、数ミリ秒と計測されるテンプレート展開の頻度も更に低いと考えられます(参考:ParserCache.php、jawp は 1.28.0-wmf.4 なので完全に同一ではありません)。モジュール:サンドボックス/Ef3/Timeit はテンプレートの他、関数やメソッド単位の計測も出来るので既存のテンプレートやモジュールの性能評価に使えます(__callメタ関数を利用すれば、より広範な関数/メソッドの性能測定が出来そうです)。--Ef3会話) 2016年6月6日 (月) 07:32 (UTC)
コメント 時間計測用のモジュール作成ありがとうございます。{{facebook}}に関してもあまり処理速度の差異はないようですので、{{twitter}}などをモジュールに移行して問題ないと思います。(これらのテンプレートに関して言えば同一記事内で複数回呼び出されることは稀でしょうからそういったことはあまり気にしなくていいと思います。)--Waiesu会話) 2016年6月6日 (月) 09:34 (UTC)

報告 モジュール:SNS-Units関係の議論が停止して1ヶ月以上を経過しておりますので、コメント依頼ほか他テンプレートに告知しておりました提案告知テンプレートは全て除去しました。議論再開時に改めて他編集者の目に付くところに掲示する形で良いと思います。--Nami-ja(凪海) 会話 / 履歴 2016年7月24日 (日) 05:40 (UTC)

賛成 議論が1ヶ月近く止まっているのですが結局モジュール化するんですか?ここまでソースコードについて詰めておいてやっぱりなしとするのはもったいないと思います。方向も良いと思いますし、ソースも簡単にですが読む限り問題ないと思います。--Mirinano会話) 2016年7月2日 (土) 07:16 (UTC)
コメント 反対している意見はないので、とりあえずモジュール:SNS-Utilsを使用する前提で実装して良いものと思います。反対意見ではなく「実装するに際してのソースの妥当性と他の同種テンプレートを統合する二次提案」を議論している感じですから、テンプレート:Twitterにて先行実装しても(既に表示テストは終了しているわけですし)何ら問題はないのではないかと。◆「モジュール化するからには必ず元のテンプレートより高速化されなければならない」といったルールはモジュール作成の方針で明文化されているわけではないのでモジュール化提案とは別個の議論として扱い、後で問題を感じる人たちがモジュールのノートの方に場を移して(モジュールソースを書き換えるなり新規に書き起こすなど、テンプレート利用とは別の問題として)議論する方向性としてもいいんじゃないでしょうか。--Nami-ja(凪海) 会話 / 履歴 2016年7月4日 (月) 05:28 (UTC)
コメント そうですね。先にTwitterには実装しても良いと思います。WaiesuさんとEf3さんが必要であれば再度議論を建てていただくのが良いかもしれませんね。--Mirinano会話) 2016年7月9日 (土) 06:56 (UTC)
コメント Template:Twitter/sandbox 2016年7月10日 (日) 10:36 (UTC) の版モジュール:SNS-Utils/docに記載の{{Twitter}}用例を移入してみたのですが、Template:Twitter/testcasesではTemplate:Twitter/tmplが存在しないことによるLuaエラーが出ており、正直申しましてTemplate:Twitter/tmplのサブテンプレートに入っているべきデータ内容がどんなものなのか(恐らく他SNS用テンプレートとの共通化を図るために必須のサブテンプレート仕様なのでしょうけれども)見当もつきません。
あと1週間ほど様子を見て、モジュール:SNS-Utilsを書かれたEf3さんが議論へお戻りになられなければ先に作成されて問題なく動くことが判明しているモジュール:Twitterを使用する前提の現状のTemplate:Twitter/sandboxを使用しましょうか。1週間以内にTemplate:Twitter/tmplを作成しモジュール:SNS-Utilsが有効に動くように出来る識者の方が現れたなら当初の予定通りそちらを利用する形で良いでしょう。--Nami-ja(凪海) 会話 / 履歴 2016年7月10日 (日) 11:20 (UTC)
情報 Module:SNS-Utilsを見る限り、Template:Twitter/tmplの内容は[{{{url}}} {{{name}}}]{{{account}}} - Twitterのようです。(モジュールを少しいじって直接|templ=で文字列を指定してもよさそうですが)--Waiesu会話) 2016年7月11日 (月) 14:06 (UTC)

報告 1週間以上経過しましたのでモジュール:Twitterの方を利用する形でテンプレートに反映しました。Template:Twitter/tmplを作成しなかったのは新しくサブテンプレートを作成・運用することでテンプレートテスト期間がまた必要になり長期化しそうと考えたことと、既にテストが終わっていて問題が発生していないモジュール:Twitterの方が利用しやすかったためです。意見を下さった皆様、長らくの議論参加ありがとうございました。--Nami-ja(凪海) 会話 / 履歴 2016年7月19日 (火) 08:13 (UTC)

Lua化後のウィキデータにないことを示すエラーについての対処[編集]

上記提案とは別の提案内容に移っていると判断し節を改めました。--Nami-ja(凪海) 会話 / 履歴 2016年7月26日 (火) 07:50 (UTC) コメント ウィキデータにない記事でIDを省略するとエラーが出るようになったのですがこの文面をSportsReferenceのように日本語化出来ないでしょうか。Category:ウィキデータにないデータの追跡カテゴリがあるのですが、Category:ウィキデータにないTwitterを作ってチェック出来ないでしょうか。--Rain night 2016年7月22日 (金) 03:24 (UTC)

  • Lua エラー モジュール:Twitter 内、28 行目: ウィキデータにIDが登録されていません。
報告 応急措置として、エラーを日本語化、カテゴリ追加しました(差分)。今のところカテゴリは作らず、カテゴリの名前、エラー回避の方法はここで議論しましょう。--Waiesu会話) 2016年7月22日 (金) 04:15 (UTC)
fromは必須ではないので、エラーの文言の「|from=が指定されていないか、」を除去して「エラー: ウィキデータにIDが登録されていません。」の方が良いのではないでしょうか?追加する隠しカテゴリの名前は、他と合わせる形で「Category:ウィキデータにないTwitter」で良いと思います--aki4会話) 2016年7月22日 (金) 10:00 (UTC)
報告 エラー表示を変更しました。--Waiesu会話) 2016年7月24日 (日) 07:18 (UTC)
コメント エラーメッセージの修正ありがとうございます。カテゴリですが、エラーが出ている記事に入れるのではなくアカウント名を省略したらエラーの出る記事に入れるようにしてくれませんか。Category:ウィキデータにない公式ウェブサイトは6000件近くあるのでtwitterも数1000件くらいあると思います。このないものをウィキデータに追加するbotをどなたか詳しい方に運用して頂けないでしょうか。--Rain night 2016年7月26日 (火) 06:24 (UTC)
コメント ウィキペディアとは別のプロジェクトであるウィキデータ上にあるデータへ加筆またはプロパティを新規作成する提案になりますから、ウィキデータのbot運用者に提案する方向性になるのではないかなと思いました。ウィキデータbotへのウィキペディアからのデータ追加依頼はこちらです。wikidata:Wikidata:Bot_requests。--Nami-ja(凪海) 会話 / 履歴 2016年7月26日 (火) 07:50 (UTC)

追跡カテゴリ付記機能の追加について[編集]

前提のようなものとして、当テンプレートの編集履歴に昨年ウィキデータ追跡カテゴリを付記しようとした編集があり、また同一編集者さんによってCategory:ウィキデータにあるTwitterのユーザー名Category:ウィキデータにないTwitterのユーザー名Category:ウィキデータと異なるTwitterのユーザー名の3カテゴリが作成されていました。これらはen:Template:Twitterの追跡カテゴリ動作挙動をjawpに持ち込もうとしたと思えるもので、同様のことをお考えの別の方もWikipedia:井戸端/subj/Luaエラーについてにて話題に出されておられ、その点についてはそれぞれに当ノート上でモジュール化提案を進めた当方が利用者‐会話:K-iczn#Template:Twitterの改訂について利用者‐会話:Rain_night#モジュール:Twitterについての方で回答致しましたほか、Template:Twitter/sandboxの方にもそのように試作を試みてみました。

で。英語版と日本語版でテンプレート(モジュール)の挙動が異なることがこういった一連の問題に繋がっているものと思えますが、そもそも論として「 (英語版で運用されている)ウィキデータ追跡カテゴリは「何のために」必要なのか 」について既存作成済みカテゴリの今後の使用に合意した上で、【1】モジュールの追跡カテゴリ付記機能を廃し、【2】P2002判定専用のチェックをテンプレート本体側に追加した方がカテゴリメンテナンスの観点から楽である、と思いました。

ので、広く意見を求めます。

なお、現時点での既知の問題点として現状のモジュールに実装されているCategory:ウィキデータにないTwitterと作成済のCategory:ウィキデータにないTwitterのユーザー名でカテゴリ名の相違が発生しているほか、これら作成済3カテゴリは{{WikidataCheck}}を使用する前提のようですが、WP:WDATAの翻訳が2013年から止まっていることもあり、jawp上にはこれらの必要性を示す文書は存在しないようです(ていうかen:WP:WDATAにも説明がなくて何故英語版で作られ始めたのかよくわからない)。また、P2002判定を(別のテンプレート/モジュールを用いて)モジュールとテンプレートで2回行うことになりますので実行速度そのものは(誤差の範囲と思われますが)確実に落ちるもの、と考えられます。◆いっそモジュール:Twitterを廃止してテンプレート自体を英語版より複製した方が全面的に楽、という話も有り得るように思います。

個人的には「邪魔にはならないのであっても良い機能」とは思いますが、英語版でのカテゴリ新造理由、運用方法の利点などが不明確なまま他言語版の運用実態に機械的に合わせる、といった経緯/理由には強く違和感があり、そういった運用方法変更自体に(3万ページ以上で使用されているテンプレートですから)日本語版コミュニティの合意が必要不可欠なのではないかな、と思った次第です。--Nami-ja (会話 / 履歴) 2018年6月8日 (金) 03:04 (UTC)

とりあえずTwitterは何もせず現状維持で良いと考えます。--K-iczn会話) 2018年6月8日 (金) 06:28 (UTC)
  • コメント あるはいらないのですが、ないと異なるは作ってほしいです。ないはウィキデータに追加を、異なるはどちらかが間違っているので確認して修正してほしいです。Twitterはユーザー名を変えられるしやめてしまう人も少なくないので、リンク切れになることも少なくないでしょう。隠しカテゴリなので作成しても困らないと思うのですが。カテゴリを使わないと決定した場合は削除依頼をお願いします。--Rain night 2018年6月9日 (土) 06:41 (UTC)
  • コメント template:Twitterの呼び出しに関しては、1つの記事で複数のアカウントにリンクしているケースがあります。複数のアカウントをウィキデータと同期することは出来ませんので「ないはウィキデータに追加を、異なるはどちらかが間違っている」とは限らないのではないでしょうか?--aki42006会話) 2018年6月9日 (土) 07:37 (UTC)
    • コメント Template:Ameba ブログのカテゴリでCategory:ウィキデータと異なるAmeba Blog IDCategory:ウィキデータにあるAmeba Blog IDCategory:ウィキデータにないAmeba Blog IDを作成したのですが、異なるにある記事のほとんどは複数のリンクがあるものです。単一値制約でないテンプレートはカテゴリを作らないほうがいいのでしょうか。これらのカテゴリを作成した理由は、ウィキデータをテンプレートに入れたらカテゴリが自動的に作成されてしまったからです。twitterのカテゴリが不要と判断されたらこのカテゴリも廃止するべきでしょうか。Template:WikidataCheckでカテゴリを作らなくてもウィキデータにない場合省略したらエラー表示させるように出来ますか。--Rain night 2018年6月9日 (土) 08:22 (UTC)
      • コメント 現状で既に(というか前回のRain nightさんのエラーカテゴリ実装提案時に)ID入力がなく、P2002にIDがない場合はCategory:ウィキデータにないTwitterに分類されてエラーメッセージが表示される仕様になっています。 / で、大前提としてプレビューや保存時点で表示テンプレートにでかでかとエラーメッセージとエラー理由が表示された場合、ほとんど全ての編集者は(放置できかねる自身の重大な入力ミスであると考えて)エラー理由を是正しようと修正を試みるか、テンプレート使用自体を諦めて入力前状態に戻すであろう(エラー表示を消すように努力するであろう)という理由を鑑みますとこれは分類(エラー放置)される可能性が著しく低いエラーカテゴリなのであり、実装時点から現在に至るまでカテゴリ赤リンクがそのままとなっているのも実際にエラー放置がほぼ発生していないためであり、エラーカテゴリへの分類が増えないのはごく当たり前の状態、とも考えられるように思います。--Nami-ja (会話 / 履歴) 2018年6月9日 (土) 23:29 (UTC)
      • Symbol comment vote.svg 追記 参考までに、エラー表示というのはウィキデータにIDが登録されていません。がそのままテンプレート末尾に追加され、Category:ウィキデータにないTwitterおよびCategory:スクリプトエラーがあるページの隠しカテゴリに分類されます(普通、コレが表示されてそのまま放置する編集者はまず居ないでしょうし、放置されても見つけた別の編集者が早急に修正を試みるでしょう。--Nami-ja (会話 / 履歴) 2018年6月9日 (土) 23:29 (UTC)