プロジェクト

全般

プロフィール

Backport(バックポート) #4058

Bug(バグ) #4055: OpenPNE が http://example.com/sns/ のようにサブディレクトリ以下に設置されている場合に、通知センターからアクセスする日記やコミュニティのURLが正しくない

OpenPNE が http://example.com/sns/ のようにサブディレクトリ以下に設置されている場合に、通知センターからアクセスする日記やコミュニティのURLが正しくない

isao sanoほぼ2年前に追加. 12ヶ月前に更新.

ステータス:
Rejected(差し戻し)
優先度:
Normal(通常)
担当者:
対象バージョン:
開始日:
2016-11-21
期日:
進捗率:

50%


説明

Overview (現象)

OpenPNE が http://example.com/sns/ のようにサブディレクトリ以下に設置されている場合に、通知センターから日記等にアクセスする場合、http://example.com/sns/diary/1 のようなURLになるべきであるが、http://example.com/diary/1 にアクセスしてしまう。

Causes (原因)

source:web/js/jquery.notify.js にて window.location に linkUrl を設定しているが linkUrl には、「/diary/1」等が設定されているため、そのまま window.location に設定すると、サブディレクトリが無視されてしまう。

$.fn.pushLink = function(settings){
    settings = $.extend({
      isDisableRead: false,
    }, settings);

    return this.each(function(){
      var linkUrl = $(this).attr('data-location-url');
      var notifyId = $(this).attr('data-notify-id');
      $(this).click(function(){
        if ( false == settings.isDisableRead )
        {
          $.getJSON( openpne.apiBase + 'push/read.json' , { 'id': notifyId, 'apiKey': openpne.apiKey }, function(d){
            window.location = linkUrl;
          });
        }
        else
        {
          window.location = linkUrl;
        }
      });
    });
};

Way to fix (修正内容)

#3365 にて追加された openpne.baseUrl を利用して、window.location にURLを設定する。

履歴

#1 isao sanoほぼ2年前に更新

  • 関連している Bug(バグ) #4055: OpenPNE が http://example.com/sns/ のようにサブディレクトリ以下に設置されている場合に、通知センターからアクセスする日記やコミュニティのURLが正しくない を追加

#2 isao sanoほぼ2年前に更新

  • ステータスNew(新規) から Accepted(着手) に変更

#3 isao sanoほぼ2年前に更新

  • ステータスAccepted(着手) から Pending Review(レビュー待ち) に変更
  • 進捗率0 から 50 に変更

https://github.com/openpne/OpenPNE3/pull/394
にてプルリクエストしました。

#5 kaoru nishizoeほぼ2年前に更新

  • 対象バージョンOpenPNE 3.8.22 から OpenPNE 3.8.x に変更

#6 kaoru nishizoeほぼ2年前に更新

  • 対象バージョンOpenPNE 3.8.x から OpenPNE 3.8.22 に変更

#7 Shinichi Urabeほぼ2年前に更新

  • ステータスPending Review(レビュー待ち) から Rejected(差し戻し) に変更

親チケットと同様の理由で差し戻し

#8 kaoru nishizoeほぼ2年前に更新

https://github.com/openpne/OpenPNE3/blob/stable-3.8.x/apps/pc_frontend/templates/_layout.php#L22
のように、openpne.baseUrl は末尾に '/' が一つ付与されるため、data-location-url の先頭の '/' を取り除いて文字列を連結するように プルリクエストを更新しました。
https://github.com/openpne/OpenPNE3/pull/394

#9 kaoru nishizoeほぼ2年前に更新

  • ステータスRejected(差し戻し) から Pending Review(レビュー待ち) に変更
  • 担当者isao sano から kaoru nishizoe に変更

#10 Shinichi Urabeほぼ2年前に更新

  • ステータスPending Review(レビュー待ち) から Rejected(差し戻し) に変更

#4055 と同様の理由

#11 kaoru nishizoeほぼ2年前に更新

  • ステータスRejected(差し戻し) から Pending Review(レビュー待ち) に変更

変換文字列をダブルクォートではなくシングルクオートで囲むように修正しました
https://github.com/openpne/OpenPNE3/pull/394

#12 Shinichi Urabeほぼ2年前に更新

  • ステータスPending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
  • 進捗率50 から 70 に変更

#13 Chiharu Nakajimaほぼ2年前に更新

  • ステータスPending Testing(テスト待ち) から Rejected(差し戻し) に変更
  • 進捗率70 から 50 に変更

以下のように、コミュニティトピックへのリンクとメッセージへのリンクのURLが正しくありません(日記への遷移はOKです)。

http://example.com/sns/ がベースURLの場合
自分の日記にコメントが付いた時の通知『1件の日記に新着コメントがあります』→ http://example.com/sns/diary/1 となる(OK)
自分が作ったトピックにコメントが付いた時の通知『1件のトピックに新着コメントがあります』→ http://example.com/sns/sns/communityTopic/1 となる(NG)
自分にメッセージが届いた時『新着メッセージが1件あります!』→ http://example.com/sns/sns/message/read/1 となる(NG)

動作確認を行ったプラグインのバージョン
opDiaryPlugin(ver1.5.1.1)
opCommunityTopicPlugin(ver1.1.2.1)
opMessagePlugin(ver2.0.0)

#14 kaoru nishizoeほぼ2年前に更新

  • 対象バージョンOpenPNE 3.8.22 から OpenPNE 3.8.x に変更

#15 kaoru nishizoeほぼ2年前に更新

opCommunityTopicPlugin(ver1.1.2.1), opMessagePlugin(ver2.0.0) については、それぞれプラグイン内でサブディレクトリに考慮しているため、通知センター内でサブディレクトリを付与することで二重になってしまう。

opCommunityTopicPlugin(ver1.1.2.1)
https://github.com/tejimaya/opCommunityTopicPlugin/blob/dev-1.1.x/lib/util/opCommunityTopicPluginUtil.class.php#L7
opMessagePlugin(ver2.0.0)
https://github.com/tejimaya/opMessagePlugin/blob/master/lib/util/opMessagePluginUtil.class.php#L22

プラグインへの影響を考慮すると、リリースするかどうかを検討する必要があるので、リリースを保留にします。

#16 kaoru nishizoeほぼ2年前に更新

#4055-13 のように修正することとします

#17 Youichi Kimura1年以上前に更新

  • ステータスRejected(差し戻し) から Pending Review(レビュー待ち) に変更
  • 担当者kaoru nishizoe から Youichi Kimura に変更

#4055-17 をバックポートする Pull Request を作成しました
https://github.com/openpne/OpenPNE3/pull/448

#18 Shinichi Urabe1年以上前に更新

  • ステータスPending Review(レビュー待ち) から Rejected(差し戻し) に変更

#4055-19 と同様の理由で差し戻します

#19 kaoru nishizoe12ヶ月前に更新

  • 親チケット#4055 にセット

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