I'm after some advice on how I can build a plugin system for my django project. I'm building a simple CMS but want it to be extensible.

Ideally I'm after an approach which will allow people to build plugins that extend the functionality of my project.

I have two main types of plugins;

Data plugin: for example a data plugin could be a "blog" plugin which will add blogging functionality to my CMS.

Decorator plugin: this plugin type would add functionality to existing apps, probably without it even knowing. An example would be a TinyMCE plugin which replaces all Text boxes with a TinyMCE rich editor.

I have seen both http://martyalchin.com/2008/jan/10/simple-plugin-framework/ but i'm not sure if this fits my requirements?

I also want to take templates into consideration when defining my plugin system. So what I mean is, when someone builds a plugin I need an approach which will allow plugins to appear in designated containers within the core template.

I've looked at http://code.google.com/p/django-app-plugins/ but was wondering if there are any other approaches people would suggest I look into/consider?

I understand this is very academic, but I just haven't had much success finding approaches I'm comfortable running with, so I would appreciate any advice that can be offered.

Edit
Report