On Sat, May 22, 2010 at 12:12 PM, Rufus Pollock <[email protected]> wrote: > Hi, > > At the Open Knowledge Foundation (http://www.okfn.org) we have used > Pylons for several of our projects (http://www.okfn.org/projects/). We > think it is a great framework. > > However, there are some standard components which it would be nice to > be able to "plugin" in a standard way -- e.g. users + auth, admin, > settings, comments (more examples plus details below). In many other > frameworks/platforms (including e.g. Django) you do indeed see some > sort of plugin frameworks in which this sort of functionality does > indeed become a plugin of some kind. > > Now, I'm well aware of Pylons different and more flexible (and IMO > better) approach compared to e.g. django. And that this architecture > may mitigate against providing any standard "plugin" (e.g. how do we > know which template framework -- mako, genshi, jinja, etc -- a given > pylons user is using ...). > > However, I think it is still possible to do something useful along > these lines -- even if a formal plugin framework isn't > possible/required just "packaging" up best-practice(s) *pattern* for > how to do standard stuff it would be very valuable (especially if a > pattern kept up to date!). > > Below I've given a list of some examples of the sorts of things that > could be "plugins". What else should be on that list? Is there > interest in having plugins? > > Regards, > > Rufus Pollock
Pylons is intentionally small, so that things that would be plugins in other frameworks can usually be implemented on top of Pylons. So for instance, Repoze.who/what is a plugin system for auth^2, and there are Pylons application templates on PyPI that preconfigure a Pylons/who/what application for you. Eventually the best of these templates might get official status and be featured in the docs. Including them in the Pylons distribution would be more difficult -- we'd be committing to supporting them forever, and the state of the art in auth, CRUD, etc changes so frequently. There has been some work to base Pylons 2 on zope.component, which would allow Pylons components themselves (routing, action calling) to be pluggable and replaceable. An application could use the same component system to configure its auth plugins, etc. Another goal of Pylons 2 is to make applications more nestable, so that they could be used as inner apps similar to Django applications. So this may help for plugins, but first we have to get Pylons 1 finished. > ### 1. Users and Authentication - basic plugin to do users and > authentication out of the box > > * Openid + Form (email confirmation etc) > * Build on existing plugins (repoze.who, authkit, whatever) > * Tie in to existing model (sqlalchemy) object (or provide demo code > to create it) > * Even if just a demo that *works* it would be useful > * We've now done this ~ 6 times. There are commonalities and even if > this were just a demo it would be useful > > ### 2. Admin - lightweight admin system > > 1. Model CRUD - provided an existing solution nicely wrapped up or > just document how to do it and ensure it really works -- we've used > FormAlchemy plenty (and other options) but ensuring something "just > worked" would be useful > > 2. Settings module - think wordpress settings/options system > * DB Table + web user interface > * Config in db rather than ini file > > ### 3. Mini-CMS > > * Simple content management - post/page table plus editor > * Slave CMS - pull content from an RSS feed from e.g. wordpress or other CMS > * We implemented this ourselves in http://openshakespeare.org > > ### 4. Commenting > > * Commenting is a common functionality across many applications > * A basic plugin that providing commenting functionality either > directly or pased on an existing pluggable service (e.g. disqus) would > be extremely useful If you look on PyPI you'll see the existing Pylons applicaition templates. You might get together with those authors and set up a central list of these, and find some way to distingush the best ones and get rid of the worst ones so that users can see, "This is the best recommended template for doing X." -- Mike Orr <[email protected]> -- You received this message because you are subscribed to the Google Groups "pylons-discuss" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en.
