On Tue, 05 Jul 2011 14:39 -0600, "Eric Wasylishen"
<ewasylis...@gmail.com> wrote:
> Hey Christopher,
> Thanks a lot for the additional explanation!

No problems :-)
> 
> > For simplicity, object branches should probably be named to distinguish 
> > them from one another, but we could autogenerate the names to make sure 
> > they are unique for an object and permit the user to rename them later as 
> > they saw fit. 
> 
> Regarding names, Quentin's idea was "no name-based references in
> CoreObject; UUID's everywhere" - which is pretty much what you suggest.
> You can then map human-readable names to UUID's, freely edit the names
> without fear of breaking anything, full-text-search index the names, etc.
> :-)

Ok, that sounds quite sensible.

> > The primary consequence is that a view merely references a branch, and that 
> > a view has NO history. I'm not sure if this is a bad limitation - if a view 
> > stores only the state of the view (such as e.g. list mode or icon mode in a 
> > file explorer), this is not the kind of operation that should be 
> > "undoable". On the other hand, if it is possible to edit a view (such as 
> > the layout of toolbar buttons) in a special editing mode, a view should 
> > have history like any other object. My thinking is that this is workable if 
> > a view's design is its own object with its own branch.
> 
> Yeah, I was thinking about this as well.
> I could be interesting to have switching from list mode to icon mode be
> undoable.. 
> 
> As another example, Xcode has those little back/forward buttons which act
> as undo/redo for scrolling and navigating between files. Sometimes it's
> really handy when editing a huge file to have undo for scrolling.

This is cool, but I'm not sure its possible to support without limiting
objects to exactly one view. When we start adding this stuff into the
undo history, it effectively becomes part of the history of the object
too, and they are hard to untangle. Once objects can only have one view,
any linked versions of the object (for example, embedded in another
document) will suddenly change their appearance based on the changes
made in another instance of the view. 

In this case, we'd probably have to create a new branch of the object
and constantly remind the user to merge them back and forth, which is a
solution I don't like. I really have no answers for this right now.

Cheers
Chris
-- 
  Christopher Armstrong
  carmstrong ^^AT^ fastmail dOT com /Dot/ au


_______________________________________________
Etoile-dev mailing list
Etoile-dev@gna.org
https://mail.gna.org/listinfo/etoile-dev

Reply via email to