OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

office-comment message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: Re: [office-comment] Proposal for new document element, "Documenthistory"

Hash: SHA1

Hi Dennis,

thanks for your detailed questions. I think the response from mr.
Rafterty is also very relevant re group voting is also very relevant.

Before I start answering your question there is one more suggestion I'd
like to make as an addition to my original submission yesterday: it
would add value to the track changes mechanism if people would be able
to crypt their revisions (i.e. make them unreadable unless people have
the right cryptographic key to decipher it). The main use case is the
following: governments these days have to deal with Freedom of
Information Act requests or similar legal obligations around the world
that force them to disclose electronic documents. In case of people with
a visual disability, these documents have to be delivered
electronically. Having crypted and electronically signed changes would
allow 'blanking out' those parts of a document which are not relevant
within the scope of such laws for more easy, while allowing for an audit
trail to go to the responsible person if there is unnecessary
censorship. So both sides would profit - faster and more automated
delivery of documents on the one side, and clear legal responsibility on
the other side.

Having said that, I will try to answer your answers inline.
Unfortunately this grew to be quite lenghty, apologies for that:

> 1. The existing ODF 1.0-1.2 Change Tracking mechanism captures
> descriptive information about each tracked change.  These are in
> <office:change-info> and other text that are part of the
> <text:changed-region> elements gathered up into a single
> <text:tracked-changes>.  There is provision for descriptive text,
> whether synthesized or provided by users in some
> implementation-specific manner. Have you examined that and also seen
> how the information is provided as part of change-tracking review in
> current implementations

I have focussed on presenting my thoughts on the document history
primitive and the demands that would bring, not on how to synthesize or
edit the descriptive information; currently, there is no such document
history inside the visible document, but there are many hand-crafted
versions around. I did sample the revision and undo stack in some
products, but since my thought was to leave this up to the application I
did not see a need to specify it in more detail.

The usefulness of a document history would obviously depend on the
ability of the track changes mechanism to adequately capture the user
intent (i.e. removing a column in a table is something distinctly
different in a document history than deleting a table and adding another
table with one column less/deleting a number of cells one by one;
similar would go for a move, or a search and replace) while being
flexible to produce a readable, concise output.

>  2. In the ODF 1.0-1.2 implementations, the change-tracking
> information tends to disappear when the changes are accepted or
> rejected.  I presume that is also the case for the generic proposal,
> since there is really no place to keep tombstones for changes that
> are no longer present and/or no longer tracked.  So the history would
> need to be kept persistently longer than the technical change
> tracking itself.  (I haven't checked to see how that works with
> regard to marginal change bars, which should in some cases survive
> the acceptance of changes.)
> >
> > Is it correct to assume that you want a history of accepted changes
> > and this needs to persist through successive revisions?  This would
> > appear to be a quite new feature if it is intended that the history
> > would reflect the pagination/section-numbering in the current
> > version, especially for the current place where material was
> > previously deleted.

I think there is a definite use case for a history of change
transactions in a document. This could be done in a number of ways, and
I would argue that enabling at least one complete revision-aware work
flow to make this possible would be useful for many types of official

ODF already has the version mechanism that allow to save multiple
versions of a document alongside in one document container; adding a new
version provides a crude form of document history. But the versions are
disjunct - it is not clear what the one has to do with the other.
Also, as it essentially duplicates a document with every version, in
large documents this is costly regarding size.

My goal is to create an alternative that would allow to keep history in
a more automated way. Currently, there is only one state for change
transanctions, and all records of a CT disappear as soon as you accept
it. I think that in many cases that is what the user wants, but that in
more demanding usage scenario's there are at least three states that
could be given to a change: "suggested", "proposed" and "accepted".

Note that the first is a more cautious/polite/culturally sensitive
version of a proposed change, as currently implemented in applications
(for instance AbiWord implemented this at the request of the OLPC
project and calls this 'Annotations'). It will show the unchanged
document even when you turn on show changes, but will visually or
otherwise indicate that a concrete suggestion has been made to make a
certain modification to a specific region. In other words, you don't
just rewrite someones text, you craft a suggestion or recommendation
(this is of course not limited to text, but could be any change to a
document, including changes to graphics). For official publications it
is essential that these 'editorial considerations' may be deleted easily
by some automated process so they don't end up in print or on a website,
unlike inline text with a different colored background - which is often
used in solutions that don't have a suggestion mechanism.

The remark by mr. Rafterty regarding group voting might also be taken
into account here. Multiple people could sign a 'suggested' change, and
if a threshold is met it can move to "proposed" or "accepted".

The currently implemented change tracking has one state, which equals
'proposed'. The third state - 'accepted' - would mean that the change is
approved *yet kept for the record*. This would give an interesting
document time slider option, where you can go back and forth between the
different versions of a document without explicitly saving them as such.
This is similar what zfs snapshots can do for the filesystem of the same
name. Of course it is also possible to keep the current behaviour, i.e.
that the change is merged into the document as the user accepts the

