2019/11/2 第17回redmine.tokyo 勉強会 カテゴリのサブプロジェクト継承対応機能追加
@y503unavailable
1
カテゴリのサブプロジェクト継
承対応機能追加
2019/11/2
redmine.tokyo 第17回勉強会
@y503unavailable
2019/11/2 第17回redmine.tokyo 勉強会 カテゴリのサブプロジェクト継承対応機能追加
@y503unavailable
2
自己紹介
名前:奈良 裕記 ( y503unavailable <- httpエラーコード503)
• 製造業で製品開発部門のadminやってます。
– 部門サーバ、LAN、PC、全般の構築/運用/子守
(全社単位の情報システムとは別、部門所属)
• Redmine歴
– 2009年から利用
– 部内SaaSの積りで各種運用中
– Redmine.Tokyoには第4回から参加、現在スタッフ
– サーバ統合事例@第7回勉強会
– Redmineカスタムフィールド表示改善@第10回勉強会
– UnofficlaRedmineCooking関連@第11、12,13回勉強会
– Pythonで本家チケットコピーし集計@第15回
– カテゴリのサブプロジェクト継承@第17回
2019/11/2 第17回redmine.tokyo 勉強会 カテゴリのサブプロジェクト継承対応機能追加
@y503unavailable
3
カテゴリのサブプロジェクト継承
対応機能追加
• カテゴリをサブプロジェクト間で共用する機
能(バージョン同様に)
trunkに対応するパッチを作成しました。
• Redmine本家の要望数は第2位(54件)
Share Issues Categories for sub-projects
http://www.redmine.org/issues/5358
残件-テストコード作成、4.2取込希望
• Redmineコアに取り込まれるまで、必要な方
は自己責任でご利用ください。(Redmica OK?)
2019/11/2 第17回redmine.tokyo 勉強会 カテゴリのサブプロジェクト継承対応機能追加
@y503unavailable
4
カテゴリサブプロジェクト
継承利用例
• RM社の事例
• 商品のクレーム対応状況をRedmineで管理している。
• 支店をRedmineのサブプロジェクトとしている。
(Tokyo支店とOsaka支店)
• 商品をRedmineのカテゴリ機能で区分している。
(「きのこ」「たけのこ」「まんじゅう」)
• 各支店(サブプロジェクト)のクレーム対応状況を、
商品(カテゴリ)毎にまとめて管理したい。
(各支店単位に商品を分けない)
2019/11/2 第17回redmine.tokyo 勉強会 カテゴリのサブプロジェクト継承対応機能追加
@y503unavailable
5
カテゴリサブプロジェクト
継承利用例(画面)
サブPJ間で同一カテゴリを
共用し、上位PJからはまと
めて扱える。
Versionと同様に共有種別
を設定できる。
本機能取込済Redmineの場合
現Redmineでは不可
親PJ内設定のみで完結する
2019/11/2 第17回redmine.tokyo 勉強会 カテゴリのサブプロジェクト継承対応機能追加
@y503unavailable
6
代替策
• カスタムフィールド(リスト)をカテゴ
リの代用とすれば可能だが下記問題有
– サーバ管理者の作業が、選択項目変更時に毎
回発生し、ボトルネックを招く。
– サーバ管理者権限IDの乱発-SEC面問題
– 変更時に毎回サーバ管理者に頼まなければな
らない機能を、ユーザ側が積極的に使いたい
訳が無い
2019/11/2 第17回redmine.tokyo 勉強会 カテゴリのサブプロジェクト継承対応機能追加
@y503unavailable
7
カテゴリのサブプロジェクト継承
対応機能(Versionと同じ動作)
• カテゴリのサブプロジェクト継承対応機能(本家5358,11898)
• trunk未対応だが、Versionと同じ処理で動作するコード
を実装した。
• Redmineコアに取り込まれるまで、必要な方は自己責任
でご利用ください。(次ページリンク)
• 残件はテストコードのみ、4.2の取込希望。
• 本家関連チケット
• http://www.redmine.org/issues/5358#note-108
• http://www.redmine.org/issues/5358#note-111
2019/11/2 第17回redmine.tokyo 勉強会 カテゴリのサブプロジェクト継承対応機能追加
@y503unavailable
8
対応レポジトリへのリンク
• 機能追加済コード
https://github.com/y503unavailable/redmine/tree/featur
e-category-trunk20190629
• パッチファイル
https://github.com/redmine/redmine/compare/master...y
503unavailable:feature-category-trunk20190629.patch
• 注:trunkのコード変更に伴い、パッチ失敗する場合が
あります。その場合は上記GithubにIssue立ててください。
PRでも構いません。
• Redmine4.1リリース後は変更する可能性があります。
2019/11/2 第17回redmine.tokyo 勉強会 カテゴリのサブプロジェクト継承対応機能追加
@y503unavailable
9
利用方法/ニーズは人それぞれ
• チケット数十万件の現場は、この機能無
しで、どう区分しているのかな?
• 使い方が違えば必要な機能は違う。
• versonの継承は初期(0.9.0)に対応されたが、
JPLは何で入れなかったんだろう。
• 設計判断理由が不明。
2019/11/2 第17回redmine.tokyo 勉強会 カテゴリのサブプロジェクト継承対応機能追加
@y503unavailable
10
Redmine本家対応経緯
• バージョンとカテゴリの本機能対応経緯
をまとめました。
(時間無かったので省略)
2019/11/2 第17回redmine.tokyo 勉強会 カテゴリのサブプロジェクト継承対応機能追加
@y503unavailable
11
VersionのPJ継承経緯
• VersionのPJ継承は、2008から2009年に実
装され、0.9でリリースされた。
• Inheritence of Versions to Subprojects
http://www.redmine.org/issues/465
2007/10/30 #465起票
2009/12/7 60件の議論を経て、Revision3123にて追加(Redmine 0.9.0)
大量のパッチ、JPLがテストコード付きでコミット
http://www.redmine.org/projects/redmine/repository/revisions/3123
後はバグ修正とRuby/Rails側修正対応
2019/11/2 第17回redmine.tokyo 勉強会 カテゴリのサブプロジェクト継承対応機能追加
@y503unavailable
12
CategoryのPJ継承経緯
• 2010/4に5358、2012/9に11898が起票された。
3.4,4.0用のパッチを5358に公開したが、テスト無しで未取込
• Share Issues Categories for sub-projects
http://www.redmine.org/issues/5358
• Inheritable issue categories
http://www.redmine.org/issues/11898
2010/4 #5358起票
2011年 1.*対応パッチ公開
2012年 2.1対応パッチ公開
2012/9 #11898起票
2012~2014 2.2~2.5のパッチ公開(テストコード有)
この間、大量の+1が蓄積される
パッチ適用エラーも散見
3.Xへの対応が遅れていたが#5358に公開した。
2018/6 3.4対応パッチ公開(Githubリンク)
2019/7 4.0対応パッチ公開(Githubリンク)
5358側は全部テストコードなし
あと半年で10年熟成
そろそろ終わらせたい
Redmicaに期待?

カテゴリのサブプロジェクト継承対応機能追加

  • 1.
    2019/11/2 第17回redmine.tokyo 勉強会カテゴリのサブプロジェクト継承対応機能追加 @y503unavailable 1 カテゴリのサブプロジェクト継 承対応機能追加 2019/11/2 redmine.tokyo 第17回勉強会 @y503unavailable
  • 2.
    2019/11/2 第17回redmine.tokyo 勉強会カテゴリのサブプロジェクト継承対応機能追加 @y503unavailable 2 自己紹介 名前:奈良 裕記 ( y503unavailable <- httpエラーコード503) • 製造業で製品開発部門のadminやってます。 – 部門サーバ、LAN、PC、全般の構築/運用/子守 (全社単位の情報システムとは別、部門所属) • Redmine歴 – 2009年から利用 – 部内SaaSの積りで各種運用中 – Redmine.Tokyoには第4回から参加、現在スタッフ – サーバ統合事例@第7回勉強会 – Redmineカスタムフィールド表示改善@第10回勉強会 – UnofficlaRedmineCooking関連@第11、12,13回勉強会 – Pythonで本家チケットコピーし集計@第15回 – カテゴリのサブプロジェクト継承@第17回
  • 3.
    2019/11/2 第17回redmine.tokyo 勉強会カテゴリのサブプロジェクト継承対応機能追加 @y503unavailable 3 カテゴリのサブプロジェクト継承 対応機能追加 • カテゴリをサブプロジェクト間で共用する機 能(バージョン同様に) trunkに対応するパッチを作成しました。 • Redmine本家の要望数は第2位(54件) Share Issues Categories for sub-projects http://www.redmine.org/issues/5358 残件-テストコード作成、4.2取込希望 • Redmineコアに取り込まれるまで、必要な方 は自己責任でご利用ください。(Redmica OK?)
  • 4.
    2019/11/2 第17回redmine.tokyo 勉強会カテゴリのサブプロジェクト継承対応機能追加 @y503unavailable 4 カテゴリサブプロジェクト 継承利用例 • RM社の事例 • 商品のクレーム対応状況をRedmineで管理している。 • 支店をRedmineのサブプロジェクトとしている。 (Tokyo支店とOsaka支店) • 商品をRedmineのカテゴリ機能で区分している。 (「きのこ」「たけのこ」「まんじゅう」) • 各支店(サブプロジェクト)のクレーム対応状況を、 商品(カテゴリ)毎にまとめて管理したい。 (各支店単位に商品を分けない)
  • 5.
    2019/11/2 第17回redmine.tokyo 勉強会カテゴリのサブプロジェクト継承対応機能追加 @y503unavailable 5 カテゴリサブプロジェクト 継承利用例(画面) サブPJ間で同一カテゴリを 共用し、上位PJからはまと めて扱える。 Versionと同様に共有種別 を設定できる。 本機能取込済Redmineの場合 現Redmineでは不可 親PJ内設定のみで完結する
  • 6.
    2019/11/2 第17回redmine.tokyo 勉強会カテゴリのサブプロジェクト継承対応機能追加 @y503unavailable 6 代替策 • カスタムフィールド(リスト)をカテゴ リの代用とすれば可能だが下記問題有 – サーバ管理者の作業が、選択項目変更時に毎 回発生し、ボトルネックを招く。 – サーバ管理者権限IDの乱発-SEC面問題 – 変更時に毎回サーバ管理者に頼まなければな らない機能を、ユーザ側が積極的に使いたい 訳が無い
  • 7.
    2019/11/2 第17回redmine.tokyo 勉強会カテゴリのサブプロジェクト継承対応機能追加 @y503unavailable 7 カテゴリのサブプロジェクト継承 対応機能(Versionと同じ動作) • カテゴリのサブプロジェクト継承対応機能(本家5358,11898) • trunk未対応だが、Versionと同じ処理で動作するコード を実装した。 • Redmineコアに取り込まれるまで、必要な方は自己責任 でご利用ください。(次ページリンク) • 残件はテストコードのみ、4.2の取込希望。 • 本家関連チケット • http://www.redmine.org/issues/5358#note-108 • http://www.redmine.org/issues/5358#note-111
  • 8.
    2019/11/2 第17回redmine.tokyo 勉強会カテゴリのサブプロジェクト継承対応機能追加 @y503unavailable 8 対応レポジトリへのリンク • 機能追加済コード https://github.com/y503unavailable/redmine/tree/featur e-category-trunk20190629 • パッチファイル https://github.com/redmine/redmine/compare/master...y 503unavailable:feature-category-trunk20190629.patch • 注:trunkのコード変更に伴い、パッチ失敗する場合が あります。その場合は上記GithubにIssue立ててください。 PRでも構いません。 • Redmine4.1リリース後は変更する可能性があります。
  • 9.
    2019/11/2 第17回redmine.tokyo 勉強会カテゴリのサブプロジェクト継承対応機能追加 @y503unavailable 9 利用方法/ニーズは人それぞれ • チケット数十万件の現場は、この機能無 しで、どう区分しているのかな? • 使い方が違えば必要な機能は違う。 • versonの継承は初期(0.9.0)に対応されたが、 JPLは何で入れなかったんだろう。 • 設計判断理由が不明。
  • 10.
    2019/11/2 第17回redmine.tokyo 勉強会カテゴリのサブプロジェクト継承対応機能追加 @y503unavailable 10 Redmine本家対応経緯 • バージョンとカテゴリの本機能対応経緯 をまとめました。 (時間無かったので省略)
  • 11.
    2019/11/2 第17回redmine.tokyo 勉強会カテゴリのサブプロジェクト継承対応機能追加 @y503unavailable 11 VersionのPJ継承経緯 • VersionのPJ継承は、2008から2009年に実 装され、0.9でリリースされた。 • Inheritence of Versions to Subprojects http://www.redmine.org/issues/465 2007/10/30 #465起票 2009/12/7 60件の議論を経て、Revision3123にて追加(Redmine 0.9.0) 大量のパッチ、JPLがテストコード付きでコミット http://www.redmine.org/projects/redmine/repository/revisions/3123 後はバグ修正とRuby/Rails側修正対応
  • 12.
    2019/11/2 第17回redmine.tokyo 勉強会カテゴリのサブプロジェクト継承対応機能追加 @y503unavailable 12 CategoryのPJ継承経緯 • 2010/4に5358、2012/9に11898が起票された。 3.4,4.0用のパッチを5358に公開したが、テスト無しで未取込 • Share Issues Categories for sub-projects http://www.redmine.org/issues/5358 • Inheritable issue categories http://www.redmine.org/issues/11898 2010/4 #5358起票 2011年 1.*対応パッチ公開 2012年 2.1対応パッチ公開 2012/9 #11898起票 2012~2014 2.2~2.5のパッチ公開(テストコード有) この間、大量の+1が蓄積される パッチ適用エラーも散見 3.Xへの対応が遅れていたが#5358に公開した。 2018/6 3.4対応パッチ公開(Githubリンク) 2019/7 4.0対応パッチ公開(Githubリンク) 5358側は全部テストコードなし あと半年で10年熟成 そろそろ終わらせたい Redmicaに期待?