[Grok-dev] Re: Teach me Grok

Godefroid Chapelle gotcha at bubblenet.be
Thu Apr 10 12:42:42 EDT 2008


Martijn Faassen wrote:

> Big question still! Grok is an integrated megaframework. That is, it
> features replaceable best-of-breed components (megaframework) while
> still aims to give you an integrated feel (the parts tend to follow
> style guidelines and make use of the component architecture).
> 
> On to your question on what Grok gives you that Django doesn't. I'm not
> sure whether Django can add a view to a content object defined in an
> altogether different package. Grok is built around patterns that let you
> do this - the component architecture. Extensibility and evolvability
> through views and adapters and event handlers. In longer-term or larger
> applications such a general way to extend and evolve and application
> becomes quite important.
> 
> Concerning components, I believe we have a lot to pick from. We can
> still do a lot better in presenting the components that are available in
> the Zope 3 world, and I don't promise that all these components are
> equally mature, equally integrated in Grok (there's no need for this
> except to make life easier, though), or that they are easy to adopt, but
> I'll give you a grab bag list of some of the things here:
> 
> * manage part-of-page views, per context object, per view, per area on
> page, per skin (viewlets)
> 
> * manage vocabularies (for drop-down lists, say)
> 
> * display HTML tables
> 
> * auto-generate forms from schemas, with a wide selection of widgets
> 
> * integrate with ORMs (Storm, SQLAlchemy)
> 
> * authentication (basic auth, session auth, pluggable infrastructure on
> where to get users, etc)
> 
> * authorization: users, groups, per-user/group per-object permissions
> and roles
> 
> * REST, JSON, XMLRPC, WebDAV
> 
> * i18n, localization of things like date/time, country names, etc
> 
> * locking and freezing objects
> 
> * sending, queuing mail
> 
> * workflow
> 
> * XML-export and import of schema-driven content
> 
> * making objects appear in multiple places at once in the traversal
> hierarchy, including generating correct urls for them and the urls of
> sub-objects (zc.shortcut)
> 
> * versioning objects in a version control system (zc.vault)
> 
> * object indexing and search (grok.Indexes makes this easier)
> 
> * lucene, xapian indexing integration
> 
> * relation indexing (zc.relation)
> 
> * caching, support for protocols like ICP (zc.icp)
> 
> * unit testing, doc testing, fake browser doc testing, driving selenium
> from browser doc testing, driving a real browser from browser doc testing
> 

* ajax (kss.core - also provided with Plone 3)

Hopefully, when leaving Grokkerdam, megrok.kss will be in such a state 
that Martijn wont forget to mention it ;-)


-- 
Godefroid Chapelle (aka __gotcha) http://bubblenet.be



More information about the Grok-dev mailing list