[sugar] Trial-3 journal problem

Bert Freudenberg bert
Wed Sep 19 15:36:37 EDT 2007

What we need for etoys is a way to explicitly save a project, and  
then be able to resume from that point any number of times without  
fearing of it to be overwritten automatically.

Any idea how to do that within the journal philosophy?

- Bert -

On Sep 19, 2007, at 19:59 , Eben Eliason wrote:

> 1. Open activity instance A1
> 2. Get implicit journal entry a1
> 3. Press keep in A1, saved as journal entry a2
> (make changes to A1?)
> 4. Close A1, implicitly saved as a1'
> - Neither A1 or A2 are open, a1' and a2 are in Journal.
> 5. Open journal entry a2 as activity A2
> (make changes to A2?)
> 6. Close A2
> 7. Get implicit journal entry a2'
> - Actually, We should have a1' and a2'.
> So, the key thing to note is that we're always "working on" some
> activity, thus modifying it and storing it's latest state to the
> Journal.  At step 4, a1' and a2 could actually be identical (unless
> we've made further changes in A1 before closing).  In either case, we
> have the "good version" you refer to as a2, as created by pressing
> keep and having that stored state.  Any further adjustments to AI will
> result in a1'' and so on.
> Likewise, opening a2 as A2 gives us a new working context, basically
> like a branch, which starts at the stored state.  Of course, it will
> still save it's own modifications implicitly just as A1 did (or any
> activity does), resulting in a2', a2'' and so on.  Pressing the keep
> button doesn't create a permanently static representation, but a
> version snapshot that can later be resumed and modified at will.  In
> order to indefinitely preserve a2 you'd have to press keep each time
> you resumed it with the intention of making changes. (This problem, of
> course, disappears when versioning lands, since this is exactly what
> versioning does for us automatically.)
> - Eben
>> - Bert -
>> On Sep 19, 2007, at 18:14 , Eben Eliason wrote:
>>> Hi Bert -
>>> I want to clarify this a bit to be sure I understand what's going  
>>> on:
>>> - Open activity instance A1
>>> - Get implicit journal entry a1
>>> - Press keep in A1, creating A2 and journal entry a2
>>> - Close A2
>>> (neither A1 or A2 are open, a1 and a2 are in Journal)
>>> - Open journal entry a2 as activity A2
>>> - Close A2
>>> - Get implicit journal entry a2'
>>> (We SHOULD have a1 and a2' in Journal, neither open)
>>> Now, the problem as I read it is that the remaining Journal entries
>>> are a2 and a2' instead of a1 and a2' as it should be.  Am I
>>> understanding you correctly?
>>> - Eben
>>> On 9/19/07, Bert Freudenberg <bert at freudenbergs.de> wrote:
>>>> Hi,
>>>> for etoys we implemented the storing to the Journal as suggested,
>>>> namely, on an explicit save (pressing keep button) we create a copy
>>>> in the datastore, whereas when exiting, we update the existing  
>>>> entry.
>>>> This is to workaround the missing versioning support.
>>>> However, in testing we found a flaw in that scheme: When you resume
>>>> an explicitly saved entry and then just exit the activity, it  
>>>> will do
>>>> an implicit save and overwrite the saved one, resulting in  
>>>> losing the
>>>> "good" copy.
>>>> Is there any idea about how to work around this problem?
>>>> - Bert -
>>>> _______________________________________________
>>>> Sugar mailing list
>>>> Sugar at lists.laptop.org
>>>> http://lists.laptop.org/listinfo/sugar

More information about the Sugar-devel mailing list