Writer has some support for interdependent (or hierarchical) tracked changes: e.g. the case when you have a delete on top of an insert. See the third post for background.
This work is primarily for Collabora Online, but the feature is available in desktop Writer as well.
Motivation¶
Interdependent changes mean that the UI shows one type of change on top of another change, e.g. formatting on top of insert. Writer knows the priority of each type, so in case you have an insert or delete change and on top of that you have a formatting, then the UI will look "through" the formatting and work on the underlying insert or delete when you navigate with your cursor to a position with multiple changes and you press Accept on the Review tab of the notebookbar.
Usually this is what you mean, but what if you want to work on the formatting at the top, directly? You can now open the Manage Changes dialog using the Manage button on the Review tab of the notebookbar and if you go to the formatting change row of the dialog, then pressing Accept there will accept the formatting change, not the insert or delete change. This is possible, because the dialog gives you a way to precisely select which tracked change you want to work with, even if a specific cursor position has multiple tracked changes.
Results so far¶
Here is a sample ins-then-format.docx document from the core.git testcases, the baseline has an
insertion, and part of that is covered by an additional formatting change on top:
Interdependent tracked change: baseline
If you just go in the middle of the document and press Accept, that will work with the more important insert change, so the result looks like this:
Interdependent tracked change: default accept result
But now you can also open the Manage Changes dialog, to be more specific by directly selecting the formatting change:
Interdependent tracked change: direct accept via the dialog
And when you accept the formatting change directly, the result will be just the insert change:
Interdependent tracked change: direct accept result
You can save and load the results in both DOCX and ODT, as usual.
How is this implemented?¶
If you would like to know a bit more about how this works, continue reading... :-)
As usual, the high-level problem was addressed by a series of small changes. Core side:
- tdf#166319 sw interdependent redlines: allow accept/reject for fmt on ins/del
- tdf#166319 sw interdependent redlines: fix redo of accept for fmt on ins/del
- tdf#166319 sw interdependent redlines: fix redo of direct reject for format
Want to start using this?¶
You can get a development edition of Collabora Online 25.04 and try it out yourself right now: try the development edition. Collabora intends to continue supporting and contributing to LibreOffice, the code is merged so we expect all of this work will be available in TDF's next release too (26.2).




















Code span: baseline
Code span: old result
Code span: new result
Lists: baseline
Lists: old result
Lists: new result
Image: baseline
Image: old result
Image: new result
Table: baseline
Table: old result
Table: new result
Quote: baseline
Quote: old result
Quote: new result
Interdependent tracked change: improved format, after document load
Interdependent tracked change: old reject, lost character style / direct format
Interdependent tracked change: new reject, handled character style / direct format
Floating table, followed by heading: new Writer render
Floating table, followed by heading: old Writer render
Floating table, followed by heading: reference render






Interdependent tracked change: just insert
Interdependent tracked change: old, format is not tracked separately
Interdependent tracked change: new, format is tracked separately
Interdependent tracked change: UI dialog now showing multiple redlines 

