Forum OpenACS Q&A: Response to Thoughts on CCM

Collapse
Posted by Michael Bryzek on
I'm not sure I follow how the class update interval actually helps
address the server restart problem. In my experience, I have been
unable to dynamically reload only modified UI classes. If I modify a
class and deploy it to my webapp, my servlet container will see the
modified file and will dynamically reload the webapp. This ends up
running the ACS initializer again which reloads all the PDL code among
other things. In the end, it may be 30 seconds or longer before I see
my change.

Has somebody already found a solution here? We experimented briefly
with a custom classloader that would be smart enough to throw away
references only to ui classes, but we did not invest too much time
here.

One other thought about the CCM - The initializer concept itself has a
few major problems:

  * The concepts of initialize, install, and upgrade are all muddled
    together. This means each time you start ccm it has to check if every
    component needs to be installed/initialized/etc. We build lots of
    stuff that needs no custom initialization once installed.

  * There is no support for upgrading.

  * The initializer file itself is written in a custom format which
    does not provide a clear advantage over xml. Why don't we just use
    xml for configuration files of this sort?

I remember the initializers being a short term solution until a
package manager could be integrated or built. Any update here?