Time for a Grok status report. I thought the Grokkerdam sprint was very successful. It is now a few weeks behind us. A fun time was had by the participants and we got a lot of work done. What's more we've had followup on many of the projects started there - people have continued the work started at the sprint. Meanwhile our release mill is churning along: last week Grok 0.12.1, a bugfix release, was released! Here is an overview of some of the recent interesting developments in
Grok-land. There is really too much to mention, so forgive me if I
don't mention your favorite topic. This is part 1. I'll be posting
another blog entry soon which continues the update. megrok.rdb At the sprint, we started the megrok.rdb project to integrate Grok
into SQLAlchemy. We had a long discussion on how to best do this, and
got a lot of valuable input from Christian Theune. After this
Christian Theune, Christian Klinger, Jasper Spaans and myself worked
on the implementation. We now have a sketchy implementation that does
have many of the features we discussed, albeit in unpolished form: The current example code using SQLAlchemy with Grok looks like this: http://svn.zope.org/grokapps/rdbexample/trunk/src/rdbexample/app.py?&view=markup We definitely will be cleaning this up further and will make many
changes, but it already looks pretty clean. After the sprint the work continued. One important development was the
creation of the zope.sqlalchemy package by Laurence Rowe, which is
intended to become the universal foundation to the other SQLAlchemy
projects in the Zope world. It provides transaction integration
between Zope and SQLAlchemy. I have also been extensive discussion
with Laurence and others on how to best implement a multi-application
multi-database setup with SQLAlchemy. Zope, and Grok, support the
pattern of having multiple separate applications in a single server,
and when you are using a database, multiple databases. We need to
convince SQLAlchemy to do the right thing there while preserving ease
of use. grok.traversable During the relational database integration discussion at the Sprint we
discovered a common traversal pattern we decided to codify. Thanks to
the work done by Reinout van Rees and Jasper Spaans we now have a
grok.traversable() directive. This makes it trivial to make an
attribute of an object traversable and thus part of URL space. This directive will be available in the next feature release of Grok
(Grok 0.13). Grok on Zope 3.4 (KGS) Grok had pinned down the versions of its dependencies to "whatever
worked" back at the Neanderthal sprint. Since then, Stephan Richter
developed and maintains KGS, a package index for Zope 3
packages. Versions of these packages are tested together. At the sprint, Maurits van Rees and Tim TerlegÄrd updated the
versions.cfg list of Grok to the KGS-based versions. We continue
to maintain our own versions list, but at least Grok depends on the
same versions again as a typical Zope 3.4 install. After the sprint, we've checked that Windows binary versions are
available of all the eggs currently in KGS. Jim Fulton kindly compiled
them for us and made them available on the Python Package Index, so
Grok 0.13 will be windows compatible. Sphinx for Grok Uli Fouquet did a lot of work before the sprint in integrating the
Sphinx documentation utility for Grok's documentation. Jan-Wijbrand Kolman and Uli spent a lot of time polishing this off and landing this support in the Grok trunk. We intend to start publishing some of the SVN managed documents for Grok with this. We will also continue to publish documents using our Plone website, but some documents are better suited to being maintained within SVN instead. Now we only need to start adding this to our documentation workflow;
we've started discussions on how to do this, so hopefully this will land our website soon. Documentation A lot of work was done on documentation during the sprint. The
website was reviewed and suggestions for improvements were made. Kamon
Ayeva and Godefroid Chapelle also offered to help maintain the Grok
Plone site. Since the sprint we've set up a grok-web mailing
list. This is a welcome release for our hard-pressed website hero,
Kevin Teague. More documentation has been written since the sprint, and the documentation section of our website is starting to look quite nice.
(4) Mon Jun 02 2008 18:35 Grok Status Update Part 1:
- Comments:
Posted by Luciano Ramalho at Mon Jun 02 2008 19:44
This is all very exciting and important! Congrats to all involved.
Posted by Godefroid Chapelle at Mon Jun 02 2008 22:24
Work was also done on megrok.kss.We released 0.1 and started work on 0.2 in which we finally got to sthing very important : KSS actions being views of views, which makes a lot of sense as KSS actually allows to manipulate HTML.We also improved and extended KSS documentation on grok.zope.org.Many thanks to Jean-Paul Ladage, Jeroen Vloothuis, Jan Jaap Driessen and Philipp von Weitershausen.However, there is still work needed to release megrok.kss 0.2 as soon as grok 0.13 is ready !
Posted by Martijn Faassen at Mon Jun 02 2008 22:47
Godefroid, I hadn't forgotten KSS, it's going to come in part 2. :)
Posted by Godefroid Chapelle at Tue Jun 03 2008 14:52
Paranoid __gotcha felt forgotten :-S
