On Friday, 15. September 2006 00:08, Lars Skjærlund wrote:

> It wouldn't be a nice tough if creating a new plugin for a customer
> would mean restarting their production server as we expect to have to
> create a lot of plugins on a regular basis.

Ah, I get it. Well, I'd do that in a meta-plugin. A "auto-filteype" plugin 
that checks the file type of a requested file, then checks if a plugin for 
that file type is installed, and then loads that plugin.

When my config changes are committed, loading and adding a plugin to the 
current <Location> block at a later time would just mean calling: 
AxKit2::Client::conf_Plugin($self->config,$name_of_plugin)

> Right now I've realized that even changing an XSLT stylesheet means
> restaring AxKit - that's too bad, AxKit1 performed better in this
> respect ;-).

An interesting remark. I am against automatic dependency tracking like AxKit1 
did (because even style sheets can have complex dependencies, and forced 
checking can cost a lot of performance), but you are right, there should at 
least be an API to manually invalidate cached stylesheets. I'd imagine 
something like this at the end of lib/Axkit2/Transformer/XSLT.pm:

sub invalidate { delete $cache{shift}; }

Then you can delete cache entries when you need to by calling 
AxKit2::Transformer::XSLT::invalidate($filename);

Perhaps automatic invalidating/reloading is better kept in a 
separate "development support" plugin, because a production server should 
never have to re-load anything.

-- 
CU
Joerg

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to