Gossamer Forum
Quote Reply

I skimmed the plug in system, and I have a few first thoughts:

1) Housekeeping. The "uninstalled" should use a subdirectory system such as CPAN, where each plugin can be downloaded into the Plugin/Unistalled directory, untard/ziped, and will expand into it's own subdiretory.

2) the plug in manager then scans for subdirectories and a install.pm file (or similar).

3) The plug in manager runs the install.pm file which copies the various files from the Uninstalled directory, into the Plugins/Plugin_Name directory.

4) This is for housekeeping, for modules that require other modules, and for preventing name colisions.

The plugin manager assumes any subdirectory is a module.pm file which is the main file.

Or, dpending, the job of the install.pm and plugin manger is to update the plugin.cfg to know which modules are installed or not.

Personally, I prefer the first option, where it's all automatic on "bootup", and the modules are installed from the Uninstalled directory into the Plugins::Plugin_name::Plugin_name (where Plugin_name is Plugin_name.pm).


I _HATE_ anything that resembles the Windows registry, and for the price of a few CPU cycles on start up, you get a good, clean "install".

(Startup can be interpreted as a "run" of the plugin manager, which can read the current disk layout, and update the plugin.cfg file accordingly, so that the running processes load the plugin.cfg (if that is the order of operation)).

Again, this is a first look, but the plugin installed in the main directory, and included all the over-head install code, which should be stripped out (especially in the case of complicated module installs).

FAQ: http://www.postcards.com/FAQ/LinkSQL/

Quote Reply
Re: Plugins In reply to
Good points. The plugin system right now only works for one file plugins. We have just finished our tar module and our revamping it to work for plugins that bundle multiple files. The plugin author will be able to add templates, user cgi, admin cgi and more for the larger templates.



Gossamer Threads Inc.