[Zope-dev] FTP interface being worked on?

Chris McDonough chrism@digicool.com
Sun, 18 Mar 2001 22:26:52 -0500


On Sat, 17 Mar 2001 20:46:26 -0500
 Fred Wilson Horch <fhorch@ecoaccess.org> wrote:
> This is a great start.
> 
> My major question is I don't understand the design
> decision to allow
> lossy representation.
> 
> Seems to me this is a recipe for disaster.  You aren't
> working with
> Microsoft on this one, are you? ;-)  Will there be some
> undocumented API
> call that only Zope employees know about to get the
> serialized lossless
> representation? ;-)

No less documented than it already is.  ;-)  Zope has no
employees.

> The proposal states in part:
> > "Lossless" general serialization is not an explicit
> goal. If a developer
> > wishes to make his or her object serializable to a
> directory structure,
> > he or she will need to implement methods of an API on
> the object
> > instance which allow it to be represented adequately
> enough to be
> > reconstructable into its original Python representation
> when it's
> > "imported". If this API is not implemented by the
> developer, the result
> > is undefined
> 
> I think lossless serialization should be an explicit
> goal.  If a
> developer doesn't provide specific object serialization
> methods, then a
> default method (perhaps XML) should be invoked that is
> lossless even if
> hard to work with.

I think the proposal says something like this.
 
> The whole point for us is to get full control of our
> objects through
> CVS.

That's one use, which is important to you.  Another is to
use Emacs or Dreamweaver on a representation of, for
example, DTML methods on a filesystem, which is important to
other folks.

The point of having potentially "lossy" representation of
objects is to make it easier to work with them in these
kinds of tools.  Nobody wants to edit XML, AFAICT.

"Potentially lossy" also doesn't mean "leaky".  It just
means that folks who expose their objects to this sort of
serialization can choose their own format, and if it
represents the object adequately for their own use in both
directions, it's good enough.

If you want a lossless "morally binary" representation, it's
probably best to use XML export, which is great for your
purposes, because it already exists!  ;-)