PageTree démo by

Éditer des pages

Historique des versions

Chaque enregistrement des blocs d’une page crée une version. Vous pouvez revoir une ancienne version dans l’éditeur, la remettre en ligne et nommer les versions importantes.

Ce qui est enregistré

  • Une version est créée à chaque enregistrement qui modifie les blocs de la page : contenu, ordre, ajout ou suppression d’un bloc. Un enregistrement sans changement des blocs ne crée pas de version.
  • L’historique est tenu par langue : chaque langue de la page a ses propres versions.
  • Chaque version garde sa date, son auteur et le nombre de blocs.
  • Les versions sont créées quelle que soit la façon d’enregistrer : depuis l’éditeur, depuis le formulaire classique de la page ou par du code.
  • Pour une page créée avant la 2.3, le premier enregistrement garde aussi l’état précédent des blocs : cette première modification peut donc être annulée.

L’historique ne contient que les blocs. Le titre, l’URL, le layout, les champs SEO et la publication n’en font pas partie : restaurer une version ne les modifie pas.

Ouvrir l’historique

  1. Ouvrez la page dans l’éditeur.
  2. Cliquez sur Historique dans la barre d’outils du document. Le bouton est disponible une fois la page enregistrée.
  3. La fenêtre Historique des blocs liste les versions de la langue affichée, de la plus récente à la plus ancienne. La version en ligne porte la mention Version actuelle.

Le champ de recherche filtre les versions sur leur titre et leur description.

Revenir à une version précédente

  1. Dans l’historique, cliquez sur Prévisualiser sur la version voulue. Si la page contient des modifications non enregistrées, une confirmation vous prévient qu’elles seront perdues.
  2. Les blocs de cette version s’affichent dans l’éditeur et dans l’aperçu. Un bandeau indique la version affichée, et l’onglet est marqué comme modifié.
  3. Cliquez sur Enregistrer : cette version est remise en ligne.

Pour quitter l’aperçu sans rien changer, cliquez sur Revenir à la version actuelle dans le bandeau.

Restaurer une version n’efface rien : l’enregistrement crée une nouvelle version, et les versions plus récentes restent dans l’historique. Vous pouvez donc toujours revenir en arrière.

Avant d’enregistrer, vous pouvez aussi retoucher les blocs de la version prévisualisée : ils sont enregistrés comme n’importe quelle modification.

Nommer une version

Donnez un nom aux versions importantes, par exemple avant une refonte ou pour une campagne :

  1. Dans l’historique, cliquez sur Nommer / Modifier sur la version.
  2. Saisissez un Titre et, si besoin, une Description.
  3. Cliquez sur Enregistrer.

Combien de versions sont gardées ?

  • Les 50 dernières versions sont gardées par page et par langue. Au-delà, les plus anciennes sont supprimées automatiquement.
  • Les versions nommées (qui ont un titre) ne sont jamais supprimées automatiquement et ne comptent pas dans cette limite.
  • Supprimer une page supprime aussi son historique.

Pour les développeurs

L’historique repose sur le trait LucasPalomba\PageTree\Traits\Versionable, utilisable par vos propres modèles :

class Article extends Model
{
    use \LucasPalomba\PageTree\Traits\Versionable;

    // Attributs historisés
    public $versionable = ['content'];

    // Versions non nommées gardées par enregistrement et par langue
    public $versionableLimit = 50;
}
  • Les versions sont stockées dans la table lucaspalomba_pagetree_versions et accessibles par la relation pagetree_versions.
  • Avec RainLab.Translate, chaque langue enregistrée a ses propres versions.
  • Tant que php artisan october:migrate n’a pas créé la table, les modèles sont enregistrés normalement, sans historique.