Structure du serveur CVS
Modules CVS:
Pour l'heure, 4 modules cvs existent:
- wikiwebweaver-common:
Contient README, COPYING, notes d'installation, etc - wikiwebweaver-engine:
Contient le moteur wikiwebweaver - wikiwebweaver-data:
Contient un wiki de base destiné aux releases - wikiwebweaver-experimental:
Contient de futurs modules, plugins, etc
Ces 4 modules sont combinés dans le pseudo-module wiki.
Édition:
Un client CVS doit être utilisé pour modifier tout code d'un des trois premiers modules SAUF les pages du wiki de base c-à-d wikiwebweaver-data/data/pages/*
Celles-ci sont accessibles et éditables via ce wiki.
Un mécanisme (cvs export) permet d'installer la dernière version du code CVS sur ce serveur, sauf les pages de ce wiki de développement qui sont préservées.
Une vérification de syntaxe s'opère automatiquement avant chaque commit pour éviter que le code du CVS ne soit cassé et ne rende le site inopérable néanmoins cette vérification n'est que syntaxique donc vous êtes priés de vérifier un minimum le bon fonctionnement de votre code et ainsi éviter de devoir faire appel à l'administrateur pour réparer les dégâts à la main sur le serveur.
Un mécanisme (cvs commit) permet de mettre à jour le serveur CVS d'après le wiki et ce, uniquement pour les pages de ce wiki de développement qui ne commencent pas par Devel*.
Détails du commit de ce wiki:
Lors d'un commit, les opérations suivantes sont effectuées sur une copie (donc ce wiki reste intact ainsi que ses archives):
- Toutes les pages Devel* sont ôtées
- Ainsi que leurs occurrences dans PagesDB
- Les versions et auteurs des pages sont réinitialisés à '1' et 'webmaster' dans le header des pages ainsi que dans PagesDB mais la date de création est conservée.
- Les références aux versions antérieures sont ôtées de PagesDB
- Les versions antérieures sont ôtées du répertoire archives
- La page de 'settings' est ôtée car elle doit être gérée directement via CVS.
- Les pages créées depuis le dernier update sont d'abord ajoutées localement à CVS (cvs add)
Reste à mettre en place les moyens de contrôler la suppression de pages depuis le wiki vers le serveur.
Vendor Tags, Release Tags etc:
Le point de départ du code disponible sur le serveur CVS est le code de Jean-Seb
La Vendor branch (1.1.1) est donc naturellement associée à un tag portant le nom WikiWebWeaver_JSeb
Ce code pour la quasi totalité provient de la release 1.0 beta 2 de WikiWebWeaver telle que téléchargeable sur le site de Jean-Seb.
Le Release tag de la version 1.1.1.1 est donc naturellement V1_0-b2.
C'est à partir de cette révision que la branche principale démarre.
Les fichiers ajoutés depuis lors ne comportent donc pas de Vendor branch.
Le module CVS wikiwebweaver-experimental:
Deux autres versions du code de Jean-Seb existent, des versions qui consistent en général en des nouveaux plugins et modules soit utilisés dans la soi-disant version 1.0 beta 2 utilisée sur digi-sight, soit utilisés dans ce qui serait devenu la release 1.0 beta 3.
Bref tous ces nouveaux plugins et modules se retrouvent dans le module cvs wikiwebweaver-experimental car ils ne sont pas prêts pour une intégration immédiate à une release.
Ces nouveaux fichiers portent bien sûr le même Vendor tag mais leur Release tag est soit V1_0-b2-DIGISIGHT, soit V1_0-b3 selon leur origine.
Lorsqu'ils seront prêts à intégrer une release, ils seront physiquement recopiés dans le module cvs wikiwebweaver-engine sur le serveur (afin de conserver leur historique CVS) puis ôtés du module cvs wikiwebweaver-experimental.
Deux exceptions existent:
- le plugin gallery
- le module image
Ici nous avons affaire à des modifications de fichiers déjà présents dans la release 1.0 beta 2.
Ils ont donc été directement importés dans le module cvs wikiwebweaver-engine avec leur Release tag. cf par exemple le graph du module image
Le merge entre la Vendor branch et le tronc principal n'a pas encore été réalisé.













