Scott Duensing's review
Added by Andriy Lesyuk about 11 years ago
Scott published his review on the blog of Kangaroo Punch Studios:
Redmine is one of my all time favorite tools for managing programming projects. When Packt Publishing asked if I was interested in reviewing a copy, I jumped at the chance!
Mastering Redmine by Andriy Lesyuk covers the massive amount of functionality provided by Redmine with enough depth to get new users off and managing projects on their own installation. He begins the book with an overview of Redmine and a brief walkthrough of the user interface. This is followed by discussions on the different databases, web servers, and source control systems that can be used with Redmine. He also provides comparisons with ChiliProject (a fork of Redmine) in a very fair and unbiased way.
Chapter 2 covers installing Redmine. Redmine is a complicated piece of software and a lot of people give up before they even get it to run. This chapter covers just about every possible way to install Redmine to ensure that one of them will be appropriate for your environment. He seems to prefer using Linux and a package manager to keep things easy. Personally, I never liked this approach for Redmine. You end up with very outdated software that is hard to extend with plugins later. Fortunately, the next section covers installation using the source packages. For the less adventurous, he covers the various pre-packaged options available for installation.
Up next is configuration. There is a lot more depth to Redmine than the initial glance leads you to believe. The book walks the reader through the initial setup in an orderly fashion and covers everything needed to get a basic system up and running properly.
Chapters 4 through 9 are the meat of this book. They go step-by-step through the main Redmine features, explaining each along the way. Issue Tracking, Managing Projects, Time Tracking, Text Formatting for the wiki, Access Controls, Workflow, and personalizing the system to help get more out of it more efficiently. These chapters are very user-focused and are beneficial for anyone interested in using Redmine. They contain enough screenshots to keep things clear and enough detail to make the reader comfortable with the material.
Chapter 10 covers extending Redmine with plugins and themes. Several examples are given, but it never dives in too deep. More on that in a bit.
The last chapter discusses customizing Redmine. Most Redmine features allow you to add custom fields, your own enumerations for items in drop-down lists, etc. This chapter provides a good look at the options available and how to use them to tweak Redmine to fit your needs.
Overall, this is a really good book. It lives up to the quality I’ve come to expect of Packt Publishing. If you are unfamiliar with Redmine or installing complex software, the time this book will save you more than makes up for the cover price (which is not at all unreasonable for a technical book).
However, it’s not without a few problems that, I hope, will be addressed in future revisions or additional books on the subject. First, while it does not detract from the information provided, it’s very obvious that Mr. Lesyuk is not a native English speaker. Some sentence structures and word choices are odd and will likely make you re-read a few lines every now and then. His writing is quite good and clear but some people may be put off so I mention it.
A bigger problem with the book is the lack of in-depth technical information. As I mentioned before, Redmine is a complex piece of software. When things don’t work it’s often very difficult to figure out why. There is no help here for troubleshooting. Extending Redmine with plugins is a very hit-and-miss affair, and again, there’s no help to be found. A lot of plugins require configuration to be done outside the Redmine web interface. More often than not, add-on themes need some minor cleanup before they are usable. A brief overview of these issues would be beneficial.
Also lacking are details on advanced source control integration. The book does a good job integrating existing source repositories with Redmine but doesn’t even mention extending Redmine to actually manage these repositories. With the current “hotness” being GIT, a chapter on integrating Gitolite using the GIT Hosting Plugin would benefit many readers.
The most serious problem however, is there is absolutely no information related to upgrading an existing Redmine installation to a new version. This is a major omission. Upgrading has many “gotchas” that are only learned through trial and error. Even a short chapter covering backing up and restoring a Redmine installation would go a long way towards preventing disaster when it’s time to roll out a new version. Even worse, there are no warnings about issues faced when upgrading from an appliance or stack installation. In some cases, choices made during installation will come back to haunt you – possibly even requiring the total reinstallation of Redmine with no obvious/easy way to migrate existing data.
I hate to end on a down-note. The book really is very good and I recommend it to the less technical among us. Linux administrators with experience using similar systems will find some benefit here, but it’s really targeted at managers, testers, or developers who need a system like Redmine but lack the know-how to install it and use it on their own. If that’s you, or someone you work with, grab this book today.
This review is also available on GoodReads and on Amazon.
I especially liked his review for a good amount of criticism! Generally, to some extent I even agree with him. Actually, some things were known to me far before the book was published (there just were reasons to do it the way I did)...
Thank you, Scott, for your great review!
Scott Duensing is CEO and founder of Jaeger Technologies. Nothing else is known to me currently, unfortunately.