Re: Revision Marks (was) Re: Commit (HEAD): SDW: Metadata

From: Tomas Frydrych (
Date: Fri May 17 2002 - 08:52:08 EDT

  • Next message: j.m.maurer: "Commit (Head): WordPerfect Exporter beginnings"

    Hi Paul,

    > 2. More importantly, how would you handle the "deletion" screw case?
    > Say we have two successive modifications to a given draft:

    What about adding two separate attributes (not properties;
    properties are not suitable for this) revision-add and revision-
    remove. Any text marked with revision-add would be displayed in a
    revision-assigned colour, and revision-remove would also be
    displayed using strike-through, as Word does.

    To handle multiple revisions, the revision attributes would not be
    the name of the author per se, but rather a numerical ID that would
    capture the sequence of the revisions, and somewhere in the
    header we would store an id->author mapping, so that a single
    author could create multiple revisions (I am sure that you, Paul,
    would not want to be limited to a single revision of any AbiWord
    press releases, right?). We would then display the person as well
    as the revision number in the UI, so that the viewer could see not
    only who changed the document, but who felt it necessary to do it
    serveral times :-).

    The way you avoid conflicts of the type "I mark it as deleted and
    you put it back in", is that, while in the revisions mode, you do not
    allow a text marked as to be deleted to be un-marked, instead the
    person who wants it back would have to retype it. A change of
    property, say from italics to bold, would be represented as
    {<revision-remove>the italics stuff</><revision-add>the bold

    In the situation where I add something and you want the addition
    out, the text would carry both revision-add and revision-remove
    attributes with different id's, the latter higher than the former (the
    strike through line would than be in different colour that the colour
    of the addition). Since once the text has been marked with revision-
    remove, it could not be remarked with another revision-add, this
    does not pose any problems. If I do not like your removal of my
    addition, I will have to type it in again, and we start all over.

    The cool thing about this would be that the viewer could then select
    the state of the document in a particular revision, say selecting
    revision 3, by Paul Rohr; this would hide all stuff marked with
    revision-* > 3, whether added or deleted, and everying marked with
    revision-remove for IDs <= 3.

    the bottom line: you have four possible types of text in a revised
    document (1) unmodified; (2) added; (3) removed; (4) addition
    subsequently removed. Consequently you need a system that can
    represent 4 separate values, using two attributes is ideal for this
    (#1 both absent, #2 & #3 1 present, #4 both present).


    This archive was generated by hypermail 2.1.4 : Fri May 17 2002 - 09:00:54 EDT