A filesystem-based ZopeProduct is the primary way to extend Zope with new functionality (you can also have a (deprecated) ZClasses-based product or customize zope without a product). Most zope add-ons are disk-based products.
There are a number of samples/tutorials to help get started with this. Which is best ?
- http://www.zope.org/Members/gtk/Boring/HowTo-Boring - the venerable Boring example product, a bit out of date.
- http://www.zope.org/Members/maxm/HowTo/minimal_01 - a nice tutorial, simpler and with more explanation than Boring.
- http://zope.org/Members/jmeile/JMBoring - a modernized Boring example product (however it also depends on some of the author's own ZPT macros).
- http://www.zope.org/Members/maxm/HowTo/easyProduct - a product you can use as a base class to simplify development of new products. Examples use DTML but you could also use ZPT.
- http://zope.org/Members/slinkp/CMFBoringTool - a simple example of a Tool product for CMF.
- http://www.upfrontsystems.co.za/courses/zope/ch04.html - Developing Zope Products in Python (part of the Upfront-Zope-course)
- http://slinkp.com/~paul/pycon_2006/z2/notes.html - Developing Zope Products with Five (Zope 2.8 and above)
- http://papakiteliatziar.gr/BetaBoring - a modern boring example product that uses few mixin classes and instead builds on Folder / OrderedFolder? / BTreeFolder2, it also uses ZPT for whatever is needed
"Filesystem product" ?