[Date Prev][Date Next][Thread Prev][Thread Next][Author Index][Date Index][Thread Index]

Re: [zzdev] Notes on accessing past versions



Antti-Juhani Kaijanaho wrote:
> 
> I just committed the code for accessing past versions of a space.

*** Congratulations! ***

>   - The past version's connections are on new dimensions.  For example,
>     the old version's (number 42, say) dimension "d.1" is shown as the
>     dimension "version:42.d.1".  I know this is a PITA, but it's the best
>     I could do fast.  I'll investigate other solutions.

As you probably noticed, I committed an alternative which I think is
"right:" version:d.1 shows the connection in whatever version the given
cell is in. The only problem is that somebody could connect a cell like
"version:12.1" which is connected to "version:12.674" on
"version:12.d.1" to another cell on ordinary "d.1" -- then from
"version:12.1" we'd get that other cell poswards on version:d.1, but
from version:12.674, we'd still get version:12.1 negwards on
version:d.1. That needs to be fixed (i.e., we need to use version:12.d.1
even then).

Or, maybe the problem was you get the right thing from version:12.1, but
the wrong thing from the cell connected to it on d.1... The more general
problem, of course, is that there can be a connection from a current or
previous version to an even more previous version, through the
spacepart. But we can work around that by showing on version:d.foo
instead of that more previous cell another spacepart cell which says
"connection to older version" or some such. Then there would be another
special dimension (or set of these) used to actually get that cell--
e.g. the version:n.d.foo scheme.

>   - The version:list dimension is deep magic and in some ways (namely, in how
>     it handles connecting along it) violates the ZigZag paradigm.  Tell me what
>     you think about it.

Okay, if you want to. ;o) I think it's all wrong. I think a version
should be activated by accessing some cell in that version-- and that
works, I've tried (by entering the id some cell of that version in
quotemode, and then GOTO it). Now, why bother the user about "active"
and "passive" versions? The version:list dimension should just be all
natural numbers from 1 to <current timestamp>. Rotating from
version:list to version:home would activate the specific version used.
Selection of a specific version by the user by number would work through
entering the cell id in quotemode. If the user wants a list of
meaningful old version, they can create it on the ordinary dimensions
(possibly connecting to the version:n cells).

- Benja