Using Grok techniques in Plone
A new manual, which may teach you a think or two about Zope as well
Update: Gave credit to Godefroid Chapelle, who started five.grok with Lennart Regebro.
For a while now, thanks to the efforts of people like Sylvain Viollon, Godefroid Chapelle, Lennart Regebro, Vincent Fretin and others, we've been able to use Grok techniques to register Zope adapters, utilities, event subscribers, views, viewlets, and so on in Zope 2 and Plone. This helps lower the Zope learning curve by largely taking ZCML out of the picture for component registration, allowing you to keep the code that makes up a component and the "wiring" for that component to be usable in the Zope Component Architecture (ZCA), together in one place.
Dexterity builds on this with additional grokkers, and the Dexterity documentation recommends using Grokkers for more basic Zope component registrations. You don't need to be using Dexterity to benefit from five.grok, however.
Today, I've published a detailed manual on using five.grok in Zope 2 and Plone. This also explains the fundamental Zope Component Architecture concepts with examples and analogies, so if you are a little rusty on your ZCA ABCs, and you haven't got Chapter 9 handy, you may find it a good read.
I've also openly invited the Grok project to plagarise this manual for their own purposes, should they find it useful.
You can find the manual here.