Redmineのカテゴリをバージョン同様にサブプロジェクトで継承利用する


Redmineの下記課題の対応策を公開しました。必要な方はご利用ください。
Share Issues Categories for sub-projects
http://www.redmine.org/issues/5358

本件については下記でも解説しています。
https://www.slideshare.net/y503unavailable/ss-189711783
https://redmine.tokyo/issues/241

課題

Redmineには、カテゴリというチケットを分類する機能がある。
このカテゴリ機能は、プロジェクト単位に項目を設定できるが、サブプロジェクト単位で継承できない。(3.4,4.0現在)
すなわち、親子プロジェクト間で、同じカテゴリを選択できない。そのため、サブプロジェクトを利用している場合、結果的にカテゴリ機能を有効活用できないのが現状である。
サブプロジェクトで同じ名前のカテゴリを作成しても、親プロジェクトのカテゴリ定義とは別物(別ID)として取り扱われる。
結果的にカスタムクエリで同一に利用できない。

カテゴリと類似したバージョン機能では、サブプロジェクト単位に継承して利用できる。
http://blog.redmine.jp/articles/redmine-0_9-version-inheritance/

課題の具体例

システムの利用部署単位、および全体で案件管理したい場合、利用部署のサブプロジェクトを作成し、カテゴリで案件を分類するのが自然。
利用部署毎/全体のカテゴリ単位集計も容易に行える。
しかし、カテゴリのサブプロジェクト継承が行えないため、現状では上記運用が行えない。

対策

Redmine3.4 ,及び trunkに対して、Redmineのコードを修正し、バージョンと同様にカテゴリもサブプロジェクトで継承利用可能とした。
必要な方はご利用ください。

3.4ベース対応版(本件以外の変更含)
https://github.com/y503unavailable/redmine/tree/3.4-unofficialcooking

trunk対応版(4.1候補に本修正のみ実施)
https://github.com/y503unavailable/redmine/tree/feature-category-trunk20190629

選択画面サンプル
https://twitter.com/y503Unavailable/status/1005658604681158656

参考

本件は、Redmine本家に非常に多くの要望が出ている。(現在2位)
2.6までのパッチは公開されていたが、3.X以降が無かったので対応した。
多数の要望が出ており、Redmine本家に取り込まれるべき機能と考える。
賛成の方は、Redmine本家5358に +1 記入し意思表示してください。

Share Issues Categories for sub-projects
http://www.redmine.org/issues/5358

Redmine.org incomplete tickets vote count list(over 5 cases 2018/12/15)
http://www.redmine.org/boards/1/topics/56452

(日本語の説明は↓参照)
カテゴリをサブプロジェクトで継承利用したい(バージョン同様)
https://redmine.tokyo/issues/241

補足

カテゴリではなく、カスタムフィールド(リスト)の選択項目に登録する方法もある。しかし、選択項目の編集はadminのみ可能なため、adminの負荷増大 または admin権限IDの乱発を招き兼ねない問題がある。