Content Hub

Multilingual syndication

Important

Content Hub 2.x will reach end-of-life on December 31, 2024. Acquia recommends that you update your Content Hub version to Content Hub 3.x by using the composer require instructions available on the acquia_contenthub project page.

Operational directive of Content Hub 2.x

The operational directive of Content Hub 2.x is to syndicate everything from the publisher to subscriber.

For multilingual entities, all translations of an entity are syndicated. This also includes the dependencies on the configurable language entities where these translations are created. For example, a node entity with translations in EN, FR, and ES languages is syndicated to the subscriber. Also, the EN, FR, and ES languages are enabled on the subscriber site to create translations even if these languages are not enabled originally.

Any new translations added when updating the entity are also added on the subscriber sites.

Caveats

CaveatWorkaround
If an entity with multiple translations is syndicated from the publisher to subscriber site and you delete one of the translations on the publisher, the translation is not deleted from the subscriber. Currently, there is no mechanism to identify the manually-created translations on the subscriber site. Therefore, no translations are deleted from the subscriber unless the whole entity is deleted from the publisher.

To ensure that the translations deleted from the publisher are also be deleted from the subscriber, do one of the following:

  • Delete the translations manually on the subscriber site.
  • Delete and reimport the original entity.

    This is the recommended workaround.

  • Implement the following custom solution:

    Subscribe to the AcquiaContentHubEvents::PARSE_CDF event and remove the translation. For example, ContentEntityParseCdfHandler.php. Also, ensure that the weight is lower than 100.

    Note

    Custom solution might alter the current behaviour about local translations.

    Acquia does not recommend this workaround because the Content Hub team does not support custom solutions.

New languages are imported on the subscriber site if an entity has translations in the languages that do not exist on the subscriber.
 
If a subscriber site creates or updates a translation locally, it loses those changes when a publisher site creates or updates a translation in the same language, and the publisher site gets syndicated to the subscriber site.To prevent incoming changes, you can set the AUTO_UPDATE_DISABLED status for the entities that have local updates to the translations. You can use the acquia_contenthub_unsubscribe module for unsubscribing the entities. However, you must remember that those entities will not receive any updates from the publisher for any translation.