Project

General

Profile

Actions

提案 #1159

open

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

Added by Akira Ouchi over 6 years ago. Updated about 5 years ago.

Status:
実装待ち
Priority:
低め
Assignee:
-
Target version:
プラグイン名:
quoted_message
ブランチ:

Description

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

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

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


Files

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

Updated by toshi_a 初音 over 6 years ago

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

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

Actions #2

Updated by Akira Ouchi about 6 years ago

  • Tracker changed from 機能 to 提案
  • Status changed from 新規 to 実装待ち
  • Due date deleted (2018-06-20)
  • Start date deleted (2018-01-26)
Actions #3

Updated by cob odo about 6 years ago

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

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

Actions #4

Updated by Akira Ouchi about 6 years ago

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

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

Actions #5

Updated by cob odo about 6 years ago

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

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

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

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

Actions #6

Updated by cob odo about 6 years ago

書いてから気づきましたが、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ですべて統一してしまってもいいかもしれません。

Actions #7

Updated by toshi_a 初音 about 6 years ago

#1159-6

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

Actions #8

Updated by cob odo almost 6 years ago

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

Updated by cob odo almost 6 years ago

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

Actions #10

Updated by cob odo almost 6 years ago

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

Actions #11

Updated by toshi_a 初音 about 5 years ago

  • Target version changed from 3.6 to 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を引用してコメントする」等と表示できます。

Actions #12

Updated by Akira Ouchi about 5 years ago

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

Actions

Also available in: Atom PDF