[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