Im not trying to maintain the Controller any more, mostly because I dont really enjoy trying to faff with MFC code. I've tried to get a gui controller started using wxPython a few times, but ran out of steam before I get anywhere a few times.
Ya. Me too. ;-) I was also about to write a different service controller today because pythonservice was giving me grief, then luckily I stopped myself. (FWIW, each instance can have a separate service registered for it at install now; I know that gave you problems at one point).
Either way the Controller does too much work that is now done in 2.7, I'd like it to:
- talk to the tools in bin to create new instances (it tried to do its own thing)
- talk to ZEO
- read and write the ZConfig file
Reading and writing the ZConfig file would be great (writing it will be tricky - ZConfig doesn't retain enough state currently). Not quite sure what you mean by "talk to ZEO", but I suspect you mean that you want to determine if ZEO is up or down via the controller. That'd be useful, but I suspect it might be more (and less "frameworky") to have a separate controller app for ZEO itself. Personally I'd like to see a GUI controller that got installed on a per-instance basis which had the features of the current UNIX zopectl plus the ability to install and deinstall the service for the instance. This is as opposed to a single controller for all instances on the same machine. I'd like to see instance creation happen in the domain of a separate (also GUI) application. All that said, I'd love anything GUI at this point. ;-) Firing up a DOS box for people is just so nasty.
So, anyway, if there's any way we can work together on the installer or controller stuff, I'd be very happy. You know more about this shit than I do. ;-)
Likewise, when, how or what - I dont know.
Yup.
Dont we use the logging module now? Can we just plug in the NTEventHandler? I haven't looked at 2.7 so guessing.
We can, but currently 2.7 startup logs to a StartupHandler which only gets flushed to "real" handlers after we "setuid" (a noop on windows, but the logic is stupidly the same now for both UNIX and Windows). This needs to be fixed. I also haven't figured out how to register an event log identifier for the Zope application (as opposed to the service control manager app; pythonservice does that for me there). As a result, the event log refuses to accept any messages from Zope when you try to use an NTEventLogHandler. Anyway, if you have any brilliant ideas or code you want to share, let me know... - C