プロジェクト

全般

プロフィール

提案 #1159

未完了

「ツイートのURLをコピー」「コメント付きリツイート」を他のWorldに配慮する

Akira Ouchi さんがほぼ7年前に追加. 5年以上前に更新.

ステータス:
実装待ち
優先度:
低め
担当者:
-
対象バージョン:
プラグイン名:
quoted_message
ブランチ:

説明

現状は他のWorldでも「ツイートのURLをコピー」「コメント付きリツイート」になっているので
なんかいい感じのメッセージにしたいですね。

  • Worldでメッセージを上書きする……できるのか?
  • どのWorldでも使える無難なメッセージにする

なんか前者はなんかあまりそういうのやりたくないなあと(World開発する側的に)は思うのですが、
後者は後者で難しそうだなぁ、、、と思いました。


ファイル

aboutuser.patch (860 Bytes) aboutuser.patch cob odo, 2018-09-02 02:03

toshi_a 初音 さんがほぼ7年前に更新

  • 期日2018-06-20 にセット
  • Worldでメッセージを上書きする……できるのか?
  • どのWorldでも使える無難なメッセージにする

俺も後者のほうが良いかなと思います。Worldを提供するプラグインはどのようなコマンドが提供されるか予め分かっていないからです。
あと後者の方だとテキストを変えるだけなので実装難易度も低いため、後々考え方が変わって修正するにしても手戻りが少なくて良さそうです。

Akira Ouchi さんが6年以上前に更新

  • トラッカー機能 から 提案 に変更
  • ステータス新規 から 実装待ち に変更
  • 期日 を削除 (2018-06-20)
  • 開始日 を削除 (2018-01-26)

cob odo さんが6年以上前に更新

「ツイートのURLをコピー」は、単純に「メッセージのURLをコピー」あたりで差し障りないような気がします。「ステータス」だとわかりづらそう。

「コメント付きリツイート」は、現在の挙動は(公式|非公式)リツイートとも全く無関係で、単にperma_linkを追加してコメントする形になっているようなので、全然違う名前がよさそうですね。
「URLを引用してコメントする」くらい説明的な方がいいのかなと思いますが、これだとin_reply_toが付くことが連想できないのと、本文中に登場するURLを引用するのかと誤解を招くかもしれません。

Akira Ouchi さんが6年以上前に更新

メッセージよさそうですね。

はてなハイクだと単位はエントリーでした。エントリーってもはやあまり聞かないけど。
あとは何でしょうね。Permalink?

cob odo さんが6年以上前に更新

「ユーザについて」コマンドの名前を変えるパッチを書きました。

  • タイムラインに表示されるModelはuserメソッドを持っていてDiva::Modelを返すのが要件
  • Diva::Modeltitleメソッドを持っていて、適宜オーバーライドされる(オーバーライドされなくても最低限呼ぶことはできる)。

ということを利用しています。

長過ぎると最悪画面からはみ出してしまってマズいかなと思い、適当な長さで切っています。

cob odo さんが6年以上前に更新

書いてから気づきましたが、Plugin::Twitter::Usertitleの実装が、

  def title
    "#{idname}(#{name})" 
  end

で、:aboutuserコマンドのタイトルでもUserの場合だけ
            if defined? opt.messages.first and opt.messages.first.user.is_a?(User)
              u = opt.messages.first.user
              (_("%{screen_name}(%{name})について") % {
               screen_name: u[:idname],
               name: u[:name] }).gsub(/_/, '__')

と、同じように文字列を作成して表示しているので、opt.messages.first.user.titleですべて統一してしまってもいいかもしれません。

toshi_a 初音 さんが6年以上前に更新

#1159-6

これはそのとおりですね。やったほうがいいと思います。

cob odo さんが6年以上前に更新

opt.messages.first.user.titleで一般化するとしたら、user_detail_viewプラグインではなく、別のプラグインに移動したほうがいいでしょうか? 例えばcommandプラグインやintentプラグインあたりに。
内容的には:intent_openコマンドとほぼ同じなのでintentプラグインがよさそうかなと思いますが。

cob odo さんが約6年前に更新

#1159-5#1159-8 は、別途 #1298 に出しました。

cob odo さんが約6年前に更新

話を脱線させてしまって申し訳なかったですが、元の話題に戻すと、現状で挙がっている案は、「ツイート」の代替として「メッセージ」、「エントリー」、「Permalink」の3つでしょうか。「リツイート」は単独での代案はなく、 #1159-3 で出ているものくらい、という感じですね。
もう少しアイデアが出るといいのですが。

toshi_a 初音 さんが5年以上前に更新

  • 対象バージョン3.6 から 3.9 に変更

このチケットを忘れたまま一旦実装してしまったのですが、整理するために一旦現状を書きます。

現状

ツイートのURLをコピー

以下のようにすると、Model.registerで登録された名前が取得できます。

opt&.messages&.first&.class&.spec&.name

これを埋め込んで、 '%{model_label}のURLをコピー' と、動的に作られるようにしました。例えば「TweetのURLをコピー」「トゥートのURLをコピー」などと表示されます。

コメント付きリツイート

そのままになっています。

方針

ツイートのURLをコピー

Modelによって動的に変えるのは難しいと書いていましたが、普通にできて、やっていることなので、単純に当てはめてしまいました。
ただ、ショートカットキー設定など、コマンドを単純に列挙するような場合は対象となるModelがないので、どのみち汎用的なタイトルは必要です。
汎用的なタイトルは、コンテキストメニューとあまりにもかけ離れていると分かりづらくなるので、あっきぃが提案した「メッセージのURLをコピー」が良いと思います(現在は、「この投稿」と表記してしまったが、対象がない文脈でこの表記は妙)。

コメント付きリツイート

「コメント付きリツイート」は、現在の挙動は(公式|非公式)リツイートとも全く無関係で、単にperma_linkを追加してコメントする形になっているようなので、全然違う名前がよさそうですね。
「URLを引用してコメントする」くらい説明的な方がいいのかなと思いますが、これだとin_reply_toが付くことが連想できないのと、本文中に登場するURLを引用するのかと誤解を招くかもしれません。

汎用的なタイトルとしては、ツイートのURLをコピーを踏襲して「メッセージのURLを引用してコメントする」などでどうでしょうか。
コンテキストメニューなどで対象がある場合は、「%{model_label}のURLを引用してコメントする」にして、「トゥートのURLを引用してコメントする」等と表示できます。

Akira Ouchi さんが5年以上前に更新

どちらの方針とも良いと思います。

他の形式にエクスポート: Atom PDF