Forum OpenACS Development: RFC: Using tDOM instead of nsxml
tDOM (http://www.tdom.org/) combines high performance XML data processing with easy and powerful Tcl scripting functionality. tDOM is one of the fastest ways to manipulate XML with a scripting language and uses very few memory. It is currently maintained by Jochen Löwer and Rolf Ade with regular contributions by Zoran Vasiljevic (aolserver core team member). tDOM is more feature-complete (see the tDOM homepage for a synopsis of the features provided) than ns_xml. ns_xml only provides a minimum set of features.
Many people from the community are using it in private projects and I think it should be included as part of OpenACS. As soon as I return to Cyprus I will post the necessary changes which are not more than changing the xml procs file and a few snippets of code in the package manager. I did mail the changes to a few members of the community so if they want to go ahead and post either here or in the file storage it should be great.
Finally, in case someone considers this a bad idea, it would be easy to configure the xml procs library so that it loads either ns_xml or tDOM depending on which module is loaded in the aolserver configuration file.
More RFCs and new packages when I return to Cyprus.
I thought Bart Teewise was already working into integrating tDOM into OpenACS. Bart, can you comment?
However, it seems that Bart's changes did not make into the core (I've just checked the xml procs library). Can't say why.
Still, could we get this effort going again.
(I was not available to who?)
In AOLserver4, using tDOM means you just do something like:
eval package require tDom
I'm not sure of the exact syntax, but you can load any tcl package into AOLserver4, so there isn't any need for a C level module anymore.
For the record. Both libraries can be loaded at the same time and packages depending on ns_xml will still work. My changes only concern the XML procedures in the core.
My suggestion is to compare notes with Neophytos before making any changes.
regarding timing I'll let Don have the final say. However, I talked to Don about exactly this issue at the social, and it seems to me the best time would be as soon as possible *after* we've done the 4.6 merge on head. That merge should happen within a week.
The reason for making the change soon is that head is supposed to grow increasingly stable as we approach summer. On the other hand since we have so many major new features that we want to go in we will accept the risk of destabilizing head initially.
I want to point out here (as Don has maybe done already somewhere) that 4.6.3 is supposed to be purely a bug fix release (no new features).
And, yes, I've stated elsewhere that 4.6.3 will be a bug fix release ONLY and it will come SOON (next weekend perhaps?)
Anyway ... mid-May should be a safe target date for Bart to jump in and commit his tDOM changes, after consulting with Neophytos. Maybe earlier but Bart, if you're busy and need to plan your time in advance mid-May's "it".