[Grok-dev] libraries to use with Grok

Martijn Faassen faassen at startifact.com
Thu Nov 19 08:37:07 EST 2009


Hey,

I'm going to go through libraries that may be interesting. Most of them 
I haven't used so others should help out and comment.

I'll also list libraries that I think are probably out of date and 
*shouldn't* be listed. If you disagree, please comment too!

Libraries that may be interesting
=================================

megrok.chameleon: Chameleon template engine integration into Grok.

megrok.jinja: jinja template engine integration.

megrok.genshi: Genshi template engine integration.

megrok.login: making it easier to set up authentication for Grok

megrok.menu: menus for Grok. I know Souheil is using this, and we should 
consider moving this into Grok proper at some point actually.

megrok.strictrequire: enforce the present of the "require" directive on 
views.

megrok.z3cform: using z3c.form form library with Grok

megrok.z3c.form.base/.composed/.layout/tabular/.ui/.wizard: presumably 
extensions to the above.

hurry.custom: I have actually used this in OAI Document Library. A 
system for defining customized overrides stored in a database (such as 
the ZODB) of things like templates. I've used it for a UI that allows 
people to edit email templates (based on json-template) that the OAI 
Document Library uses. I *intend* to use it for a system of through the 
web editing of JSON templates in general in a philosophy of client-side 
templating web app development. But I haven't gotten around to building 
that yet. :)

hurry.extjs: extjs wrapped with hurry.resource

hurry.filesize: I've used this in OAI Document Library. A simple Python 
library that helps one determine a displayable size of a file in bytes, 
kilobytes, etc.

hurry.jqueryui: I built this recently but haven't used it yet. Packages 
JQuery UI the hurry.resource style.

hurry.js.wforms: the wforms Javascript library packaged using 
hurry.resource. I ended up not using it. May be useful to someone who 
wants to use wforms though. Not that 'hurry.js' was my idea for a better 
namespace than just 'hurry' for javascript libraries, but perhaps we 
should just call it 'jsresource.' or whatever..

ldapauth, ldappas: the OAI Document Library has a plugin that can use 
these. LDAP authentication for Zope Toolkit aps.

z3c.vcsync: synchronize the ZODB with a version control system. Includes 
SVN implementation of this. May be too arcane for people to easily use, 
but I'm using it. :)

zc.sourcefactory: easier way to construct sources for use in schemas 
(and forms) (we should look into integrating this more closely into Grok 
by the way)

Libraries that may be less interesting
======================================

megrok.form: depends on z3c.widget which depends on z3c.javascript which 
isn't released on pypi proper and contains a massive amount of 
out-of-date javascript libraries.. I think this one could be cleaned up 
(possibly by rewriting bits of z3c.widget ourselves) but we keep butting 
our heads against it. It *is* used in the form tutorial so we should fix 
this up..

megrok.kss: KSS the project seems not very active and this library isn't 
actively maintained to my knowledge.

megrok.cheetah: Cheetah template integration. Is anyone using this? No 
pypi release.

megrok.feeds: not worked on for a long time.

megrok.quarry: an early layer/skin system for Grok. Now done by Grok core.

megrok.rdf: an experiment in doing megrok.rdb-style RDF integration. 
Never used by anyone to my knowledge.

megrok.resourcelibrary: I integrated zc.resourcelibrary with Grok before 
I decided to create hurry.resource. I recommend using the far more 
powerful and less hacky hurry.resource

megrok.responseheaders: a library to help set response headers using 
view directives. Don't think anyone uses this.

megrok.trails: routing for Grok. Is anyone using this?

hurry.explorer/explorertests: a javascript "file explorer" I built with 
YUI. Not generally useful enough I suspect though.

Regards,

Martijn













More information about the Grok-dev mailing list