Redmine 3.3.0 がリリースされましたので、いつも通りAltasにboxをあげておきました。
下記ですぐにRedmine 3.3.0が試せます。
vagrant init onozaty/redmine-3.3 vagrant up
いろいろ良さそうな機能が入ってますし、バグもたくさん直っているので、すぐにでも3.3.0にあげたくなりますね!
ちなみに、チケットコピー時に親チケットの番号はデフォルトで引き継がれるようになったので、下記のプラグインは役目を終えることとなりました。
Redmine 3.3.0 がリリースされましたので、いつも通りAltasにboxをあげておきました。
下記ですぐにRedmine 3.3.0が試せます。
vagrant init onozaty/redmine-3.3 vagrant up
いろいろ良さそうな機能が入ってますし、バグもたくさん直っているので、すぐにでも3.3.0にあげたくなりますね!
ちなみに、チケットコピー時に親チケットの番号はデフォルトで引き継がれるようになったので、下記のプラグインは役目を終えることとなりました。
「チケット作成時に、カスタムフィールドの値を使って他の項目の値を変えたい」といった相談をいただいたので、View customizeで書いてみました。
例として、チケット作成時に、キー・バリュー形式のカスタムフィールドから選択されている内容を取り出して、それをタイトルの先頭に挿入してみます。
チケットを作成する画面ということで、新規作成とコピーを対象にします。
/issues/(new|[0-9]+/copy)
Type:JavaScriptとして下記を設定します。
$(function() { $('#issue-form').submit(function() { // 題名の先頭にカスタムフィールドの値を埋め込む var subject = $('#issue_custom_field_values_1 option:selected').text() + ':' + $('#issue_subject').val(); $('#issue_subject').val(subject); }); });
clickイベントじゃなくてsubmitにしている理由としては、click以外でも登録することができる(たとえば題名欄でリターンなど)ためです。
(過去に書いたやつで、click限定で書いてしまっていたやつがあったような気もするので、そっちも直しておかないと、、)
自宅のデスクトップPCでストレスを感じることが多くなってきたので、HDDからSSDに移行することにしました。
対象のPCは、Lenovo の H520s という4年くらい前に購入したPCです。
SSDは、CrucialのTLCで480GBのものを購入しました。
このSSDには、Acronis True Image HDのライセンスがついているので、移行はこのソフトを使います。アクティベート方法と、シリアルナンバーが書かれた紙がはいっているので、それにしたがってインストールします。(ソフト自体は、日本語にも対応しているので、英語わからなくても迷うことはないかと)
「ディスクのクローン作製」というメニューがあるので、そのままウィザードに従って進めるだけです。思った以上に簡単に終わりました。
元のHDDを外して、SSDに付け替えます。SSDが2.5インチなので、付け替えには下記を使用しました。
オウルテック 2.5インチHDD/SSD用→3.5インチサイズ変換ブラケット ネジセット付き ブラック OWL-BRKT04(B)
ベンチマークの結果です。(左がHDD、右がSSD)
メーカ値だと、シーケンシャルな読み込みで540MB/秒となっていますが、今回SATA2.0での接続となった(SATA3.0が見当たらなかった)ため、そこで頭打ちとなっているのかもしれません。
かなり快適になった(vagrant upで1分待たされる&ひきずられて動作が重たくなるといったことが無くなった)ので、大満足です。
チケット一覧のコンテキストメニューからステータスを変更しようとした際に、アラートを出したいといった質問があったので調べてみました。
単にイベント差し込めばいいよねと、簡単に考えていましたが、コンテキストメニューを表示しようとしたタイミングでサーバに問い合わせて、DOMを生成していました。しかも、その後に呼ばれるようなメソッドも無いので、フックさせることもできなそうです…
clickイベントをdocumentなどの親要素に対して設定して、click対象が該当の要素だったら制御するようにしようとしましたが、リンクになっているので、親要素にclickイベントが通知されたタイミングでは、すでにリンクが押されてしまっています。
ということで、しょうがないので、クリックする直前(マウスオーバのタイミング)で、リンクを無効にして、さらにクリックイベントを差し込むといった方法を取ることにしました。
/* Path pattern: /issues$ Type: JavaScript チケット一覧のコンテキストメニューでステータス変更を無効に */ $(function() { var handler = function() { alert('コンテキストメニューからステータスを却下には出来ません。'); return false; } $(document) .on('mouseover', '#context-menu a[href*="status_id%5D=6"]', function(event) { $(this) .attr('href', '#') .off('click', handler) .on('click', handler); }); });
上記は、ステータスを却下にしようとした際に、アラートを表示するサンプルです。
複数回マウスオーバしても問題ないように、設定済みの可能性があるイベントを外してから設定するようにしています。わかりずらいコードになりましたね。。
第9回のLTに引き続き、View customize pluginについて発表してきました。
今回の発表では、View cutomizeの設定方法に関するノウハウを詰め込みました。View customizeを使おうとしている方の役に立てばと思っています。
なお、発表の時に、参加者の方でView customizeを使ったことがある方に挙手をお願いしたところ、20名近くいらっしゃいました。利用してくれる方が増えてきているのが、とてもうれしかったです。
声をかけていただいたredmine.tokyoスタッフのみなさま、ありがとうございました。
GitHubでリポジトリ名を変えた場合、元リポジトリに対してのアクセスもちゃんとリダイレクトして新リポジトリに方に飛ばしてくれます。
なので、公開済みのリポジトリの名前を変えてしまって、各種URLが変わってしまっても、とりあえずエラーとなることはありません。