操作
Bug(バグ) #2773
完了Task(タスク) #3403: OpenPNE の既存のテストコードが正常に動作するように修正を行う
テンプレートを使用するアクティビティの表示時に、対応するテンプレートが activity_template.yml 内に存在しない場合が想定されていない
開始日:
2012-02-02
期日:
進捗率:
0%
予定工数:
3.6 で発生するか:
Yes (はい)
3.8 で発生するか:
Yes (はい)
説明
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 等が無効化された場合にそのプラグインのテンプレートを必要としているアクティビティは空白として表示されます。
操作