web-dev-qa-db-fra.com

Contrôle de la version d'un type de contenu

Je voudrais créer un type de contenu. Mon problème est que ce type de contenu changera fréquemment (tous les 6 mois, je vais ajouter des champs et je supprimerai les autres).

Comment le feriez-vous? J'avais pensé plusieurs options:

1) Créez un champ "Version" avec une valeur par défaut pour chaque version que je fais. Avec le "harok_form_alter", je me cacherais ou je montrerais des champs en fonction de la version.

2) Une autre option consiste à créer un nouveau type de contenu pour chaque version "contenttype_10", "contenttype_11", "contenttype_20", ... Y a-t-il un module qui permet de créer un nouveau type de contenu copiant tous les champs d'un type de contenu existant ?

Qu'est-ce que tu en penses? Quelle version est la meilleure pour vous?

5
user709

Pour être parfaitement honnête, si vous cherchez à conserver le contenu que vous avez déjà, ce type de médidling est le mieux traité par une simple augmentation et une visibilité sur le terrain, à mon avis.

Avoir beaucoup de types de contenu n'est pas vraiment fonctionnel; Il existe une multitude de scénarios tels que la recherche et les vues où tirer de plusieurs types n'est tout simplement pas "travaillant intelligent".

La façon dont je vois c'est que, si je le comprends correctement, CCK créera fondamentalement des tables automatiquement pour vous pour vos champs; Si vous ajoutez des champs, cela ajoute plus de choses aux schémas et aux tables. Si vous souhaitez "supprimer" les champs, CCK détermine ces données, ERGO Cela n'existera plus.

La meilleure façon d'y aller alors, comme je le vois, consiste à augmenter périodiquement votre type de contenu avec les nouveaux champs et à masquer simplement les champs "anciens" avec un module de visibilité sur le terrain. Si vous êtes tellement enclin, vous pourriez le faire de manière programmatique comme vous l'avez fait allusion. Vos anciennes données sont encore disponibles dans le même type (et les mêmes tables) de cette manière.

Pour la sortie "Versioning" de votre type, alors oui, en théorie, vous pouvez ajouter un champ de version au type, mais si vous modifiez périodiquement les champs (et par conséquent le formulaire de nœud), il semble probable que vous puissiez simplement modifier le sortie aussi facilement. Vous devrez probablement mettre à jour différentes vues et modèles de noeuds dans tous les cas. Display Suite Module peut vous aider à accomplir ce dernier peu plus facilement - UI pour gérer l'affichage des nœuds, etc., plutôt que de continuer à vous mettre la main dans les modèles (utiles si une mise à jour fréquemment?)

http://drupal.org/project/ds

http:/grayside.org/field-permissions-plus

4
NikLP