Hey folks,

I've looked into #3833 today, and have attached a patch to the ticket:

   <http://trac.edgewall.org/ticket/3833>
   <http://trac.edgewall.org/attachment/ticket/3833/env_reset.diff>

The goal here is to dynamically update when a component is enabled or  
disabled, and also to get installed plugins be available immediately  
after they've been uploaded through the webadmin. All without  
restarting the web server, which is currently required, and can be  
quite confusing in a multi-process environment.

Here's the description of the patch copied from the ticket:

 > This does a couple of things:
 >
 > * Configuration.parse_if_needed() returns a boolean value  
indicating whether the reparsing was indeed necessary
 > * trac.env.open_environment() checks that return value, and if  
it's true, calls Environment.reset()
 > * Added reset() method to ComponentManager and Environment: this  
basically clears the component cache, and reloads all the modules
 > * Added touch() method to Configuration, which is called when a  
plugin gets installed or uninstalled via the plugins admin panel.
 > * This causes the process outlined above to run, even though there  
was no actual config change

Thoughts?

Cheers,
Chris
--
Christopher Lenz
   cmlenz at gmx.de
   http://www.cmlenz.net/


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Trac 
Development" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/trac-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to