Andreas Jung wrote:
...
Right, but for duplicate functionality that is not widely used and that I consider buggy it is legitimate to propose the deprecation. But as usually I am open to good arguments :-)
I don't see this as primarily a duplicate feature. I find the export aspect to be most compelling. Although, as others have pointed out, the openness of the XML format can be very useful for moving data between Zopes. Small data transformations (e.g. adjusting a class name) are possible and easy.
As I said above, I've been finding it surprisingly useful lately.
When I first wrote it, I viewed it as someowhat of an academic exercise, but I've come to realize that it is far more useful than I originally thought.
I still have the impression that the implementation was made an academic excercie rather than something stable for production (.zexp works fine for production).
It was an exercise. In some ways, it was ahead of it's time, as it is much more useful in the presense of XSLT. OTOH, there wasn't any intention to make it any lower quality than the binary format.
This is more so now that XSLT is widely used and quite capable of transforming the pickles into useful forms.
Note that, IMO, there isn't likely to be a more generally useful form because usefullness is generally determined by a particular application. XSLT + XML pickles together provide a general mechanism that can adapt to particular application needs.
In this case it has to be fixed if it should be used a general mechanism.
Sure
I think the XML export is a facility that is and should be advertized as a legitimate escape hatch for data kept in Zope. People really shouldn't feel afraid of putting data in Zope/ZODB as there really is a useful way to get it out.
Reasonable export/import should happen on a higher level. This low-level XML import/export is not really helpful when you want to migrate data between applications and frameworks.
I don't agree, if you are willing to use XSLT to extract the bits you want.
E.g. on the Plone/Archetypes level we have some mechanisms to export/import data defined through schemas
That's a good point. For Archetypes-based apps, this might be the way to go. I think that xml-pickle export is a reasonable approach for other apps.
(possibly we have something in Zope 3 (at least I once wrote a similar solution for Zope 3). The export/import mechanism is basically for moving data from one Zope instance to another instance. It should work in a reliable way and should not try to solve issues that should be solved on another level.
The unfinished fssync tool in Zope 3 is intended for this use case. It to uses an improved xmlpickle as a fallback. It would be nice to finish this, however, I can easily XSLT gun slingers prefering something like xml export. Jim -- Jim Fulton mailto:jim@zope.com Python Powered! CTO (540) 361-1714 http://www.python.org Zope Corporation http://www.zope.com http://www.zope.org