2017年2月のRedmine開発状況

2017-03-18 16:20  •  分類:  •  前田剛

Redmine本体の開発について、2017年2月中の主な動きをピックアップして紹介します。

概況

2月は珍しく新機能に関連したリポジトリへのコミットが1件もありませんでした。Redmine開発者のJean-Phillipe Lang氏が多忙だったのか、彼自身によるコミットがまったくなかったことが大きく影響しています。なお、3月に入ってからは再びアクティブに活動しています。

2月中にクローズされたチケットは5件でした。ここ1年ほどは少ない月でも20件ほどのコミットがありました。2月は極端に少なかったことが分かります。

次期feature releaseとなるRedmine 3.4.0向けのチケットは、3月18日時点で150件がクローズされていて進捗率は93%です。feature releaseに含まれるチケット数は60件から100件程度のことが多く、Redmine 3.4.0向けのチケット数は突出して多いです。

バージョン 全チケット数 未完了チケット数
3.4.0 165 15
3.3.3 4 0
3.2.6 12 0

筆者は1月ごろから「もうすぐ3.4.0が出るのでは?」と言い続けてきたのですが、3.4.0向けのチケットが増え続けていて予想が外れ続けています。

来るRedmine 3.4.0の注目の新機能

いつもは前月に実装された機能などを紹介しているのですが、概況で書いたとおり2月はほとんど動きがありませんでした。紹介できるものがないので、今月はこれまで紹介したRedmine 3.4.0向けの新機能のうち、筆者が注目しているものを改めて取り上げます。

【個人的注目機能①】
Patch #21705: 「長いテキスト」形式カスタムフィールドの「ワイド表示」オプション

Redmine 3.4.0では「長いテキスト」形式のカスタムフィールドに「ワイド表示」オプションが追加され、説明欄と同じ大きさで表示することができるようになります。

現行バージョンのRedmineでは表示の幅が狭いため、「長いテキスト」という名前にもかかわらず本当に長いテキストを入力すると非常に見にくくなっていました。Redmine 3.4.0ではワイド表示オプションによりこの問題が解消され、長文を扱いやすくなります。Redmineの応用範囲を広げるのに大きく貢献すると考えられます。

[現行バージョン](機能追加前):
「原因」「再発防止策」が「長いテキスト」形式のカスタムフィールド。画面幅の4分の1程度の領域に内容が表示される。

[Redmine 3.4.0](機能追加後):
「ワイド表示」をONにしたカスタムフィールドは説明欄と同じ幅で表示される。

ワイド表示の設定:

【個人的注目機能②】
Feature #17720: チケットのフィルタに「更新者」「最終更新者」を追加

Redmine 3.4.0では新たなチケットのフィルタ「更新者」と「最終更新者」が追加されます。

「更新者」は、指定されたユーザーが更新したことがあるチケット(履歴欄に更新者として名前が出たことがあるチケット)を抽出します。「最終更新者」は、指定されたユーザーが最終更新者であるチケット(履歴欄の最も新しい記録がそのユーザーによる更新であるチケット)を抽出します。

自分が関係したことがあるチケットを抽出して状況を確認したり、顧客との連絡に使っているRedmineで最終更新者が顧客であるチケットを抽出して対応漏れを防ぐなどの使い方ができます。

筆者の勤務先ではRedmineを顧客サポートに使用しています。Redmine 3.4.0に移行すると、未完了かつ「最終更新者」がサポートスタッフではないチケットを抽出するカスタムクエリを作ることで、返信が必要なチケットの特定がしやすくなります。

【個人的注目機能③】
Feature #5920: プロジェクトを横断した情報を表示するためのメニューを「プロジェクト」画面に追加

全プロジェクトのチケットを表示するためには、現状では画面最上部のアプリケーションメニュー内の「プロジェクト」をクリックした後、プロジェクトの一覧画面で「すべてのチケット」をクリックします。

