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.

Regards,
mk

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