On Fri, 2009-01-16 at 18:35 -0500, DJ Delorie wrote: > > Having been stung by this in the past, I would prefer the majority > > of plugins to be "opt-in" than "opt-out" (i.e. loaded only when the > > current project needs to use them). > > The counter-sting is trying to automatically install N plugins, each > of which has to be listed in a single config file. Avoiding a central > listing has its benefits too.
We do need some kind of opt-in system, otherwise we wouldn't be able to ship a load of (possibly contradictory / mutually exclusive) plugins in some standard system location /usr/lib/gEDA or some such. We can't rely on symlinking them into the user's config area either, since symlinks aren't portable to all OS. Going back to the potential for mutual exclusion, it becomes clear that the plugins might need some kind of dependency information with them, and we start to get into the rather horrible realisation that we may need to re-invent dpkg for gEDA. Plugins might need to "provide" certain named capabilities, such as "refdes_autonumber" or some such, and these plugins might have to declare excluding any other plugins which provide that same feature name. Plugins _do_ need some known API exported. One to query plugin name, version, and built ABI version would be a very good start. Compiz does most of these things with its plugins, vaguely nicely from an end-user point of view. If you try to activate a conflicting plugin, it will tell you - and ask you how to resolve the conflict. It also checks for compatible ABI before continuing. (Many times before now I've made PCB crash after forgetting to recompile plugins for a new version of PCB). Solving the difficulty of enabling a number of plugins at once via a config file.. That's the kind of thing an "Enable all" button in the GUI is good for. If we're feeling generous, we could code an "Add plugin" button to install it for you as well. (Some apps on the desktop even interface with things like package-kit to fetch / install new plugins without going behind the distro's package manager to do so). -- Peter Clifton Electrical Engineering Division, Engineering Department, University of Cambridge, 9, JJ Thomson Avenue, Cambridge CB3 0FA Tel: +44 (0)7729 980173 - (No signal in the lab!) _______________________________________________ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user