Grok-like configuration for catalog and indexes
What is grok?
Grok is a smashing web framework based on Zope Toolkit technology.
Grok uses the Component Architecture and builds on Zope concepts like content objects (models), views, and adapters. Its simplicity lies in using convention over configuration and sensible defaults when wiring components together. That means neither a configuration language like ZCML nor a lot of repetition are needed to create a web application with grok.
You can find out much more about Grok at our http://grok.zope.org website.
Who is grok?
Grok is a friendly caveman from the Stone Age. He has a big club that he hunts mammoths with. He will also use this club to smash anything he doesn’t like.
“ME GROK SMASH ZCML!”
The easiest way to get started with grok is to install the grokproject package (e.g. via easy_install grokproject) and then create a new project area by calling the grokproject script like so:
$ grokproject MyProject ... many lines of output here
This will create a project area in MyProject as well as download and install grok.
You can also get grok from the subversion repository:
svn co svn://svn.zope.org/repos/main/grok/trunk grok
Then follow the instructions of INSTALL.txt.
- Rearrange tests such that Travis CI can pick up all functional tests too.
- Python 3 compatibility.
- Introduce IntId index that is more optimized to index values by their int ids.
- Update tests.
- Introduce Datetime index that’s more optimized for index datetime objects. Please note the index uses seconds-resolution (the integer timestamp representing the datetime’s value).
- Make possible to install a catalog in a site on a different event than IObjectAddedEvent using the grokcore.site.install_on directive.
Rename IIndexDefinition and IndexDefinition into IAttributeIndexDefinition and AtributeIndexDefinition respectively. This is used for the current index “classes” and allow for setup() magic for attribute indexes when creating new catalogs.
This allows for IIndexDefinition and IndexDefinition to be used for simpler catalog index definitions where no Grok magic is applied when creating catalogs.
- Initial fork from Grok.