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..

Powered by Zopache, Grok, Zope and ZODB

Robots Crawl This