From: <ba...@re...> - 2003-03-14 02:07:44
|
Hi, I have some new thoughts for the design of GNUccess. I'll try to put them into a list: 1) We really have to think about GcEnv interface. There are many things happening on the border of GcEnv and GcMainFrame. I think that we should take action now, because we can loose the independence of GcEnv. My idea is that GcEnv should be independent from implementation of GUI and GUI has to depend on some nicely defined GcEnv interface. The problem that bugs me now is that we have problems with updating the GUI with the changes of GcEnv. We have several classes now that are trying to concurrently display the state of GcEnv (namely the Objects dictionary) and at the same time several ways of changing it. I propose to clean this up by adding following methods to the GcEnv interface: - GcEnv.RegisterObject(self,Object,class,name) - adding the object to the Objects list - GcEnv.RegisterUpdateHandler(self,function)- registering the function to be called upon any change in the GcEnv. This will allow the GUI and other objects to monitor the changes in the environment (i guess that for example a GcReport instance should be informed if the GcQuery instance that it relies on was deleted). It should allow us to have a nice and clean separation of GcEnv from the internals of other objects. - GcEnv.Update() - this guy should execute all registered update handlers. 2) We should switch from pydoc to happydoc - i think I'll take care of it during the weekend 3) About SQLite and it's application as THE internal data storage - it is not xml-based and needs a separate file. I think this would be really good to have support for this in GNUccess, but I think we should have something like tiny internal xml representation of the tables. During the execution this could reside in memory (thus giving You good enough performance for _really_ small databases) and could be serialized to the xml files with all the other GcObjects. I think it could serve nicely as the way to store things like parameters for applications and stuff. 4) We really need to have some DAL and I keep thinking of it. Please let me know of the state of your thoughts in this area. I think we could arrange something like a brainstorm during the weekend (on IRC ? could someone arrange something like that for us ? You guys have servers with lots of stuff on them ?). Anyway I'll try to post my ideas in a separate e-mail. Looks like that's all for now. I really look forward to your comments bartek ------------------------------------------------- This mail sent through IMP: http://horde.org/imp/ |