Unfortunately the lack of documentation for the ZODB does not reflect its maturity, robustness or feature set. The documentation is scattered. Most of the information is outdated. Many best practices have been learned over the past 10 years. There has not yet been a concerted effort to generate and maintain ZODB documentation. This initiative is set on fixing the first step, generating documentation. The following topical overview is a draft of what material may be covered:
- Introduction to ZODB.
What it is. Maybe some bits about the NoSQL craze, how the ZODB has been doing that for more than 10 years. When is the ZODB a good fit for your app?
- Your first ZODB application.
A short chapter dealing with installation and running the first app.
- A more complex application.
A bit more involved explanation of how it works and a more useful sample application.
- Basic indexing and searching.
The Catalog and indexes. I might use the repoze stuff, which is somewhat simpler.
- A more in-depth look at the ZODB internals.
A little more information about how the ZODB works. At least enough stuff to understand the later chapters about storages and debugging.
- ZODB Storages.
Details about the FS storage and discussion of RelStorage and maybe DirectoryStorage.
- Other indexing and searching strategies.
Other catalog implementations, third party indexes and using external indexing solutions, like Solr.
- Advanced ZODB.
Evolving objects and other problems...not really sure about this one yet.
- The debugging FAQ: frequent problems and suggested solutions.
General debugging strategies and then a FAQ with common problems.
The ZODB cache, ZEO and replication services.
Packing, backups, etc.
Update: Jim Fulton has volunteered to technically review the book!
Individuals and organizations can contribute and will be recognized for their contribution in the following ways:
- A printed version available on Amazon will have their name and/or logo's in the book.
- The ZODB website will provide links to their website.
- Their contribution will be documented in the main ZODB documentation and will permanently reside in the documentation.
- $20-149, Individual Name
- $150-399, Company Name
- $400-999, Company Name + Logo + URL; link on ZODB.ORG
- $1000-2499, Company Name + .5 page "spread"; link on ZODB.ORG
- $2500-, Company Name + full page "spread"; link on ZODB.ORG
- Provide a modern unique logo/design for the ZODB project
- We hope to flush out and clarify the meaning of all public interfaces and methods in ZODB source docstrings.
- A Creative Commons licensed PDF will be available.
- Put the new book online at zodb.org
- Possibly provide a hard copy published on Amazon.
The next steps:
- Register the paypal account to take contributions.
- Send email to various mailing lists and companies using ZODB soliciting donations
- Get Carlos writing!