Metting notes 2000-03-28
Meeting between Jim Fulton, Mike Olson and Uche Ogbuji
Refer to the DOM Interface Specification
Jim only wants to only include implementation that is relevant to all Zope objects in OFS/ZDOM.py. No empty interfaces.
However, since the Node interfaces need to understand the difference between manipulating individual nodes and document fragments, it makes sense to have a representation of Document_Fragment.
If we simply piggy-back on 4DOM, then use 4DOM exceptions
Note: As of Zope 2.1.6, can now assign to acquisition parents
Guideline: proceed according to the accepted Python/DOM binding and we'll tackle backward-compatibility as required.
This guides such matters as API method naming, constant placement, Exceptions, etc.
What does DOM nodename represent for a Zope object? Options include meta-type or Python classname, most probably the former.
To-do: Jim will write up interfaces on ObjectManager? that allow manipulation of children, along with some caching functionality.
Note: Uche brought up red-black trees for efficient node-management. References: Dr. Dobb's Journal April 1998, http://swww.ee.uwa.edu.au/~plsd210/ds/red_black.html Note that there's a standard mapping from general trees to red-black trees references fro which I can't find right now.
Guideline: A Zope principle is to not load an object into memory unless really needed.
Note: It has been agreed that Zope will be a DOM level 2, namespace-aware system.
To-do: Jim will put together some Wiki pages documenting the state of the Property (/Property Sheet) interfaces.
Is there a special, global ObjectManaget?/container of all Zope objects/thingie? This might be used as the overall owner document.
Jim suggests OFS/Application for such a beast, if it is needed.