Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Pré-requis

Pour activer la synchronisation sur un environnement :

...

Prerequisites

To enable synchronization on an environment:

  • In the WXM_Mediacore plugin,

...

S’assurer de la présence de l’objet mediasharing

...

Dans les objets à synchroniser, ajouter un champ nommé synchro de type child sur l’objet courant.

Exemple

On souhaite pouvoir synchroniser les contenus de l’objet article. Dans la structure de l’objet article, ajouter un champ synchro de type child sur article

Fonctionnement

Lorsque la synchronisation est active sur un contenu, un bouton Propager la mise à jour apparaît sur l’écran de visualisation de cet objet.

Ce bouton permet de choisir :

  • le type de propagation

  • les projets impactés par cette mise à jour (ne sont listés que les projets utilisant le contenu)

Il existe donc deux façons de propager une mise à jour :

imposition

la mise à jour va directement se propager sur les versions "chutier" du contenu pour les projets choisis
⇒ Les responsables des projets seront avertis qu’une mise à jour du contenu a été imposée. Ils pourront masquer l’alerte après en avoir pris connaissance.

proposition

la mise à jour n’impactera les versions "chutier" du contenu pour les projets choisis que lorsqu’elle sera acceptée.
⇒ Les responsables des projets pourront accepter/refuser/masquer cette mise à jour.

Sécurité

Il est possible de sécuriser les différentes actions de la synchronisation. Il est par exemple possible :

  • d’autoriser/interdire l’imposition ou la proposition de mise à jour : il faudra agir dans l’action INSERT du domaine OBJECTDATA de la sécurité.

  • d’autoriser/interdire d’accepter ou de refuser une mise à jour : il faudra agir dans l’action UPDATE du domaine OBJECTDATA de la sécurité.

Pour cela il suffit de créer les règles de sécurité adéquates sur l’objet mediasharing dont le contexte est synchro.
⇒ La base des règles de sécurité sera donc
  • set the isSynchroActive parameter to yes.

  • Make sure the mediasharing object is present.

  • In the objects to synchronize, add a field named synchro of type child on the current object.

Example

We want to be able to synchronize the contents of the article object. In the structure of the article object, add a field synchro of type child on article’s object.

Operation

When synchronization is active on content, a button Propagate update appears on the display screen of this object.

This button is used to select:

  • the type of propagation

  • projects impacted by this update (only projects using the content are listed)

There are two ways to propagate an update:

imposition

the update will directly propagate on the "whisper" versions of the content for the selected projects.
Projects will be notified that an update of the content has been required. They will be able to hide the alert after learning about it.

proposal

the update will only impact the "drop-down" versions of the content for selected projects when it is accepted.
Project managers will be able to accept/reject/hide this update.

Security

It is possible to secure the different synchronization actions.
For example, it is possible:

  • authorize/prohibit the imposition or proposed update:
    it will be necessary to act in the action INSERT of the domain OBJECTDATA of the security.

  • authorize/prohibit the acceptance or rejection of an update:
    it will be necessary to act in the UPDATE action of the OBJECTDATA domain of the security.

To do this, it is sufficient to create the appropriate safety rules on the mediasharing object whose context is synchro.
⇒ The basis of the security rules will be therefore: lower(objectname) = 'mediasharing' AND object.context='synchro'.

Pour différencier la proposition et l’imposition de mise à jour, il suffira de préciser le type de l’objet "mediasharing". ⇒ Les règles devront être complétées avec To differentiate between the proposal and the imposition of an update, it will suffice to specify the type of mediasharing object.
⇒ The rules will have to be completed with: AND object.type='impose' OU OR AND object.type='propose'