Redmine 3.4.0では、「プロジェクト」画面にも「活動」「チケット」などのタブが表示され、プロジェクトを横断した情報を表示するための操作が個別のプロジェクトでの操作と共通化されて分かりやすくなります。特に、ガントチャートとカレンダーは、これまでは「プロジェクト」→「すべてのチケットを表示」→「ガントチャート」という3クリックが必要でしたが、Redmine 3.4.0では「プロジェクト」画面からタブをクリックすることで直接表示画面に移動できるようになります。

[現行バージョン] 「すべての○○」をクリック:

[Redmine 3.4.0] タブをクリック:

これまで全プロジェクトを横断した情報にアクセスするにはいくつかのクリックが必要で、正直使いにくかったと思います。この問題を緩和するために、全プロジェクトを含む最上位の親プロジェクトを作るなどのテクニックがよく使われていました。3.4.0ではそのようなことをする必要がなくなります。

【個人的注目機能④】
Feature #23310: 「プロジェクトへ移動…」ドロップダウンの改善

Redmine 3.4.0では、画面右上のプロジェクトセレクタに利便性を大きく向上させる2つの改善が行われます。

改善点の1つはプロジェクトのインクリメンタルサーチ(絞り込み)機能です。プロジェクト名の一部を入力すると、名称が部分一致するプロジェクトのみが絞り込まれて表示されます。多数のプロジェクトに参加しているときに、目的のプロジェクトを見つけやすくなります。

もう1つの改善点は「全プロジェクト」リンクです。全プロジェクト一覧に移動できるようになるだけに見えますが、この改善の真価は、【個人的注目機能③】で紹介したプロジェクト横断メニューとの組み合わせにより、全プロジェクトを横断した情報にアクセスしやすくなることです。

例えば、あるプロジェクトのチケット一覧を見ているときに全プロジェクトのチケットの一覧を見たくなったとします。現行バージョンでは ①トップメニューの「プロジェクト」をクリック ②「すべてのチケットを表示」をクリック — の2つの動作が必要ですが、Redmine 3.4.0では「プロジェクトへ移動…」ドロップダウン内の「全プロジェクト」をクリックするだけで表示させることができるようになります。

①あるプロジェクトのチケット一覧を表示している状態で「全プロジェクト」を選択:

②全プロジェクトを横断したチケット一覧が表示される:

プロジェクトを横断した情報がやや参照しにくいのがRedmineの弱点の1つだと筆者は考えています。前述の『Feature #5920: プロジェクトを横断した情報を表示するためのメニューを「プロジェクト」画面に追加』との組み合わせにより、この弱点は大きく改善されます。

【個人的注目機能⑤】
Feature #24922: コンテンツへの添付画像埋め込みの高DPI対応

最近はMacのRetinaディスプレイなど、画面表示に本来の倍以上の密度の画素を使って鮮明な表示を実現する高DPI環境が普及しつつあります(例: 1440×900ピクセルの画面を2880×1800画素の液晶パネルで表示)。

Redmine 3.4.0では、チケットやWikiのインライン画像表示が高DPI環境に対応しました。画像の拡張子を除いたファイル名の末尾が @2x@3x である場合(例: photo@2x.jpg)、実際の表示の2倍・3倍の解像度をもつ高DPI対応の画像として扱われ、Webブラウザが自動的に適切な大きさで表示します(Internet Explorerを除く。Edgeは可)。

例えば、画面上では300×230ピクセルの大きさで表示される想定で、実際の解像度はその倍の600×560ピクセルである画像ファイル screenshot@2x.png をチケットの説明欄内で表示させるとします。その場合、ファイル名に @2x が含まれることから実際の2倍の解像度を持つ高DPI対応画像として扱われ、ブラウザ上では想定通り300×230ピクセルの大きさで表示されます(Internet Explorerを除く)。

高DPI環境でキャプチャしたスクリーンショットをRedmineに貼り付けるときの手間も減ります。現行バージョンではわざわざ半分の解像度に変換するなどしないと想定の倍の大きさで表示されてしまいますが、Redmine 3.4.0ではファイル名の拡張子の直前に @2x を付けるだけで適切な大きさで表示されます(Internet Explorerを除く)。

この機能はHTMLのimg要素のsrcset属性を利用しています。Internet Explorer 11はsrcset属性に対応していないため、Redmine 3.3以前と同じ表示となります。

