Change Tracking in ODF

When we implemented support for ODF in Office 2007, we decided to not support the limited change-tracking functionality included in that version of the ODF standard. I covered the thinking behind that decision in a blog post shortly after ODF 1.1 support was released in Office 2007 SP2.

I mentioned in that post that “we would welcome the opportunity to work with other TC members to improve ODF’s ability to handle tracked changes.” I reiterated that later the same year, when I spoke at OOoCon 2009 in Orvieto – in response to questions as to whether Microsoft would take an active role in helping to improve change tracking in ODF “v-Next.”

The time has come, thanks to the creation of the ADC SC (Advanced Document Collaboration sub-committee) of the OASIS ODF technical committee. The Statement of Purpose for the ADC SC emphasizes the importance of change tracking:

The initial and highest priority for the Subcommittee will be change tracking. Reliable and user-friendly revision management is critical for professional document workflows in corporate and public sector environments, and as such an important feature of Open Document Format.

Change tracking has indeed been the primary topic of discussion within the ADC SC, and per the “Roadmap for ADC SC work” on the ADC SC wiki, proposals may be submitted by SC members through the end of March.

Over the last couple of months, my colleague John Haug has been working closely with change tracking experts on the Word team to put together a proposal, and today we have submitted that proposal to the ADC SC. As stated in the Introduction to that proposal:

The basic idea behind this proposal is to preserve the existing ODF change tracking and extend it to support missing use cases. We believe this best preserves backward compatibility with existing implementations and makes best use of existing patterns and code. It also maintains the current model of ignoring changes for applications that do not support change tracking. A relatively small number of additions to the existing capability can enable a core set of previously unsupported use cases.

This proposal focuses on the need for robust change tracking in text documents, the primary user scenario based on customer feedback. In addition to supporting new use cases as described below, we propose expanding the prose that describes the current change tracking support to make its intended use and scope more explicit.

Our proposal is informed by our experience in building change tracking functionality over the course of several product releases, as well as our participation in the ADC SC discussions to date and our analysis of the existing ODF change tracking functionality when we implemented ODF support. We have identified the specific use cases that we feel need to be addressed, and for each of them we’ve provided examples of the ODF markup before and after the change, along with an explanation of our proposed approach. Of course additional use cases can also be addressed as the ADC SC’s work proceeds. And we look forward to digging in and understanding all other proposals submitted to the SC – the quality of the final work product will benefit from considering every submission carefully.

We have also included questions to the SC, and multiple options in some cases. As covered in the proposal itself, we see it as a starting point:

We believe that a robust discussion among implementers is necessary to create a good final design, we are open to changes in everything from design and applicable scope to element and attribute names and this document is provided as a vision for the general architecture and a seed for such a discussion. We expect that the mechanical details can be worked out in a straightforward manner once the subcommittee agrees on a broad architectural approach.

I’m excited to see the change tracking discussion taking place in the Advanced Document Collaboration SC, and like Rob Weir I hope that it will be every bit as successful as the Open Formula SC and Metadata SC have been in improving the ODF standard. It’s great to see the ODF community collaborating on addressing this critical area, and I look forward to some good discussions in the SC as the process moves forward.

Please get involved if you have an interest in this area, or expertise to contribute. Any OASIS member may participate in the SC, and if you’re not an OASIS member it’s easy to join.