Les workspaces et le versioning dans Typo3
Le versioning dans Typo3
Typo3 offre la possibilité de gérer différentes versions des enregistrements qui sont stockés en base de données (pages, contenus).
Cela permet de travailler sur des versions pages ou des contenus distinctes des versions affichées en ligne sur le site.
Ce système est utilisé par les workflows (processus de rédaction/relecture/validation des contenus).
Dans Typo 4.5, pour disposer du versioning et des workspaces (ou espaces de travail), il faut installer les 2 extensions correspondantes.
Activation du versioning pour une table
L'activation de la gestion des versions se fait au niveau de chaque table de la base de données de Typo3, dans la section "ctrl" du tableau $TCA.
Pour des informations détaillées, voir le document Typo3 core API sur typo3.org.
Les différentes versions des enregistrements sont stockés dans la même table.
Les enregistrements qui ne sont pas visibles dans la version visible du site ont pour valeur -1 pour le champ pid, cela les identifie comme des enregistrements non visibles en ligne.
Quand on permute l'affichage de la version en ligne avec une version hors ligne, cela revient à permuter les valeurs de tous les champs des enregistrements permutés, sauf les champs "uid" et "pid".
Ainsi, l'enregistrement en ligne est toujours identifié par le même uid, ce qui permet à toutes les références vers ce contenu de continuer à fonctionner.
Cycle de vie
Quand une nouvelle version d'un enregistrement est créée, il est dans l'état "brouillon".
Quand l'enregistrement est publié, il est dans l'état "Live".
Quand l'enregistrement est permuté à nouveau hors ligne, il passe à l'état "archivé".
Les workspaces (espaces de travail) dans Typo3
Utiliser seulement la fonctionnalité de versioning pour gérer différentes versions de contenus et un processus de validation est lourd à gérer.
Les workspaces correspondent à des états du backend de Typo3:
- le workspace "Live" correspond à la version du site visible en ligne, chaque modification dans ce workspace est automatiquement visible en ligne,
- les workspaces sur mesure, créés par un administrateur: les modifications ne sont pas visibles en ligne. Il y a une gestion de versions transparente