I am very curious about how is this idea born and how you manage to write it. Are you really developing it? (if I remember well I think I saw on your blog something about version control and so on).
SourceBeat came up with the idea, they just recruited me as an author. When we released the first ERP (and I started receiving feedback), it dawned on me that I should manage the production and update of the book like an open source project. This means we're using JIRA for issue tracking and Confluence for our knowledge base. Also, using my Spring Live Blog has proved to be a great way to spread the news.
What I've done to manage the code for Spring Live is to create different branches in CVS for the different chapters. This allows me to update the chapters independently and to also release them as I update a chapter.
The sample app in the book is started using Equinox (demo) and I plan on enhancing this starter app in the next couple of weeks. My hope is to create a starter app where you can choose your web framework of choice: Struts, Spring, Tapestry, WebWork and JSF. All of these framework options will be covered in Chapter 11. Since the book (Chapter 7) shows how to use 5 popular persistence framework options (Hibernate, Spring JDBC, iBATIS, JDO and OJB), I might add those as an installable option too.
Issues can be errata (errors) or improved ways of doing things. If the Spring releases a better way of doing things, I might update a section of one chapter. By entering an issue in JIRA, I can produce a set of release notes that document what's changed in the new release.
For example, here's the release notes for SiteMesh. Confluence is used to pull the issues from JIRA and it makes for an easy way for readers to see what's changed between updates. Since updates are monthly, this makes it easy for readers to see if they should go back and read something.
Joined: Jul 12, 2004
The customers are able to post issues in JIRA about what is missing from the book or what they feel it may be wrong (I am not suggesting has something like this :-) )?