Implementing this could be done by adding an element or attribute
delta:change-status within <delta:change-transaction> or elsewhere. In
case of a change that is 'accepted' but kept for the record it might be
necessary as well to store who 'accepted' the change (and possibly add
an electronically signature so one can be sure it is the person with the
right mandate).

If that is considered too costly from a runtime point of view, it might
also be an option to move the part of the actual history of accepted
changes into either a protected log within the (proposed)
<text:document-history> element, or in a separate history.xml file. A
(metadata) anchor could be added to the document to capture the

I am very conscious of the fact that any mechanism retaining history
does have a cost. In some cases auditable history is an absolute
requirement, which makes the main question: should we not have the
choice for that cost to be automated instead of human.

>  3. I would also think that there is difficulty with changes that
> rescind/obsolete previous changes.  That means the obsoleted change
> history can't point to any place in the current document where they
> have effect.   I assume one might still want to have them in the
> history, optionally, although they are technically not in the history
> of the current document.

> Do you see limitations placed on what can be removed/suppressed from
> the history by someone editing the document?  (I assume it is not
> possible to prevent turning off the history.)

I don't see limitations as such to suppressing, as long as this can be
undone or verified by the user. Removing and turning off history would
defeat the purpose, but should not be forbidden at the application
level. There are too many ways to go around it, and good ways to detect.

I think additional certainty for the recipient of a document can be
created by signing (versions of) a document, and optionally signing
(sets of) Change Transactions. The user interface could make an effort,
to distinguish text describing history as created by the user and text
describing history as generated by tooling.

Any case of fraud would be easily detectable - as the 'real' changes are
captured by the CT, it is possible to turn on "show changes" and see the
actual low level changes. And by running XML diffing tools,
modifications made 'off the record could be retrieved as well.

> 4. I assume that the facts in a history entry would not be editable,
> although accompanying descriptive annotation might be.   (In the
> current ODF, such things can themselves be change-tracked, though I
> don't know that there is any implementation that provides any way to
> accomplish that.)  There is also some question how the authors
> involved are identified and known to the software in which a revision
> is being edited.
> Are there any limitations on what you see as alterable and
> non-alterable in a document history entry?

Like you say: in an audit trail, edited facts are suspicious. But if you
cannot control the editing environment (OFS of Norway offers such a
controlled solution) you may not be able to avoid tampering - unless
you resort to checksums and other mechanisms similar to what distributed
software development tools like git use.

Fortunately, document histories are the responsibility of the person
producing them - they are drafted by hand now, and thus very much the
creation of an author. Things get a lot better with automated document
history generation. If state A is known externally (and possibly signed
electronically by those responsible), and there are a number N changes
on that clean document (possibly again signed by those responsible) -
then verifying that there have been unaccounted modifications outside
of those changes can be done automatically. So the assurance mechanisms
need not be in ODF.

>  5. On reflection, this strikes me as a substantial feature,
> especially once one also deals with the styling and formatting of the
> document history, where it can be placed in the document, etc., as
> for other kinds of "indexes."  There are also granularity issues.
> For example, a mass change of a word or phrase throughout the
> document (for a change of name or organization or reference to
> something external) would appear to be many changes but it would
> probably best be handled in the history as one entry.
> >
> >  Is this an use case?

Yes, that is most definitely a use case. This is one type of change
transaction that impacts many places in a document, and should be (at
the discretion of the user) presented as either one thing or as separate
edits. I.e. in the first case the history would state something like
("Replaced 43 instances of Sun Microsystems with Oracle - page 1, 2, 3,
5") - with a each instance a hyperlink to the place where the change
occured, similar to the behavior in table of contents.

The second option might be a requirement of the chosen document history
format - in some cases these need to be in a sequential list where they
occured in the document, so first all the edits on page 1, then on page
2 etc. Typically this would be relevant in printed version of standards,
or in legal texts.

> 6. In current implementations, it is possible to turn change-tracking
> on and off independent on whether or not changes are shown or not.
> (This is for text.  The situation for spreadsheet change-tracking is
> rather more complicated). Is this in accord with your assumptions for
> the document-history element being produced? Is it also important to
> have excellent document comparison tools to deal with any questions
> about changes and ones not accounted for in the history (e.g., minor
> editorial matters not related to substance and either not tracked or
> not accounted for in the history)?

I think I've answered these questions above in a fragmented way.
Turning change tracking on and off is independent of whether you see
them. I don't think this would have to change when the changes are made
visible in the document.

I'm assuming the document comparison tools do not have to be that
advanced, as you can just undo all the changes and compare that state to
a known and trusted document version. These should be equal. If not, it
is clear that the document history is no good.

Michiel Leenaars
NLnet Foundation

Version: GnuPG v1.4.11 (FreeBSD)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]