Wow, a while ago since I don’t write here… It could seems that I haven’t facing any problems up to date. Although I did, I’ve thought they weren’t too interesting to write about.
I’m just arrived from my month of holidays where apart of playing with my daughter and laying down in the beach I’ve been reading an interesting book: Redmine Plugin Extension and Development. I’m the creator of Redmine SpentTime plugin for Redmine along other private plugins I’ve written for the company I work at, so I know a bit about Redmine’s plugins.
The book is very easy and fast to read, with a plain and direct language that tries to explain every aspect of Redmine’s plugin development. The book is short, so you shouldn’t expect most of it, so don’t expect learning anthing about Redmine or Ruby on Rails because it isn’t the goal of the book. It seems obvious but this is not a book for novices on Ruby on Rails applications, you must know how this apps works to develop extensions for Redmine because you’ll have to know how Redmine works as well.
The good things of the book
There are several good things in this book, first of all the direct and plain language. The book is thought as a large tutorial from the beginning to the end. You could do a new plugin step by step. And it explains the most important parts of Redmine’s plugins as hooks, permissions & security or how to do new models searchables. The explanation of hooks is the most important part of the book, very worthwhile to read.
Also I like the permissions & security section and the importance the author gives to the testing side of the development. In this last section you’ll find valuables ideas about testing and continuous integration (CI) tools like Travis.
The bad parts of the book
Also this book have some bad things… although not too bad. First of all it tries to explain the development of plugins using as example another plugin (KnowledgeBase), but you must refer to GitHub repository to see the code examples, so you need a browser if you want to see the code. That is not very important for all people, but I think sometimes is good to have the code in the book so you don’t need to browse any page.
Another missing aspect about plugins is the internazionalization. The book covers basic aspects of the development like Bundle that are common to every Ruby on Rails application, so treating things as internazionalization is a must too… I know it because most of the contributions to my public plugin has been translations… although it’s very easy to do, it should have been covered in the book.
Redmine Plugin Extension and Development is a very good book for everyone that wants to write extensions for Redmine. After reading this book I planned some changes on the plugins I’ve wrote because I’ve learned very interesting things from it. You can read it in less than a week in your spare time, so it isn’t a lost time.