[現行バージョン] 常に元の画像の解像度のまま画面に表示される:

[Redmine 3.4.0] 拡張子の直前が @2x だと高DPI対応画像として扱われ、その画像の解像度の半分の大きさ(=想定通りの大きさ)で表示される:

筆者はMacBook Proを使用しており、画面をキャプチャすると倍の解像度のファイルができます。これまではTextileのマークアップで !{width: 300px}.image.jpg! のように幅を指定したり、わざわざ半分の大きさに加工してからアップロードするなどしていました。今後はファイル名に @2x を付けるだけで良くなるので一手間減らせます。

【個人的注目機能⑥】
Feature #24927: Gravatarアイコンとサムネイル画像の高DPI対応

Redmine 3.4.0ではGravatarアイコンと添付ファイルのサムネイルの表示が高DPIに対応しました。これらはMacのRetinaディスプレイなど高DPIに対応した環境だとぼんやりした表示となっていましたが、Redmine 3.4.0ではその問題が解消されます。

改善前後のGravatarアイコンの比較(チケットの履歴):

【個人的注目機能⑦】
Feature #22608: プロジェクトの設定画面の「バージョン」タブにフィルタ機能を追加

プロジェクトの「設定」画面の「バージョン」タブにはステータスが「ロック中」「終了」のものも含めすべてのバージョンが表示されるため、1つのプロジェクトに多数のバージョンを作成している場合はバージョンの一覧が非常に長くなってしまいます。

Redmine 3.4.0ではフィルタ機能が追加されこの問題が解決します。バージョンの一覧をステータスと名称で絞り込むことができるようになり、デフォルトでは進行中のもののみが表示されます。

【改善前】終了したバージョンも表示され一覧が長い:

【改善後】フィルタが実装されデフォルトでは進行中のみ表示:

筆者が使っているRedmineのあるプロジェクトではバージョンが70個以上ありますが、そのうちアクティブなものは10個ほどです。バージョンの設定画面が非常に長くなっていて不便を感じていましたが、3.4.0では「進行中」のバージョンの一覧が短くなり快適になりそうです。

【個人的注目機能⑧】
Patch #23146: リビジョンの詳細の表示の改善

「リポジトリ」画面のリビジョンの詳細の表示が見やすく改善されます。現行バージョンのRedmineではリビジョンのID、コミット者、コミットメッセージが同じスタイルで表示されていますが、Redmine 3.4.0ではIDなど詳細な情報が淡い色で表示されるなどチケットの履歴に近いスタイルとなります。比較的重要な情報であるコミット者とコミットメッセージが目立つようになりました。

【改善前】さまざまな情報が同じスタイルで表示され重要な情報が目立たない:

【改善後】コミット者とコミットメッセージがわかりやすい:

Subversionを使っているときはそうでもないのですが、GitやMercurialリポジトリを使っていると親と子のコミットのIDなど画面に表示される情報が増えます。コミットメッセージが埋もれて見にくいと感じていたので助かります。

お知らせ

3月25日(土)に新大阪駅近くで開催される「Redmine大阪 第16回勉強会」で、筆者が 「Redmine 3.4.0にアップグレードしよう! お気に入り改善点一挙紹介」というタイトルで発表を行います。

Redmine大阪 第16回勉強会 (2017/03/25 13:10〜)

/blockquote>

まとめ

過去の記事で紹介した50件以上の新機能の中から、筆者の注目機能の一部をピックアップして紹介しました。

近日中のリリースが予想されるRedmine 3.4.0は、いつもの新バージョンよりも多くの新機能や修正が含まれていて個人的には大変楽しみです。2015年7月にリリースされたRedmine 3.1.0以降、提案されたパッチの取り込みがより積極的に行われるようになった印象がありますが、3.4.0ではその傾向が一層鮮明になったように感じられます。

今回紹介したもの以外にも興味深い新機能が多数あります。ぜひバックナンバーでご確認ください。

バックナンバー(Redmine 3.4.0 開発開始以降分)

作成: 2017-03-18 16:20  •  分類: