From: mk on
Hello everyone,

I'm thinking about writing plugin-style architecture for (a new)
web-based app (with SQLAlchemy as backend).

Say, there's core web app and someone decides to write plugin Accounting
for this web app that would work with SQA objects of the core app or
other plugins.

I found this:

http://effbot.org/zone/metaclass-plugins.htm

(Although I'm not entirely sure this is the best approach for the web app)

How would you approach designing such architecture using features
available in Python (and some major web framework, like Pylons or Django)?

Regards,
mk

From: Daniel Fetchinson on
> I'm thinking about writing plugin-style architecture for (a new)
> web-based app (with SQLAlchemy as backend).
>
> Say, there's core web app and someone decides to write plugin Accounting
> for this web app that would work with SQA objects of the core app or
> other plugins.
>
> I found this:
>
> http://effbot.org/zone/metaclass-plugins.htm
>
> (Although I'm not entirely sure this is the best approach for the web app)
>
> How would you approach designing such architecture using features
> available in Python (and some major web framework, like Pylons or Django)?

Major web frameworks like django, turbogears (thicker ones), pylons,
cherrypy (thinner ones) include all the functionality for doing this
sort of thing out of the box. If I were you I would go ahead and use
one of these frameworks and only start thinking about designing
something new if I hit a wall. Chances are you won't.

Cheers,
Daniel



--
Psss, psss, put it down! - http://www.cafepress.com/putitdown
From: Florian Ludwig on
Hi mk,

On Mon, 2010-02-15 at 19:43 +0100, mk wrote:
> Hello everyone,
>
> I'm thinking about writing plugin-style architecture for (a new)
> web-based app (with SQLAlchemy as backend).
>
> [...]
>
> How would you approach designing such architecture using features
> available in Python (and some major web framework, like Pylons or Django)?

You should really look into the web framework you're using, there
probably already is some plugin architecture.

But being not content myself with the architectures I've seen or worked
with I was looking for some input as well and posted some days back
about a similar topic. Maybe some of the thoughts expressed there might
help you as well:

http://groups.google.com/group/comp.lang.python/browse_thread/thread/0a210267753919b0/5add7bc93789b418

Florian


--
Florian Ludwig <dino(a)phidev.org>