2008-11-06 7 views
12

Je cherche à intégrer la fonctionnalité CMS de base dans notre produit Web et je suis à la recherche de conseils et d'idées de conception pour le contenu de version. Je suis spécifiquement à la recherche de schémas de base de données en usage aujourd'hui.Stratégies de gestion des versions de CMS pour le contenu

Qu'est-ce que vous utilisez pour le contrôle de version du contenu? Quels modèles s'appliquent si vous avez différents types de contenu nécessitant des versions stockées? Comment gérer les versions de question sur Stack Overflow?

Merci

Répondre

11

Littérature utilise un modèle 5 dimensions pour cela:

  • Version (vouloir changer)
  • état (cycle de vie: créer, tester, déployer, retraite)
  • vue (html, pdf, système de fichiers, dérivabilité)
  • hiérarchie (page, section, paragraphe)
  • variante (en grande partie similaires, décrivant les différences, les familles de produits)

La plupart des systèmes ne gèrent que quelques-unes de ces dimensions. Pour gérer tous les cinq, vous devez décrire (réparer) votre processus de développement.

La référence:

La gestion des données de conception: les cinq dimensions des cadres de CAO, gestion de la configuration et la gestion des données produit.
van den Hamer, P. Lepoeter, K.
Philips Res., Eindhoven;

Ce document apparaît dans: Proceedings of the IEEE
Date de publication: janvier 1996
Volume: 84, Numéro 1
À la page (s): 42-56
ISSN: 0018-9219
Références citées: 26
CODEN: IEEPAD
INSPEC Numéro d'accession: 5175049
digital Object Identifier: 10,1109/5,476025
version actuelle Publié: 20 02-08-06

+0

Ceci est très utile d'un point de vue conceptuel. –

+0

Oui, j'ai trouvé l'article très éclairant. –

1

Mon instinct est que la meilleure chose pour cela est (dans l'ordre de bestitude):

  1. Un prêt système de contrôle de version. A nice list here.
  2. Stockage des diffs. What is a diff here.
  3. Je suppose que la solution de base de données évidente d'avoir une table "ContentVersion", où vous avez plusieurs "Versions" par "Contenu" unique.
2

comme une référence, drupal utilise ce qui suit:

node   node_revision 
----   ------------- 
nid*   vid* 
vid   nid 
...   body 
      ... 

(noeud est essentiellement du type de contenu principal). donc chaque révision est enregistrée, et pour obtenir la dernière, vous prenez le vid actuel du nœud. Si vous êtes intéressé par les diffs, vous pouvez ajouter quelque chose à votre version de node_revision.

Questions connexes