Zopache

Zopache Computational Model

Zopache is not just a bunch of TTW objects. It is a different
computational model than either Zope2, or Grok/ZTK. All three support
a ZODB
tree of persistent objects with child references. Grok, ZTK and Zopache also have
parent references. Unlike Zope 2 TTW, Zopache TTW allows
references to remote branches of the tree, making Zopache TTW into a
graph database. Unlike ZTK/Grok, Zopache hides
both python namespaces, and the Zope Component Architecture from beginners, making
them available to advanced developers.

More Differences

When accessed from the web, objects are found using traversal.
Zopache traversal is a bit different from the other packages, but not hugely different.
During zopache traversal, templates are acquired from the ZClass or parents.

When accessed from python, objects find each other by acquisition.
There are various types of acquisition. Parental acquisition,
child acquisition, and cousin acquisition. For historical reasons cousin acquisition is called a ZClass.

Unlike Grok/ZTK, the namespace for Zopache is the url tree.
Values are acquired from the ZClass, parent objects, or child objects.
Of course, being written in Python, Zopache depends and benefits from
the python file system namespace. Being written in Grok and ZTK it depends
on the Zope COmponent Architecture.

In Grok, templates are stored in the file system, in each
individual package. There is no good
way to share them across packages. Indeed the only
unfixed Grok bug report that I ever encountered was that templates cannot
be shared across packages. In contrast, in Zopache, Templates are
stored on the ZODB tree, either near the root in a ZClass, and can be
accessed from anywhere.

I invite you to Register and then link to your own blog postings and
software packages..