- Issue created by @claudiu.cristea
- 🇵🇱Poland alorenc Wolsztyn, 🇵🇱
Users can export data in four formats. For example, in the case of CSV, it is not possible to protect or hide columns.
I opened an XLSX file with LibreOffice (v24.2), and it did not work either.I do not think it is a good idea to change that because:
- It will not work for all formats.
- It probably works only with Microsoft Office.
- A user can still modify even the hidden columns.
Instead of that, my suggestion is to:
- improve import validation and add a warning in case an ID is not found.
- Update "ID" to something clearer, such as "Reference ID."
- Add a clear description on the /admin/config/regional/babel/export and /admin/config/regional/babel/import pages.
- 🇵🇱Poland alorenc Wolsztyn, 🇵🇱
Update
It did not work in case I tried to download the language that was exported before applying the changes. - 🇷🇴Romania claudiu.cristea Arad 🇷🇴
Users can export data in four formats. For example, in the case of CSV, it is not possible to protect or hide columns
Of course. But that's expected, right? At least works for apps that are supporting protection
I opened an XLSX file with LibreOffice (v24.2), and it did not work either.
Works for me with LibreOffice 25.2.4.2. Please try to update LibreOffice and retest
It will not work for all formats.
That's OK and expected. This is just an improvement for the formats that support protection
It probably works only with Microsoft Office.
This is a good reason to have it. In EC almost all are using MS Excel so we have a good coverage. As it works also with LibreOffice, we'll cover 99% of the cases.
A user can still modify even the hidden columns.
That's true. But this is not intended to be a shield agains users acting in a bad faith. This to prevent accidental actions.
improve import validation and add a warning in case an ID is not found.
That's already in place
Given all above, please take a second look.
- 🇵🇱Poland alorenc Wolsztyn, 🇵🇱
Another argument against this approach is
If I copy a string from "Source string" to "Translated string" in Excel, the protection is copied as well. I am no longer able to update the value in "Translated string." I think the copy functionality is crucial for speeding up translation. - 🇷🇴Romania claudiu.cristea Arad 🇷🇴
Since last review:
- Removed the protection of column A to allow copy/paste of the string.
- Changed the table header to make clear which headers should not be edited
- Refactored
Spreadsheet::createExportedFileContent()
to improve code readability - Adapted the tests.
Note that has validation has been previously fixed in 🐛 Import doesn't show collected warnings Active but violations are rendered as warnings.
- First commit to issue fork.
- 🇬🇷Greece dimilias
We have talked with @claudiu.cristea and decided in two changes:
1. Add some guidelines per plugin where they can set explanations and other information when the plugin is selected.
2. Add text wrap to the second column in order to allow text to be shown fine even when long text is inserted since there is no resizing in protected documents.I have tested the above with LibreOffice, OpenOffice, MS Office.
The protection is only applied in XLS and XLSX file format and applies across all of the above software.
ODS protection is not applied. Not even for native software of the extension. Probably the library we are using does not support it. We discussed and agreed that it is fine and it is not a security measurement, rather than an optional convenience.
We have agreed that we should not remove the extensions though, because in many cases, the site owner might want to work with the Open Document format rather than some proprietary extension.CSV of course does not carry any of these as it is mainly a plain text file.
The guidelines added for the Spreadsheet plugin is that we offer minor protection for the XLS and XLSX formats. Now that this issue is closed, please review the contribution record.
As a contributor, attribute any organization helped you, or if you volunteered your own time.
Maintainers, please credit people who helped resolve this issue.