Project

General

Profile

Backport(バックポート) #4058

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

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

Added by isao sano almost 3 years ago. Updated almost 2 years ago.

Status:
Rejected(差し戻し)
Priority:
Normal(通常)
Target version:
Start date:
2016-11-21
Due date:
% Done:

50%


Description

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を設定する。

History

#1 Updated by isao sano almost 3 years ago

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

#2 Updated by isao sano almost 3 years ago

  • Status changed from New(新規) to Accepted(着手)

#3 Updated by isao sano almost 3 years ago

  • Status changed from Accepted(着手) to Pending Review(レビュー待ち)
  • % Done changed from 0 to 50

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

#5 Updated by kaoru n almost 3 years ago

  • Target version changed from OpenPNE 3.8.22 to OpenPNE 3.8.x

#6 Updated by kaoru n almost 3 years ago

  • Target version changed from OpenPNE 3.8.x to OpenPNE 3.8.22

#7 Updated by Shinichi Urabe almost 3 years ago

  • Status changed from Pending Review(レビュー待ち) to Rejected(差し戻し)

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

#8 Updated by kaoru n almost 3 years ago

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 Updated by kaoru n almost 3 years ago

  • Status changed from Rejected(差し戻し) to Pending Review(レビュー待ち)
  • Assignee changed from isao sano to kaoru n

#10 Updated by Shinichi Urabe almost 3 years ago

  • Status changed from Pending Review(レビュー待ち) to Rejected(差し戻し)

#4055 と同様の理由

#11 Updated by kaoru n almost 3 years ago

  • Status changed from Rejected(差し戻し) to Pending Review(レビュー待ち)

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

#12 Updated by Shinichi Urabe almost 3 years ago

  • Status changed from Pending Review(レビュー待ち) to Pending Testing(テスト待ち)
  • % Done changed from 50 to 70

#13 Updated by Chiharu Nakajima almost 3 years ago

  • Status changed from Pending Testing(テスト待ち) to Rejected(差し戻し)
  • % Done changed from 70 to 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 Updated by kaoru n almost 3 years ago

  • Target version changed from OpenPNE 3.8.22 to OpenPNE 3.8.x

#15 Updated by kaoru n almost 3 years ago

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 Updated by kaoru n almost 3 years ago

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

#17 Updated by Youichi Kimura over 2 years ago

  • Status changed from Rejected(差し戻し) to Pending Review(レビュー待ち)
  • Assignee changed from kaoru n to Youichi Kimura

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

#18 Updated by Shinichi Urabe over 2 years ago

  • Status changed from Pending Review(レビュー待ち) to Rejected(差し戻し)

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

#19 Updated by kaoru n almost 2 years ago

  • Parent task set to #4055

Also available in: Atom PDF