Hey Eric, Le 27 oct. 2010 à 23:07, Eric Wasylishen a écrit :
> Hey, > > I just wanted to update the list on something I've been working on lately > called ProjectDemo. > > My idea is to create a demo/prototype of an Étoilé project which fully > supports the neat features we want to have like revision control, > checkpoints, collaborative editing, etc. To keep this to a manageable task, > I'm just implementing a small selection of document types (currently just > one: an outliner document). I haven't tried it yet. Sounds nice though :-) > I think this will be really cool and serve several purposes: > - help validate UI ideas, in an environment where we can test them out > - help validate framework design. > - hopefully it will be a neat demo to show people what we are trying to build > :-) > > The current state isn't too interesting yet. You can create outline douments, > edits you make are committed to disk, and there's a history inspector which > lets you revert to previous versions. I'm just working on the cool things > (right now, writing the collaborative editing code.) :-) For selective undos and merging, did you read the Mark and Retrace paper(s)? See http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.103.9726&rep=rep1&type=pdf For merging an old operation, Mark and Retrace (or Address Space Transformation) doesn't compute/derivate a new operation that is valid in the current context (the OT way), but simulates an adjusted context in which the old operation can be executed. I use 'context' (e.g. the position of the objects in an array) as a synonym for 'space'. It sounds simpler than OT, no need to support the complex transpose operation. I'm not yet sure that the Mark and Retrace approach as the same flexibility than OT. Various recent papers discusses how to improve it though. Recent ones include: - http://research.microsoft.com/en-us/um/redmond/groups/connect/cscw_10/docs/p159.pdf - http://www.scientific.net/AMR.97-101.3314 and http://www.computer.org/portal/web/csdl/doi/10.1109/CSCWD.2009.4968039 (I haven't read these) The last ones are about a CAD app, so it might be interesting to see how they cope with the complexity of such an application. > In terms of implementation I'm using my CoreObject rewrite for persistence, > and EtoileFoundation's metamodel code. It's great to see the metamodel used a bit. On this topic, I have been working lately on a Model Builder application that lets you manage, instantiate and edit both model descriptions and model objects at runtime. I'm currently writing code to save/open model descriptions and repositories with EtoileSerialize. Once this is done, I plan to switch to CoreObject and use this app as intermediate step to see how CoreObject needs to evolve in order to support compound document persistence. A model description model involve several description objects, hence the model is more complex than the one in Mélodie (or any other manager app model), but still much simpler than a EtoileUI item tree. So I think it's probably a pretty good test case. I'll commit this ModelBuilder soon btw. > I'm not using EtoileUI right now, but my plan is to switch to using EtoileUI > once ProjectDemo is finished. Sounds reasonable. Cheers, Quentin. _______________________________________________ Etoile-dev mailing list [email protected] https://mail.gna.org/listinfo/etoile-dev
