See release notes for changes (installation process simplified w/ release of 4DOM/4XSLT/4XPATH): -- Chimezie Thomas-Ogbuji Consultant Fourthought Inc. (303) 583 9900 ext 104 [EMAIL PROTECTED]
ZDOM is the result of a collaborative venture by Digital Creations and Fourthought Inc. to integrate the W3C Document Object Model interface with Zope, allowing effortless and familiar traversal of a Zope heirarchy. The current alpha release is based on Fourthought's 4DOM , which is one component of Fourthought's 4Suite. Fourthought provides custom technological solutions based on open technologies. 4Suite is a powerful set of Python tools developed by Fourthought for Web-based applications in areas such as Intranets, E-Commerce and knowledge-management. Elements of 4Suite have been adopted as core XML technologies in Zope and in the Python XML distribution The necessary files (which are all available on our ftp server: ftp.fourthought.com) are ftp://ftp.fourthought.com/pub/mirrors/python4linux/redhat/i386/python-xml-nodom-0.5.4-1.i386.rpm (Py-XML w/out DOM) ftp://ftp.fourthought.com/pub/mirrors/python4linux/redhat/i386/4DOM-0.10.0-1.noarch.rpm (4DOM core) ftp://ftp.fourthought.com/pub/4Zope/ZDOM-dist.tgz (ZDOM) ftp://ftp.fourthought.com/pub/4Zope/Zope-ZDOM-Patch (patch file for Zope 2.1.6) OR http://www.zope.org/Members/anthony/patches/4ZDOM-vs-CVS-0512.patch (patch file for CVS/alpha 2.2 Zope) Documentation: ftp://ftp.fourthought.com/pub/4Zope/INSTALL.txt (the installation instructions) ftp://ftp.fourthought.com/pub/4Zope/Readme.txt (short description of ZDOM) ftp://ftp.fourthought.com/pub/4Zope/Release.txt (release notes) links: Fourthought: http://fourthought.com 4Suite: http://fourthought.com/4Suite/ DOM 2 Spec: http://www.w3.org/TR/2000/CR-DOM-Level-2-20000307/ Zope http://www.zope.org contact: [EMAIL PROTECTED]
Installing ZDOM --------------- This document describes installing ZDOM on Unix. Important Notes ZDOM REQUIRES ZOPE AND PYTHON 1.5.2! Depending on which Zope version you wish to add ZDOM to, there are two patches to download 1) ftp://fourthought.com/pub/4Zope/Zope-ZDOM-Patch (patches Zope 2.1.6) 2) http://www.zope.org/Members/anthony/patches/4ZDOM-vs-CVS-0512.patch (Anthony Baxter's patch which works on the CVS source tree as of 5/16) ftp://ftp.fourthought.com/pub/mirrors/python4linux/redhat/i386/4DOM-0.10.0-1.noarch.rpm (4DOM core) ftp://ftp.fourthought.com/pub/4Zope/ZDOM-dist.tgz (ZDOM) ftp://ftp.fourthought.com/pub/4Zope/Zope-ZDOM-Patch (patch file for Zope 2.1.6) OR http://www.zope.org/Members/anthony/patches/4ZDOM-vs-CVS-0512.patch (patch file for CVS/alpha 2.2 Zope) Installing First download these files from our FTP server: /pub/mirrors/python4linux/redhat/i386/python-xml-nodom-0.5.4-1.i386.rpm /pub/mirrors/python4linux/redhat/i386/4DOM-0.10.0-1.noarch.rpm /pub/4Zope/ZDOM-dist.tgz /pub/4Zope/Zope-ZDOM-Patch OR http://www.zope.org/Members/anthony/patches/4ZDOM-vs-CVS-0512.patch Install the rpms and decompress ZDOM-dist.tgz somewherer in your PYTHONPATH Install and build Zope 2.1.6 if not already done. This is required for the components to work. The following will install the patches to Zope objects to allow manipulation of Zope object via the DOM interface: (the Zope2.1.6 patch assumes that the Zope src files reside in a 'Zope' directory so a symbolic link is necessary) ln -s [Zope install dir] Zope cd (parent directory of Zope install dir) -- if necessary patch -p0 < (location of dowloaded files)/Zope-ZDOM-Patch OR 4ZDOM-vs-CVS-0512.patch Then add '(zope install dir)/lib/python' to your PYTHONPATH.
RELEASE NOTES ------------- 5/30/00 changed setAttributeNodeNS to check for aq_base and set to None if it doesn't exist (since _setProperty expects aquisition to be set up -- but might not be necessarily so since an element can be created and attributes can be added WITHOUT it having a parent yet) redirected computed attributes to instance methods so DOM interfaces can be overode added check for aq_base in setAttributeNodeNS (sets to None if it doesnt exist) 5/10/00 ZDOM alpha supports to complete DOM Level 2 Specification (http://www.w3.org/TR/DOM-Level-2/) ZDOM maps the DOM interface to Zope, like so: childNodes -> objectValues() mappable subset of DOM 2 Interface -> attributes -> propdict() parentNode -> self.aq_parent Default implmentation of both objectValues() and propdict() are provided on SImpleItem.Item for Zope Objects that do not implement these interfaces. All Zope objects support the DOM Level 2 spec through the inheritence of SimpleItem.Item from Element. All objects (except as noted below) created by the use of the DOM interface (i.e., NodeLists, NamedNodeMaps, childNodes for Attr) are transient. All Zope objects not defined in a namespace default to "http://www.zope.org/ZNames/NullNamespace" with the prefix of "zope". The cloneNode() interface is not supported on any objects. All factory functions on the document create transient objects (not Persistent), except createElement(NS) which creates Zope Folders. At ZServer startup, a transient document is created and set as the parent of the Application and ownerDocument of all Zope objects. TODO ------ 1. Fix alpha reported bugs. 2. Complete and test the document factory functions. 3. Implement and test cloneNode() 4. Complete unmapped/unimplemented DOM interface functins: nodeName nodeValue nodeType setParentNode