Zope (and Grok) are not really magical, although reading some of the code may leave the unintiated wondering how the framework manages to do things so sweetly and with so little effort.
Here follows a concise explanation of most of the core concepts surrounding a Zope/Grok application architecture. As understanding creeps in, some of the magic will evaporate into thin air!
grok.Application
.book_index = IIndexSearch(mybook)
book_index = queryAdapter(mybook, interface=IIndexSearch, name=u'')
color = IRGB(banana)
res = IPNGResult(mysvg)
res = IJPGResult(mysvg)
form = getMultiAdapter([person, request], name='edit')
html = form()
session = ISession(request)
directives
. These directives may be used to configure the framework at load time. This greatly simplifies the task of maintaining a Zope based site.