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

Notes on accessing past versions



I just committed the code for accessing past versions of a space.
It works only with cachedimspaces (the new format).

A small user's guide:

  - On the dimension version:list there is a rank with the space
    homecell as the headcell which lists currently active versions
    in ascending order of version numbers.  The tailcell always
    indicates the last committed version.
    
  - You can activate a version by creating first a cell elsewhere
    with the version number as its content and then connecting
    that cell to the previously mentioned rank.

  - The home cell of a version lies posward along version:home from the cell of
    this version on the version:list rank.

  - 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.

  - The past version's cells and dimensions are immutable.

  - The cells on the version:list rank are immutable and semi-persistent.
    Such a cell is persistent if and only if it or any cell of its
    associated space is connected to some cell along some persistent
    dimension.

  - 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.

-- 
%%% Antti-Juhani Kaijanaho % gaia@xxxxxx % http://www.iki.fi/gaia/ %%%