Feature #88766
openUnpredictable allowLanguageSynchronization behaviour with file references
0%
Description
The TCA behaviour "allowLanguageSynchronization" has some user experience or design issues in combination with sys_file_references.
For the following examples I've used the actual TYPO3 CMS Master (10.0.x-dev) and the media field in page properties. Make sure you have at least one page with a translation.
Let's beginn simple:
1. Parallel display of buttons to add relations and translation behaviour¶
IMHO the buttons to add relations should only be displayed on translations if "custom value" is chosen.
Or the other way round, if you add a relation in a translation it should automatically switch to "custom value".
ATM if you add a relation and hit the save button while "value of default language" is still selected, the relation wont be saved. -> Bad UX
(see also topic 3)
2. Custom value != custom value¶
Starting with a empty media field (also in translations)
Step 1: Add a relation in default language and save
Step 2: Switch the translation behaviour to "custom value" in your translation and save.
Step 3: Go back to the default language of the page, delete the relation and save.
The relation is also deleted on the translated page with "custom value". The editor would first have to delete the image and add it again in the translation to keep it.
Just because the l10n_parent is set, it is not necessary right to delete the relation. The translation behaviour isn't taken into account.
3. Resync relations¶
Starting again with a empty media field (also in translations)
Step 1: Set translation behaviour "custom value" in translation
Step 2: Add a relation in default language
No relation added on translation. Yay, expected behaviour :-D
Step 3: Change translation behaviour to "value of default language" and save
The image is resynced correctly :-D
Step 4: Delete relation relation while keeping "value of default language" active and save
The image is gone for the translation until somebody saves the default language. This can be misleading for editors if they forget to switch to "custom value" at this point. This can be solved along with topic 1
4. Show warning when relation of translation is deleted¶
Starting again with a empty media field (also in translations)
Step 1: Add a relation on translation with "custom value" behaviour
Step 2: Switch translation behaviour to "value or default language" and save
Custom relation of translation is kept.
Step 3: Switch to default language and add save
Custom relation of translation is still there.
Step 4: Add new relation on default language and save
The new translation is added for all languages and the custom relation of the translation is deleted.
IMHO this is correct, but for better usability I would prefer a warning dialog when an editor changes to "value of default language" and if there are any relations without l10n_parent.
Something like: "Some relations are not connected to the default language. Are you sure to remove them?" and then delete them directly on approval.
5. Permission error¶
Starting with a empty media field (also in translations) and "value of default language" enabled
Step 1: Add relation on default language and save
Step 2: Add to "custom value, add a new relation on the translation and save
Step 3: Back on default add a new relation and save
Step 4: Switch translation behaviour back to "value of default language" and save
You should get an error like "1: Attempt to modify record 'rawpixel-1046262-unsplash.jpg' (sys_file_reference:292) without permission. Or non-existing page." for the relation added in step 2.
I hope those cases can help to improve the US with the allowLanguageSynchronization behaviour for editors.
Files