RedmineのKnowledgebaseプラグインで500エラー

RedmineにKnowledgebaseプラグインを入れている環境で、特定のタグ、カテゴリを選択すると500エラーが発生するようになりました。
応急処置を施したのでメモしておきます。

1.環境

Redmine version 3.3.0.stable
redmine_knowledgebase 3.2.1
Ruby version 2.3.7-p456 (2018-03-28) [x86_64-linux-gnu]
Rails version 4.2.6

2.事象

Knowledgebaseプラグインのタグおよびカテゴリをクリックすると、下記エラーメッセージが表示されます。

スタックトレースは以下の通りです。

3.原因

エラーが発生しているタグ、カテゴリを整理してみると、最近削除したユーザーが作成したタグ、カテゴリで同エラーが発生しているようでした。

スタックトレースの冒頭にある以下のメッセージから、Knowledgebaseプラグイン、_list_table.html.erbの54行目で問題が起きているようです。
/var/lib/redmine/plugins/redmine_knowledgebase/app/views/articles/_list_table.html.erb:54

該当箇所を確認すると、記事のAuthor=更新者を表示しているところでした。

試しに新規ユーザーで新規カテゴリとタグを作成して、そのユーザーを削除すると再現しました。

4.応急対応

きちんと対応するならIssuesで報告して、更新ユーザーが削除済みの場合は回避するコードを組み込むべきですが、既存Issuesにないか確認するのが一苦労であることと、筆者がRuby(RoR?)はよく分からないことから、Authorが表示されないよう該当箇所を削除することにしました。

具体的には_list_table.html.erbの16行目と52行から59行目を削除します。
ハイライト部分が削除箇所です。

以下手順で実施

5.恒久対応

できればIssuesで報告してアップデートしてもらおうと思います。こちらからコードを提示できればなお良し。
Knowledgebaseプラグイン以外でも、ユーザーを削除すると更新者が表示されなくなるなど不都合があるようなので、不要になったユーザーは削除せずにロックしたほうがよさそうです。

最後までご覧いただきありがとうございました。よろしければ広告もご覧ください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*