Each trival text edit creates a new ODF text span with a style which does nothing but give an RSID, even though changes are not recorded and "Use RSID" is not checked in Tools->Options->Writer->Comparison.
Even trivial spelling corrections break words into multiple spans, which makes the resulting ODF file virtually unreadable to either humans or most other software. For example, I use Perl and ODF::lpOD to search for place-holder strings in a "skeleton" file and replace them with real content. But the place-holder strings can't be found unless they are stored in a single span. The RSID problem makes it almost impossible to use Libre Office to edit the skeleton doc.
Please see bug 52028 for more details and some test cases.
(that bug reported a font-kerning issue which has since been fixed, but the part about uncontrollable ODF fragmentation remains).
I'd like to echo the sentiments of the reporter of that other bug, who said
"this bug unnecessarily increases the complexity and size of .odt files, making the contents unnecessarily hard to read and parse, which is IMHO against the philosophy behind the ODF file format specification -- unlike Microsoft's strange Office 2007 XML format (.docx etc.), which may be intentionally complex to make parsing difficult for foreign software, the ODF file format was designed to be as simple as possible, to make it easy to write parsers and even to allow human beings to read the XML code directly. This is counteracted by this bug."
1. Don't generate RSID spans unless "Use RSID" is checked in ools->Options->Writer->Comparison (which currently requires selecting by-char or by-word comparison mode) AND edit->Changes->Record is checked.
2. Provide a new command ("Simplify ODF" or somesuch) which removes all RSIDs and then removes all empty spans. This could be used by people who need to generate ODF files which can be parsed by other software. I predict that if this command is implemented, someone will want a static option to do it always; one place for that would be a Save-As option.
If the only way to use RSIDs in ODF document is creating new span styles, the format is deficient.
Also, ODF files are not intended to be read by humans.
+1 for that - is there any setting in 4.4 to control RSID behaviour somehow? This is really anoying.
ODT should be kept as simple as possible...
Can yomebody look at this?
** Please read this message in its entirety before responding **
To make sure we're focusing on the bugs that affect our users today, LibreOffice QA is asking bug reporters and confirmers to retest open, confirmed bugs which have not been touched for over a year.
There have been thousands of bug fixes and commits since anyone checked on this bug report. During that time, it's possible that the bug has been fixed, or the details of the problem have changed. We'd really appreciate your help in getting confirmation that the bug is still present.
If you have time, please do the following:
Test to see if the bug is still present on a currently supported version of LibreOffice (5.0.5 or 5.1.2 https://www.libreoffice.org/download/
If the bug is present, please leave a comment that includes the version of LibreOffice and your operating system, and any changes you see in the bug behavior
If the bug is NOT present, please set the bug's Status field to RESOLVED-WORKSFORME and leave a short comment that includes your version of LibreOffice and Operating System
Please DO NOT
- Update the version field
- Reply via email (please reply directly on the bug tracker)
- Set the bug's Status field to RESOLVED - FIXED (this status has a particular meaning that is not appropriate in this case)
If you want to do more to help you can test to see if your issue is a REGRESSION. To do so:
1. Download and install oldest version of LibreOffice (usually 3.3 unless your bug pertains to a feature added after 3.3)
2. Test your bug
3. Leave a comment with your results.
4a. If the bug was present with 3.3 - set version to "inherited from OOo";
4b. If the bug was not present in 3.3 - add "regression" to keyword
Feel free to come ask questions or to say hello in our QA chat: http://webchat.freenode.net/?channels=libreoffice-qa
Thank you for your help!
-- The LibreOffice QA Team This NEW Message was generated on: 2016-04-16
Problem is still there in 126.96.36.199.alpha0+
Now, however, Tools->Options-Writer->Comparison no longer even has an option to enable RSIDs, and they seem to be permanently enabled.
This problem really striked at the heart of the philosophy of why ODF was created -- to make a format which was simple and to facilitate different tools interoperating. As it is, the pervasive injection of RSID-related styles make interoperation with other software very difficult (e.g. the ODF::lpOD library is almost useless because of this).
To make things more clear, here is an example of
STEPS TO REPRODUCE:
1. Open the attached "rsidtest.odt"
2. Replace the capitalized word "THIS" in the first sentence with a lower-cased version (or may any other "spelling corrections" you like).
3. Save and exit LO
4. mkdir tempdir
unzip -q ../rsidtest.odt
xml_pp -i -s nsgmls *.xml # makes them easier to read
5. Examine "content.xml" with vim or similar
Search for "Replace this word" (the corrected sentence in the document)
RESULTS: The search will not succeed because of the injection of RSID-related styles for each of the fragments around the edit.
EXPECTED RESULTS: Unless RSIDs are enabled, the "Replace this word ..." sentence should be in a single ODF object. In general, ODF objects should not be fragmented unless there is a visible or functional reason to do so.
Created attachment 125423 [details]
Instructions in comment #4
*** Bug 99015 has been marked as a duplicate of this bug. ***
With current version of 5.2 you can disable writing RSIDs in Tools > Options and that works. But writing random numbers is on as default.
Jim, I tested the steps in your comment 4. Before that I deactivated Tools > Options > LibreOffice Writer > Comparison > Store it when changing the document.
There is no RSID span in the file after the test change.
Build ID: b08217989558addbcaded122a4e7211ae24bbcff
CPU threads: 4; OS: Linux 4.8; UI render: default; VCL: gtk2;
TinderBox: Linux-rpm_deb-x86_64@70-TDF, Branch:master, Time: 2017-05-31_06:36:03
Locale: de-DE (de_DE.UTF-8); Calc: group
It also works in 188.8.131.52.
I close this bug as WORKSFORME.
If that isn't correct, please reopen the bug as UNFONFIRMED.
If you want that option per default deactivated in LibO, please open a new bug for that.