SP:Composant:BlocObjectDraft

De Hegyd Doc.


Sommaire

[modifier] BlocObjectDraft

Un BlocObjectDraft est la version brouillon d'un BlocObject (voir le process de brouillon/publication). Il peut avoir des valeurs associées.

A l'inverse du BlocObject, seul un BlocObjectDraft peut être transformé en formulaire, pour modifier ses valeurs.

Et seul le blocObjectDraft peut être publié. Un blocObject est la version publié d'un blocObjectDraft.

[modifier] Implementation

[modifier] Base de données

Table BlocObjectDraftId:

  • blocObjectDraftId: identifiant
  • pageSiteClientId: identifiant de page
  • position: position du blocObject parmi ceux se trouvant a l'intérieur du même bloc.
  • customPosition: flag indiquant si l'object sera positionné a la main dans le code (les métas, directement intégrées dans le header), ou de façon automatique par le biais de sa position et du bloc auquel il appartient.
  • typeBlocObjectId: type du blocObject (référence a l'identifiant de la table typeBlocObjectId).
  • typeBlocId: bloc dans lequel se trouve le blocObject.
  • interactiveEdit: autorise la modification au passage sur l'élément dans l'interface (reprend par défaut la valeur du type de blocObject associé)
  • isEditable: flag indiquant si l'object est éditable par l'utilisateur (reprend par défaut la valeur du type de blocObject associé)
  • isDraggable: flag indiquant si le blocObject est déplacable opar l'utilisateur (reprend par défaut la valeur du type de blocObject associé)
  • isDeleteable: flag indiquant si le blocObject peut être supprimé par l'utlisateur (reprend par défaut la valeur du type de blocObject associé)
  • activated: flag indiquant si le blocObject est activé (visible pour l'utilisateur) (reprend par défaut la valeur du type de blocObject associé)
  • hasValues: indique si le blocObject peut avoir des valeurs associées.
  • predefinedContentId: identifiant du contenu prédéfini associé au blocObject, si c'est le cas.
  • utsCreate: date de création
  • utsUpdate: date de modification
  • utsDelete: date de suppression (non utilisé, lorsqu'un blocObject est supprimé, sa ligne en base l'est également).
  • status: indique si le blocObjectDraft est en mode édition ou suppression (dans le cas d'une suppression, la publication supprimera l'objet).
  • blocObjectId: dans le cas ou l'object dérive d'un blocObject (cas de modification d'un blocObject publié dans l'éditeur par exemple, voir le processus de publication).

[modifier] Classe

La classe BlocObjectDraft permet de gérer les blocObjectDraft.

[modifier] Publication / Annulation

[modifier] Publication

Lors de la publication, le blocObjectDraft est transformé en blocObject: si le draft est lié a un blocObject existant, alors on remplace les infos du blocObject existant par celles du draft. Si aucun blocObject n'est lié, alors on en crée un nouveau. On publie ensuite les valeurs des champs associés au blocObjectDraft. Le blocObjectDraft est ensuite détruit.

Voir la méthode publish() de la classe de l'objet.


[modifier] Annulation

Le blocObjectdraft est détruit ainsi que ses valeurs.

Voir la méthode destroy() de la classe de l'objet.