Language independent values
OpenCms stores for each schema element a language specific value. By default, each of the language specific values can differ from the others.
<synchronization> node in the XSD, it can be enforced that the value of a schema element is the same for each language - it is language independent. If a value is altered in one language, the altered value is stored for all languages at least if you use a content editor and do not edit the source directly.
Why synchronize values?
OpenCms supports multiple languages. By nature, each content is multi-lingual. It contains several language specific versions for each element. Typically these versions should differ. For example, text elements should contain text in the respective language.
For some content elements the values should be the same in every language. For example, images might be identical for different languages. Moreover, if you use content items for configuration, the values usually ought to be identical for each language - not language specific.
To keep values identical - independent of the language - you can configure that an element's values should be synchronized. That means, if you change the value for one language, it is changed for all languages.
Forcing synchronization for a schema element
To force synchronization for specific values of a content element, add the following configuration (under
xsd:schema/xsd:annotation/xsd:appinfo) to the content type definition:
In the above code snippet, value synchronization is enabled for the content element specified by the XPath
Paragraph/Image/Image. If the value is edited in the content editor for one language, it is changed for all languages.
Since OpenCms 11, the synchronization can also be configured with the preferable field settings.
What you should know about synchronized values
Synchronization of values of schema elements is a feature of the content editor. You just configure the editor to synchronize values. That is, when in the content editor, a value is changed for one language, the values of the corresponding schema elements in all other languages (if the schema elements are present at all) are also changed. If you change a value in the source code, no synchronization is performed.
Configuring synchronized schema elements adds an extra option in the form-based content editor. Because usually synchronized schema elements can have different values in different languages if the source code of the XML content is edited, the form-based content editor provides an option "Synchronize" in the "Copy locale" dialog when synchronized values are configured. This will sync the language specific values to the value from the currently edited locale.