On 2/16/10 2:17 PM, Mike Orr wrote:
On Tue, Feb 16, 2010 at 3:28 AM, mk<[email protected]>  wrote:
Hello everyone,

I need to write a rather large web app using Pylons.

I'm trying to work out if it could be written as a series of plugins, some
of them realizing "core" functions, and some being addons, e.g. Email
Management or FTP Management would be core plugins and Accounting could be a
third-party plugin, working e.g. with FTP Management to calculate e.g.
bandwidth used by FTP.

To give you some idea why I would try to do it this way:

1. Modularity. Separating, say, Accounting from Email Management makes sense
on an architectural level.

2. Extensibility by third parties. In order not to end up with
unmaintainable mess, communication between plugins should be handled via
some service interface over some sort of established protocol (I think).

I was thinking that even the main page could just be a display page for
content produced by particular plugins (would template inheritance in Mako
be useful for this?).

I found this:

http://wiki.pylonshq.com/display/pylonscookbook/Using+Entry+Points+to+Write+Plugins

But I'm not sure eggs would suffice: I would like to be able to register
plugins dynamically while the Pylons app is running and to be able to
dynamically create pages querying plugins from somewhere (the plugin data
could even be contained in SQLA backend). Say, the main app page queries
plugin list, and asks each plugin to create HTML content for its part of the
page in specified context (say, 'mainpage'), then displays the whole thing.
One thing that worries me a bit in such context would be an overhead.

I do realize that in this case Pylons becomes sort of meta-framework, and
frankly I have no idea if this would work well, or if the whole thing would
just collapse in flames.

How would you approach doing smth like this in Pylons? Is it even a good
idea?

So far I've written only "hello world" sort of apps in Pylons (I wrote quite
a bit in straight mod_python using Mako and SQLA as components), so I would
appreciate the thoughts on the subject of people who have had more
experience with implementing actual apps in Pylons than I have.


Any web framework as flexible as Pylons won't really have this sort of stuff worked out in any meaningful way for you, because having it worked out would mean losing some flexibility. I don't think using Pylons will either help nor hurt.

I think maybe what you want is a higher level set of abstractions like the abstractions offered by content management systems like Drupal or Plone or Pinax. You can either invent something CMS'y on top of Pylons or another web framework that has these abstractions, or you can search around a bit to see if any of the current CMS systems offer abstractions that fit your brain.

--
Chris McDonough
Agendaless Consulting, Fredericksburg VA
The repoze.bfg Web Application Framework Book: http://bfg.repoze.org/book

--
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.

Reply via email to