Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ある工場のRedmine画面カスタム【View customize plugin 活用例】

11,820 views

Published on

発表:
2016-05-14(土)redmine.tokyo

Published in: Software
  • Be the first to comment

ある工場のRedmine画面カスタム【View customize plugin 活用例】

  1. 1. • 中村�浩平 (ナカムラ コウヘイ) @netazone • SIer:オープン系エンジニア(11年) →工場:情報システム(2年) • Redmine歴: 7年�管理者歴: 4年 • Redmineを全社で運用していて����������� 日々よりよい活用法を模索中
  2. 2. •表示変更や機能追加が簡単に可能 •Redmine再起動不要で有効にできる
  3. 3. • Redmineバージョン:2.5.1(bitnami でインストール)  • OS:Linux CentOS 6.5 • 仮想サーバ:Mem 2G, CPU 2Core, Disk 20GB • 2014/04構築→2015/06から全社利用 • ユーザ数:150 チケット数:11,000� • 使用しているプラグイン:24
  4. 4. • 説明欄が狭い 説明欄のサイズを縦に2倍拡大 変更して欲しい項目の背景色を “黄色”に変更 •変更して欲しい「担当者」、 「ステータス」が変更されない
  5. 5. •全新規チケットに対し、説明欄を拡大 #issue_status_id { background-color: #ffff99; } #issue_assigned_to_id { background-color: #ffff99; } #issue_description { height: 26em; } Path pattern: /issues/new Type: StyleSheet Path pattern: /issues/* Type: StyleSheet •全チケットのステータス、担当者欄を黄色に色付け
  6. 6. •金額が見づらい •数値を右寄せしたい 金額の桁区切り表示 基本センタリングを 数値は右寄せ、 長い項目は左寄せ
  7. 7. • 特定PJのチケット一覧画面で、あるフィールドを右寄せ������ (※右寄せしたいカスタムフィールド = cf_XX) $(document).ready(function(){ $(“td.cf_XX").each(function(){ // textに正規表現で3桁ごとに数値をいれ、それをさらにtextとして返す $(this).text( $(this).text().replace(/(d)(?=(ddd)+(?!d))/g, "$1,") ); }); }); .cf_XX.int { text-align:right; } Path pattern: /projects/(project_id)/issues* Type: StyleSheet Path pattern: /issues/* Type: StyleSheet • 金額を3桁区切りにする ������������� (※金額欄として使用している数値型カスタムフィールド = cf_XX)
  8. 8. • チケットにファイルサーバへのリンクに格納してるが、入力が面倒 →PJ毎に異なる デフォルト値を自動入力 Project1 Project2
  9. 9. $(function() { document.getElementById("issue_custom_field_values_XX").value = '{{unc(fileserverproject1)}}'; }) $(function() { document.getElementById('issue_custom_field_values_XX').value = '{{unc(fileserverproject2)}}'; }) Path pattern: /projects/(project_id_1)/issues/new Type: JavaScript Path pattern: /projects/(project_id_2)/issues/new Type: JavaScript • “Project2” の新規チケットにファイルサーバのパスを設定� (※設定したいカスタムフィールド = issue_custom_field_values_XX) • “Project1” の新規チケットにファイルサーバのパスを設定� (※設定したいカスタムフィールド = issue_custom_field_values_XX)
  10. 10. 全文検索時に検索がヒットしない(あるはずなのに0件) ←検索ワードの間に全角スペースが・・・ 全角スペース 半角スペース
  11. 11. $(function() { $('#q.small').change(function(){ var txt = $(this).val(); var han = txt.replace(/�/g,' '); $(this).val(han); }); }); Path pattern: .* Type: JavaScript $(function() { $('#search-input').change(function(){ var txt = $(this).val(); var han = txt.replace(/�/g,' '); $(this).val(han); }); }); Path pattern: /search Type: JavaScript •(検索ページ)検索ボックスの全角スペースを半角に置換 •(画面右上)検索ボックスの全角スペースを半角に置換
  12. 12. 全文検索時に検索がヒットしない(あるはずなのに0件) ←全角の英数字が・・・
  13. 13. $(function() { $('#issue_subject').change(function(){ var txt = $(this).val(); var han = txt.replace(/[A-Za-z0-9]/g,function(s) {return String.fromCharCode(s.charCodeAt(0)-0xFEE0)}); $(this).val(han); }); }); Path pattern: /projects/(project_id)/issues/new Type: JavaScript •特定PJの新規チケット題名の全角英数字を自動で半角化

×