Date: prev next · Thread: first prev next last
2017 Archives by date, by thread · List index


Hi all,

I have been looking into improving the comments support in LO, mainly bringing the feature of marking comments as resolved[1], other things being better root-reply comments relationship, ability to reply to comments in spreadsheets and presentations.

I have done some research around comments in OOXML, ODF for text documents, spreadsheets and presentations and there were couple of changes I have in mind that we would need to make to ODF (introduce LO extensions). Please let me know if there are any concerns/thoughts/ideas that come to your mind.

Firstly, talking about proper root-reply comment relationship for writer (because we support reply comments in writer only), the current situation is that if you have a comment thread (one root and several reply comments) and you put the visible cursor around the anchor position and press enter or any other key, the comment thread breaks (c.f [2]). This is because the current code assumes that root-reply comments are the ones which have same anchor position. This is wrong in my opinion, and doesn't just give rise to [2], but also prevents starting another comment thread at same anchor position which maybe be required in some situations.

To deal with it, my plan is to use 'office:name' attribute with each and every <office:annotation> element corresponding to a comment. ODF spec already allows a office:name attribute but currently, this attribute is used only when the comment has a text range associated with it. In addition to using office:name attribute, we would need to introduce an attribute, say loext:parent-annotations-name, which would point to their parent comments.

Changing the application logic from interpreting root-reply comment relationship from anchor positions to interpreting it from their explicit mapping with help of office:name, loext:parent-annotation-name attribute should address all existing problems as mentioned above.

We don't have any ability to reply to comments for spreadsheets and presentations as of now, but the above approach would also help whenever we would introduce reply comments in them.

Now talking about adding the ability to mark comments as resolved, an attribute like, office:resolved='true/false' to each <office:annotation> element should do.

An office:resolved=false will mean that comment is in opened state and an office:resolved=true means that comment has been resolved. Whenever a comment thread is marked as resolved, we would add a new annotation with text '<comment resolution remarks>' with its office:resolved='true'. Applications can find out if a comment thread is resolved or not by just checking the office:resolved state of the last comment in the thread. Reopening a comment would be possible by just adding another annotation with office:resolved=false to our annotation chain.

Summarizing, these are the LO extensions that we would end up with -
a) loext:annotation-parent-name attribute in <office:annotation> element
b) loext:resolved=true/false attribute in <office:annotation> element

Let me know what you think.

[1] https://bugs.documentfoundation.org/show_bug.cgi?id=106126
[2] https://bugs.documentfoundation.org/show_bug.cgi?id=106227

--
Regards,
Pranav

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.