Details
-
Bug
-
Resolution: Fixed
-
Major
-
16.4.0, 15.10.11
-
None
-
Integration
-
Unknown
-
N/A
-
N/A
-
Description
When a document is not translated in the current UI locale, the inplace editor allows you to create the missing translation. This has not been tested property when we integrated the realtime editing with the inplace editor, and it seems the new translation uses the realtime session associated with the original document translation.
The problem is that:
- the realtime editor uses the locale detected when the web page loads, which in this case is the original locale (even if the UI locale is different); the inplace editor allows the user to start editing a new translation, matching the UI locale, but the realtime editor assumes it is editing the original translation. To fix this the realtime editor needs to detect when the locale changes (without a web page reload)
- The realtime editor currently uses 4 Netflux channels to synchronize the content, the list of users, the save, etc. All these channels are bound to a document translation (i.e. are not shared by document translations). 3 of them are field specific (i.e. specific to the document content). One of them is shared by all fields of the same document translation. The channel that is shared is created first, before the rest, and it isn't re-created when a field is reloaded (without reloading the web page, e.g. when you edit inplace, cancel and edit again). Obviously this shared channel is created for the locale detected on page load. We need to be able to "re-connect" to the shared channel when the document locale changes (without page reload), i.e. disconnect from the old channel, fetch the shared channel corresponding to the new locale and connect to it.