A first look at Erik Rose: Plone 3 for Education
Erik Rose has written a book about: Plone 3 for Education. Here are my first impressions.
Plone 3 for Education is targeted at people working in education or in other larger organizations. You are the webmaster responsible for one or more websites of the organization. You are comfortable using Plone daily, but there just never is time to do everything that is needed. You want to delegate responsibilities to other users and wonder what is the best way to do that. The website needs some extra functionality and you would like to use an existing product for that; but which one is the safe bet for the future? And the website looks a bit outdated and could use some visual freshness. You have done a few tweaks in the Zope Management Interface, but have also heard that this is not the best way. So how do you make a nice theme these days?
If you recognize yourself in that description, then this book is for you. Hardened Plone programmers will not find much news here; still, most chapters give info about how best to use some third party products, like Plone4Artists Calendar and Faculty/Staff Directory. If you know what these products can do, you become a better consultant; and you know when to pick one of these products off the shelf instead of programming something totally new.
As the preface says, most chapters stand on their own. So the first thing I did, was to take on chapter 7: Creating Forms Fast. This is about PloneFormGen. My experience with PloneFormGen was mostly how to add it in a buildout, as at Zest Software we use this for quite a lot of clients. I do not think I have ever actually used it myself. So this looked like an interesting chapter to start with.
PloneFormGen is well maintained by Steve McMahon, who was one of the reviewers of this book, so you can be pretty sure the information in this chapter is correct.
The chapter starts out by telling you to "install PloneFormGen by adding Products.PloneFormGen to your buildout, as per usual." So you are expected to know a bit about buildout already. Earlier chapters may explain a bit more about this. The chapter then continues with a few very practical steps to take in the css and javascript registry when you want to support adding Rich Text or Date/Time fields on forms. Good to know.
Erik then takes you through your first steps with PloneFormGen, adding a FormFolder in the site and doing a bit of editing there. He presents all form fields that you can add. He explains that you should edit the default Mailer form action and set a recipient email address there, otherwise form submission will fail. When you add a Save Data Adapter, to store the submissions in the zodb, you get two valuable tips. Always keep a mailer adapter as backup in case something goes wrong and you lose the saved data; and do not remove or reorder fields when the form is already live, as the saved data will not get changed to fit.
The chapter gives a short recommendation on when to use PloneFormGen and when to create an Archetypes content type. Then it ends with giving you a taste of the flexibility of PloneFormGen. You can use it to create online tests for your students. You can use it to create a simple form (or a complex one if your organization needs that) as front end for creating news items (or other content items).
I'll write another review with a look at the other chapters later. If those chapters are similar to this one (and I have peeked already), then this looks like a very practical book. It presents clear goals, with step-by-step instructions to reach them, without magically sounding jargon, and with some hard earned wisdom so you can step around the common pitfalls. I think a lot of people could benefit from this.
Disclaimer: I got this book for free from Packt Publishing in exchange for a review; and ordering the book via one of the links in this article will land me some money.