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

 


Help: OASIS Mailing Lists Help | MarkMail Help

office-collab message

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


Subject: Change tracking uses cases


Some quick thoughts on change tracking on what makes this a hard problem.  
I'm looking at this problem from the user perspective, not the markup 
perspective, just trying to suggest a scope.

I think we all have an intuitive sense that actions that the user takes to 
change the document should be reflected in change tracking.

1) Some types of changes are simple at the markup level, but lead to 
complex changes in the user's view of the document.  For example, 
inserting or deleting items into a numbered list will change the numbering 
of all following list items.

2) Conversely, some changes at the user level are very simpe, but at the 
markup level are complex, such as inserting or deleting a column in a 
table.  A single simple user-level change causes many changes at the 
markup level, because of the row-oriented encoding of tables.

3) There are many possible "links" in an ODF document, such as an image 
frame pointing to an image file, or a paragraph pointing to a style 
definition.  This gives you a triad of: linking object, link, and linked 
object.  Changes can occur to any of them.  For example, I can add/remove 
an image, change which image file I am pointing to, or keep the image name 
constant but change the underlying bytes of the image.  Change tracking 
should be able to represent changes at all of these levels.

4) Perhaps a variation on referential integrity  -- we have part of ODF 
that represent a cached value of other content in the document.  For 
example, tables can store both a formula as well as the last cached value 
of the formula.  A slide can have a cached thumbnail image.  When the 
underlying data changes, the cached value should be invalidated.

5) In most cases changes occur to a specific part of a document, something 
that you can point to.  But in some cases the change is more global, such 
as changing document metadata, or changing the definition of a named 
style.

6) Some changes to a document are of no consequence, in terms of 
information value to the user.  For example, changes to XML ID's, so long 
as they represent the same graph, should be freely changeable.    There 
are other examples of similar "volatile" data in a document.  For example, 
if I have a spreadsheet that has a cell using the RAND() function or the 
NOW() function, I probably don't want to generate a tracked change every 
time the spreadsheet recalculates. 

Are there any other similar "edge cases" to worry about?  I think tracking 
content changes is the easy part.  But what else do we need to avoid 
missing?

-Rob







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