On Sat, Jul 28, 2007 at 03:28:31PM -0000, Henrik Lied wrote:
> 
> Ok, so I've been thinking some more.
> 
> The model could be something like this:
> class Plugin(models.Model):
>     """(Plugin description)"""
>     pointer = models.FilePathField() ## Could work, right?
>     name = models.CharField(maxlength=200)
>     description = models.TextField(blank=True, null=True)
>     url = models.URLField()
>     apply_to = models.ForeignKey(ContentType)
>     active = models.BooleanField(default=False)
> 
> We then would have to make a standard on how the plugin-packages would
> be designed.
> A zip-file would probably work out OK. We would then have to get this
> zip-file, run through it and copy its files into a plugins-
> subdirectory. The package should have a info.txt-document, where the
> plugin title would be on the first line and description on the second.
> 
> But - I'm still not sure how we'd easily hook this into other
> applications - at least not without the user having to modify the
> source code...

See twisted.plugin.  Define your interfaces, and let twisted handle the rest.

Don't pull a PHP-ism like forcing users to modify code.  That is, by definition,
not a plugin architecture.

-Forest
-- 
Forest Bond
http://www.alittletooquiet.net

Attachment: signature.asc
Description: Digital signature

Reply via email to