If you are doing Plone 4 development, go buy this book. Now.
I started working with Plone in 2006. Back then I was really just beggining with development in general and did not know how to do things properly. I only knew how to tweak some templates and to use ArchGenXML to generate some content types. No version control, no tests, no nothing.
Then Professional Plone 3 Development came. “Wow, I’m doing things seriously wrong” was my first reaction. That booked steered me in the direction of using Subversion to control my source code, writing tests to prove my code doesn’t break in various places, using pdb – the Python debugger, deploying Plone sites myself, etc.
Plone 3 vs. Plone 4
However, Plone 3 was complicated. There were all these new technologies and concepts that you now had to use. That’s not bad in itself, but those technologies only delivered part of the story. You still had to use old ways to do certain tasks. Plone’s learning wall was higher than ever.
With Plone 4, these technologies are not new anymore. They are polished and widely used. You only need to learn one way to do something, not three. As a consequence of this, Plone is now easier to learn. Plone’s development process is cleaner, more defined, with better tools. The new book from Martin is the same: less history overhead, more confidence in newer, better tools and concepts.
Having in mind how much Martin’s previons book improved my development process I was so stoked when I heard him announcing that he started writing an updated version. After waiting for many months, it’s finally out. Bigger, better, more up-to-date. Unlike how Plone 4 is leaner than Plone 3, the new book packs a hundred more pages of insights into efficient development and deployment process. It starts with introductory chapters where the author shows you how to prepare basic project specification. Then it goes over preparing your development environment for productive work. I cannot stress enough how important a well prepared environment is. Having tools pointed out in the book at your fingertips when things go wrong is just godsent. What follows is how to write actual code. Several chapters, full with examples of code that you can use in your own projects. I really like how all examples come with tests to really show developers that tests are an important part of your development process. Finally, there’s deployment. These chapters show you how to properly deploy and maintain your Plone site and gives you pointers on how to scale your deployment when your projects starts getting more attention.
The information Martin gives is in accordance with latest best practices developed in the Plone community. Even if you are a seasoned Plone developer I’m sure you will find at least a few useful tricks and tools that you don’t yet use and will grow to love them as soon as you do. I know I did!