Backport(バックポート) #3465
テンプレートを使用するアクティビティの表示時に、対応するテンプレートが activity_template.yml 内に存在しない場合が想定されていない
100%
説明
Overview (現象)¶
opCommunityTopicPlugin や opDiaryPlugin など、activity_template.yml を使用したアクティビティ投稿機能を持つプラグインで発生します。
これらのプラグインによって投稿されたアクティビティが残っている状態で、activity_template.yml を使用するプラグインを全て無効化すると Configuration "config/activity_template.yml" does not exist or is unreadable.
とエラーが出力されます。
再現する手順¶
- opCommunityTopicPlugin を OpenPNE3 に追加・使用可能にする
- pc_backend にて、
- opCommunityTopicPlugin 設定画面 (/pc_backend.php/opCommunityTopicPlugin) から「アクティビティ更新設定」を「使用する」に設定し、コミュニティトピック作成時にアクティビティが投稿される状態にする
- ガジェット設定画面 (/pc_backend.php/design/gadget) から、ホーム画面に「アクティビティ」ガジェットが表示される状態にする
- SNSにログインし、コミュニティのトピックを作成する
- トピック作成時に投稿されたアクティビティがホーム画面に表示される
- pc_backend のプラグイン設定 (/pc_backend.php/plugin/list) から opCommunityTopicPlugin 及び opDiaryPlugin を無効化する
- ホーム画面を再度表示すると500エラーが表示される
Apacheのエラーログには Configuration "config/activity_template.yml" does not exist or is unreadable.
と出力されます。
Causes (原因)¶
OpenPNE コア側に activity_template.yml が存在しない(opCommunityTopicPlugin および opDiaryPlugin 内には存在する)ことによるものです。
Way to fix (修正内容)¶
このエラーは lib/config/config に空の activity_template.yml を作成することで解決します。
なお、後から opCommunityTopicPlugin 等が無効化された場合にそのプラグインのテンプレートを必要としているアクティビティは空白として表示されます。
関連するチケット
関係しているリビジョン
Merge branches 't-3418', 't-3420', 't-3422', 't-3459', 't-3460', 't-3461', 't-3462', 't-3463', 't-3465' and 't-3471' into stable-3.8.x
履歴
#1 Akihiro KOBAYASHI が10年以上前に更新
- ステータス を New(新規) から Accepted(着手) に変更
- 担当者 を Akihiro KOBAYASHI にセット
#2 Akihiro KOBAYASHI が10年以上前に更新
- ステータス を Accepted(着手) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
pull request:https://github.com/openpne/OpenPNE3/pull/92
#3 Youichi Kimura が10年以上前に更新
更新履歴 71b7c85d6fa477da66c35776a0af9c2aabe170a2 で適用されました。
#4 Youichi Kimura が10年以上前に更新
- ステータス を Pending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
- 進捗率 を 50 から 70 に変更
#5 Mutsumi Imamura が10年以上前に更新
- ステータス を Pending Testing(テスト待ち) から Fixed(完了) に変更
- 進捗率 を 70 から 100 に変更
./symfony test:all を実行し異常終了しないことを確認しました。
ブラウザからの動作テストも問題ありません。