[Zope-dev] HiperDOM & xmlc

Shane Hathaway shane@digicool.com
Mon, 18 Sep 2000 08:24:37 -0400


pje@telecommunity.com wrote:
> Suppose that you could add to any element an hdom:asset="nameOrPath"
> attribute.  When saving a template containing such elements, the content of
> the named document is compared against the tagged block in the template
> being saved, and against the previous version of the template.  If the
> content has not been changed since the last version of the template, but
> the asset itself is different, the named portion is silently replaced with
> the new version of the asset.  If the content *has* been changed, the
> author is given the option of updating the named object with the changed
> contents, undoing the change, attempting to merge changes, etc.  If an
> asset is named in a template being saved, but no such object exists, it is
> automatically created as a peer of the template (and of course it can be
> moved higher in the tree for acquisition without breaking the reference).
> And last, but not least, if one is creating a new template, and the named
> element is empty, it is replaced with the referenced asset.  (Actually, in
> practice you'd do almost all of this not by copying XML fragments but by
> using DOM objects that were symlink-ish.)

Great minds think alike.  This is exactly what Jim came up with when we
were presenting this idea.  In fact, I like "asset" better than
"component".

IMHO the "asset" tag should always be generated by the server, not by a
designer, so that it can contain the full physical path to the target
object.

> The tricky bit is managing UI handling for what happens when they save
> their page.  WebDAV and FTP are all very well and good, but unfortunately,
> they don't have any convenient way to pop up a dialog box and let you
> prompt the user to replace/update things.  You'd have to have this do some
> sort of workflow notification, or a way for the designer to go in and
> review what things might need to be updated.

Right.  When a designer saves the page back to the server, it might
contain pieces from 10 different places.  My initial reaction is to say
that the only assets the server should accept are the assets located
within the target object.

Shane