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
signature.asc
Description: Digital signature

