Redmineのプラグイン開発者にオススメの一冊はこれだ!

感想おまちしてます!

Redmine Plugin Extension and Development

イギリスのPACKT PUBLISHINGのマーケティングの方から「本のレビュー書いてみない?」というお誘いをいただき『Redmine Plugin Extension and Development』という本を頂きました。邦題だと『Redmineプラグインの拡張と開発』でしょうか。本書はRedmineのプラグイン開発や拡張方法を著者が開発しているプラグインを通して学べます。

目次を読めばひととおりの流れが書かれているのがわかるとおもいます。

  • 1章 Redmineプラグインの紹介
  • 2章 HookによるRedmineの拡張
  • 3章 パーミッションとセキュリティ設定方法
  • 4章 ファイルの添付
  • 5章 検索可能なモデルを作る
  • 6章 アクティビティへの登録
  • 7章 プラグイン設定の管理
  • 8章 プラグインのテスト方法
  • 付録 プラグインをリリースしよう!

全体を通して読みやすくわかりやすい内容でした。その中でも個人的に面白かった点をいくつかご紹介します。

RedmineとRailsの境目がわかりやすい

僕は昔、バーンダウンチャートプラグインなど、いくつかRedmineプラグインを作ったことがあります(更新はストップしていますが・・・)。どれもViewを工夫したプラグインで、スキーマを拡張したりするプラグインは作ったことがありません。

本当は「ここの画面のこのへんにこういった機能を表示したいんだよなぁ」と思っていたのですが、それができなかったのは、開発者ガイドや翻訳してみたPlugin Tutorialがわかりにくかったからです。情報がざっくりなので細かい点を調べる前に燃え尽きました。

それに、Railsで作られたRedmineには、Redmineならではの拡張方法もあれば、Railsの機能やGemの機能もあるので、調べる範囲が広すぎて燃え尽きてしまいました。

その点、本書は切り分けて説明されており、より深く機能を知りたい場合は、参考URLも紹介してくれています。

実用的なRedmineの拡張

本書には実用的なRedmineの拡張方法が説明されています。

例えば、5章のacts_as_searchableを使った検索では、自分が作ったオブジェクトをRedmineの検索結果に表示させたり、4章のacts_as_attachableを使ったファイル添付では、簡単にオブジェクトにファイル添付できたり。Wikiに新しいフォーマットを追加したり。

RedmineやRailsが提供している機能を有効活用すれば、簡単に、メンテナンスも楽に、優れた機能をRedmineに注入できます。

著者作成のサンプルプラグインを参考にできる

Screen Shot 2014-07-27 at 17.01.53

本書ではナレッジベースプラグインという著者が開発したプラグインを使って説明されています。もちろん、ソースコードはGithubに公開されているので、実際に動かしながら確認できます。

確認したときすでに611コミットもしているので、リッチなサンプルを元に勉強できるはずです。

付録ではプラグイン公開時のポイントが!

付録では作成したプラグインをredmine.orgプラグイン一覧に掲載する方法や、フォーラムでコミュニティメンバーに紹介する方法まで書かれています。

たしかに本書はRedmineのプラグイン開発者向けの本ですが、ここまで説明してくれるのは面白いですね。きっとRedmineには良いコミュニティができているのかもしれません。

Redmineがすぐれたプラグインプラットフォームであり、たくさんのプラグインが公開されています。本書を読めばひととおりのお作法は理解できるので、ぜひチャレンジを!

*

英語の本だったのでちょっと読むのにためらいましたが、実際にサンプルを使いながらお作法や手段を学んでいくタイプの本なので、最後までとても楽しく読めました。Kindle版だと1000円ぐらいなのでお試しにちょうどいいと思います。

海外ではいくつかRedmineの本が出版されているみたいなので、Redmineをとりまく環境がさらに盛り上がっていくのを楽しみにしています。

Hi Rochell, Thank you for inviting to reviw of “Redmine Pulugin Extension and Development”. I enjoyed your book and that is good exercise for me because I’ve just studied Ruby. I hope this book is known to all the world :)