CODAの定義・運用の現在 -2020年版-

2020/11/14
redmine.tokyo 第19回 勉強会
国立研究開発法人 宇宙航空研究開発機構
スーパーコンピュータ活用課
木元一広
The Open Group Master Certified Architect Solution Architecture「CODAの定義・運用の現在 -2020年版-」2020/11/14 redmine.tokyo 第19回 勉強会

1

自己紹介
⚫Redmine利用歴⚫2013/12- (約6年半 (若干ブランクあり))⚫CODAの運用・保守・拡張 他⚫JAXA 研究報告
⚫JAXA-RR-15-003 「CODA: JSS2の運用・ユーザ支援を支えるチケット管理システム: Redmineの事
例と利用のヒント」⚫ http://id.nii.ac.jp/1696/00001899/⚫英訳もあります⚫ “CODA: Ticket Management System to Support JSS2
Operation and Assistance to Users: Redmine
Implementation and Hints of Its Usage”⚫ http://doi.org/10.20637/JAXA-RR-16-002E/0001

お陰様で、ダウンロード累計10,800突破・・・(2020/09 現在)
ありがとうございます⚫redmine.tokyo 勉強会⚫第12回 「Redmine3分クッキング 設定変更を乗り切る工夫 事例」⚫第13回 「CODAの定義・運用の現在 -2017年版-」

今日は、これの更新です「CODAの定義・運用の現在 -2020年版-」2020/11/14 redmine.tokyo 第19回 勉強会

2

ご説明内容1. 2017年秋以降の動きサマリー
2. ステータスによるチケット編集の制限⚫ チケットを「凍結」・「解凍」したい

3. その他のチケットにまつわる画面・機能の変更
4. CODAの定義等に関する所感 ～子チケットの扱い
謝辞「CODAの定義・運用の現在 -2020年版-」2020/11/14 redmine.tokyo 第19回 勉強会

3

1. 2017年秋以降の動きサマリー⚫CODAと並行するCODA2が始動⚫主として、JSS2後継のJSS3の調達・構築・運用向け⚫近々CODA2が主になる予定⚫その後、CODAは読み取り用(終了プロジェクトかロール変更)で当面継続見通し⚫Redmineバージョンは⚫CODA:⚫CODA2:

Redmine 3.1.1
Redmine 3.4.5⚫設定や定義の考え方は、 CODA、CODA2とも2017年と同じ⚫チケットの操作に関する機能を幾つか修正⚫次ページ以降「CODAの定義・運用の現在 -2020年版-」2020/11/14 redmine.tokyo 第19回 勉強会

4

2.チケットを「凍結」・「解凍」したい⚫動機⚫承認されたチケットなのに、いつまでも注記の更新がされたりファイルが添付・削除されたり、説明をごっそり更新されたり・・・⚫管理者にとっては「承認の意味がない。心配で眠れない」⚫Redmineでは⚫標準・カスタムフィールド(説明も標準フィールド)⚫ワークフローで「読み取り専用」と制限できる⚫「注記」や添付ファイル⚫追加・変更、ファイルの削除・追加、ファイル名変更などはいつでも可能⚫対策⚫チケット画面の更新系のアイコン・リンク類を非表示～「凍結」～してしまおう⚫View Customize Pluginを使ってみよう!

⚫先行・類似事例⚫redmine.tokyo 「終了したチケットをコメント不可にしたい」⚫https://redmine.tokyo/issues/235「CODAの定義・運用の現在 -2020年版-」2020/11/14 redmine.tokyo 第19回 勉強会

5

2.チケットを「凍結」・「解凍」したい⚫変更前「終了」ステータスでもいろいろ更新・引用できる
テスト用Redmineの画面例です
CODA/CODA2では、「承認済」を「凍結」しています

ウォッチャーの削除
説明引用
ファイル名・コメント修正
ファイルの削除

注記引用・修正・削除「CODAの定義・運用の現在 -2020年版-」2020/11/14 redmine.tokyo 第19回 勉強会

6

2.チケットを「凍結」・「解凍」したい⚫変更後「終了」ステータスでの変更を制限⇒凍結
テスト用Redmineの
画面例です
CODA/CODA2では、「承認済」を「凍結」しています

副作用: ウォッチャーの削除 不可
説明引用 不可
ファイル名・コメント修正
ファイルの削除 不可

注記引用・修正・削除 不可「CODAの定義・運用の現在 -2020年版-」2020/11/14 redmine.tokyo 第19回 勉強会

7

2.チケットを「凍結」・「解凍」したい⚫「終了」から別のステータスに変更することは可能⇒解凍
テスト用Redmineの画面例です
CODA/CODA2では、「承認済」を「凍結」しています

注記は記入できない「注記はステータスを変えてから記入しましょう」
ファイル追加エリアも表示されない
送信は可能「CODAの定義・運用の現在 -2020年版-」2020/11/14 redmine.tokyo 第19回 勉強会

8

2.チケットを「凍結」・「解凍」したい⚫Redmine view customize plugin を使ってみました⚫Redmine 3.4.5 の場合 (3.1.1では別のコード)⚫パスのパターン/issues/[0-9]+⚫挿入位置
チケット詳細の下$(function() {// 表示の切り替え
var changeVisibility = function() {var hide = ini_status_id == '5';// 終了は5。適宜変更して下さい
if (hide) {$('.jstElements').parent().hide();// Textileのボタン類の行を消す$('#issue_notes').parent().hide();// 追加注記テキストエリアを隠す$('#new-attachments').parent().hide();// 追加注記ファイル添付部を隠す$('#issue_description_and_toolbar').parent().hide();// Wiki編集まとめて消す$('.icon-only.icon-comment').hide(); // 吹き出し(ボタンのみテキスト無し)を消す$('.icon-only.icon-edit').hide();// エンピツ(ボタンのみテキスト無し)を消す$('.icon-only.icon-del').hide();// ゴミ箱(ボタンのみテキスト無し)を消す$('.icon.icon-comment').hide();// 吹き出し+"引用"(説明欄の右上にある)を消す} else {; // 何もしない}};// 初期ステータスを保存
var ini_status_id = $('#issue_status_id').val();// 表示切替
changeVisibility();⚫制限事項⚫ドラッグアンドドロップでのファイル添付は出来てしまいます(T_T)⚫チケット一覧からの右クリック→編集では「凍結」できません「CODAの定義・運用の現在 -2020年版-」2020/11/14 redmine.tokyo 第19回 勉強会

9

2.チケットを「凍結」・「解凍」したい⚫Redmine 3.1.1 の場合⚫挿入位置

全ページのヘッダ$(function() {// 表示の切り替え
var changeVisibility = function() {var hide = ini_status_id == '5';// 終了は5。適宜変更して下さい
if (hide) {$('.jstElements').parent().hide(); // Textileのボタン類の行を消す$('#issue_notes').parent().hide(); // 追加注記テキストエリアを隠す$('.add_attachment').parent().hide(); // 追加注記ファイル添付部を隠す$('.icon.icon-comment').hide(); // 吹き出し+"引用"(説明欄の右上にある)を消す// イメージを探して消す 吹き出し エンピツ ゴミ箱// imgタグの要素をリストして配列に入れる
var imgs = document.getElementsByTagName("img");for (var i = 0; i < imgs.length; i ++) {// もし srcが ..."comment.png"ならvar src=imgs[i].getAttribute('src');
var last=src.slice(-11);
if (last== 'comment.png' ) {var style= imgs[i].style;style.display = 'none';}// もし srcが ..."edit.png"なら
var src=imgs[i].getAttribute('src');
var last=src.slice(-8);
if (last== 'edit.png' ) {var style= imgs[i].style;style.display = 'none';}// もし srcが ..."delete.png"なら
var src=imgs[i].getAttribute('src');
var last=src.slice(-10);
if (last== 'delete.png' ) {var style= imgs[i].style;style.display = 'none';}}} else {;// 何もしない}};// 初期ステータスを保存
var ini_status_id = $('#issue_status_id').val();// 表示切替
changeVisibility();「CODAの定義・運用の現在 -2020年版-」2020/11/14 redmine.tokyo 第19回 勉強会})

10

3.その他のチケットにまつわる画面・機能の変更⚫チケットコピー時の「添付ファイルをコピー」と「子チケットをコピー」指定のデフォルトをオフにする⚫デフォルトがオンなので、コピー先チケットでの添付ファイル削除や子チケット削除が発生することが(頻繁に)ある⚫ソース修正で対応⚫チケット個別表示画面のコピーとチケット一覧からの右クリックのコピー両方⚫Redmine 3.1.1と3.4.5両方⚫担当者のアバター表示が小さい (3.4.5で実施)⚫Redmine 3.4.0 で作成者と担当者のアバターが重なって表示されるようになった⚫嬉しいが、担当者アバターが小さい ・・・⚫担当者写真を大きくする⚫大きくすると、親などの題名が隠れてしまうので表示位置も変更⚫ソース修正とCSS修正(Redmineテーマ)で対応⚫Redmine 3.4.5「CODAの定義・運用の現在 -2020年版-」2020/11/14 redmine.tokyo 第19回 勉強会

11

4. CODAの定義等に関する所感 ～子チケットの扱い⚫一時「業務を構造化・可視化するのに、親子チケットを使おう」がブーム(?)に⚫現在はやや沈静化して「注意して使おう」⚫理由⚫チケットのプロジェクトを変更すると、子・孫などの配下チケットが一緒に移動してしまう⚫ 気づかないことがままある上、チケット更新履歴に残らない⚫ これは Redmine 3.4.5でも発生⚫ 開発系での利用などチケットをWBS的な構造で捉えるならOK、むしろ良い仕組みと思います⚫既に親チケットが設定されているチケットの親チケットを他のチケットに変更しようとすると 「親チケット は不正な値です」⇒フラストレーション多発⚫ Redmine 3.3以降では起きない⚫ 参考 Redmine.JP "エラー「親チケットは不正な値です」が表示され親チケットを設定できない" http://redmine.jp/faq/issue/parent-task-is-invalid/「CODAの定義・運用の現在 -2020年版-」2020/11/14 redmine.tokyo 第19回 勉強会

12

謝辞
ご清聴ありがとうございました
そして、皆様にお礼申し上げます⚫CODAを利用している利用者各位、⚫Redmineが好きで(?) 公私で活用している皆様、⚫Redmineのイベントなどに参加している皆様、⚫Redmineについて書籍・イベント・ブログなどで情報発信している皆様、⚫Redmineのエコシステムに携わっている皆様、⚫Redmineの開発・改善・機能拡張、プラグインに参画している皆様、⚫さまざまなOSS(等) の開発・普及・情報発信・活用に関わっている皆様、それ以外にも、挙げきれない、いろいろな皆様、ありがとうございます!
今後も盛り上げていきましょう !!
「CODAの定義・運用の現在 -2020年版-」2020/11/14 redmine.tokyo 第19回 勉強会

13