Nouveautés du mois dans le svn Xoops

Date 19/08/2006 | Sujet : XOOPS

Xoops note d'informationSi les vacances sont propices à se changer les idées, voyager, rencontrer d'autres gens ou découvrir d'autres environnements, les développeurs du noyau Xoops continuent à travailler.

Voici un résumé non exhaustif des travaux réalisés depuis début Juillet ou en cours.

Passage du trunk en version 2.3

La version de développement courante (le trunk, voir plus bas) a été taggée 2.3-dev début Juillet 2006, marquant ainsi la fin de la phase de développement expérimentale de la branche 2.3. Quelques tâches préliminaires doivent y être effectuées afin de préparer l'arrivée de certaines nouveautés (comme le refonte de l'assistant d'installation afin que celui-ci puisse recevoir les nouvelles options).
Puis la branche 2.3-alpha sera appliquée au trunk. L'objectif avoué de l'équipe de développement étant d'enterrer la branche 2.2 trop instable, les quelques fonctions spécifiques des 2.3 alpha qui auraient nécessité trop de temps avant d'être finalisées ne feront pas partie de la 2.3.0. Ainsi le nouveau systême de templates ne supportera officiellement que les formats HTML et XHTML, le support de formats arbitraires (Xul, PDF, OpenOffice..) n'étant, s'ils restent possibles, pas officiellement supportés.

D'un point de vue utilisateur, les principales fonctions de la 2.2 qui feront partie de la première 2.3.x seront:

  • l'interface administration disposant disposant d'outils de navigation remaniés
  • le nouveau systême de gestion de blocs
Les autres fonctionnalités (profils étendus, messagerie) arriveront progressivement au fur et à mesure dans d'autres 2.3.x jusqu'à ce qu'enfin, toutes les fonctions de la branche 2.2 ayant été réimplémentées, le numéro de version puisse être augmenté en 2.4.0.


Nouvel assistant d'installation de Xoops

nouvel assistant d'installationComme vous pouvez le constater en cliquant sur l'image jointe, l'assistant d'installation de Xoops bénéficie d'une nouvelle présentation, basée sur le nouveau logo de Xoops intégré avec le nouveau thème par défaut, afin de mieux vous guider dans les étapes d'installation.

Ce qui est plus important c'est la réécriture de cet assistant. Le découpage en 10 étapes numérotées, affichées comme un itinéraire routier, permettront à l'utilisateur de mieux se situer dans le processus d'installation. Des écrans ont été ajoutés pour fournir des conseils, d'autres ont été découpés pour les rendre plus accessibles. Un système de liens hypertexte permet d'accéder directement à une étape antérieure pour modifier la valeur d'un paramètre déjà saisi par exemple. Besoin d'explications complémentaires ? un clic sur une bouée de secours affichera une aide contextuelle sur les champs à compléter.

Il est possible de voir fonctionner cet assistant en cliquant sur l'image (gif animé) ou en téléchargeant puis en procédant à l'installation de la version de développement de la 2.3 sur le svn (voir explications plus bas)

Zeta1 : le nouveau thème par défaut

Dans le cadre des améliorations nécessaires pour que le noyau Xoops puisse devenir compatible avec les standards xhtml/css, un nouveau théme par défaut a été réalisé. Ce thème est issu d'une collaboration entre Snowinmyhands (une des personnes derrière le site xoopsdesign.com), et Leo Stotch.

Initialement proposé à la communauté sous le nom de Zeta Reticuli, il sera intégré dans les futures versions en remplacement du thème default actuel. Une version basique du thême déjà publié est d'ores et déjà présente dans le svn, et celle-ci sera mise à jour progressivement durant les semaines qui viennent, afin que XOOPS puisse bénéficier de la plupart du travail réalisé par Snow et Leo (en particulier la réecriture de la plupart des templates systême afin que XOOPS génère par défaut du contenu qui soit non seulement valide mais également sémantiquement correct).

Interface d'administration

Depuis quelques jours skalpa a commencé à travailler, entre autres, sur l'interface d'administration. L'objectif est de la rendre plus accessible et plus facile d'utilisation. Comme pour l'assistant d'installation, cette première tâche n'a pas pour but une réecriture complête de cette partie de XOOPS mais constitue plutôt une phase préliminaire qui, tout en apportant quelques améliorations d'un point de vue utilisateur, permettra surtout aux développeurs de pouvoir améliorer cette partie beaucoup plus facilement que le code actuel, complexe et agé, ne le permet, et rendra cette partie de XOOPS prête pour l'intégration des nouveautés de la branche de 2.3 (comme les panneaux d'administration externes présents dans la 2.3-a2).

Centre de contrôle XoopsL'écran d'accueil de l'administration, appelé centre de contrôle, est agrémenté d'un look plus moderne se répartira en trois espaces :

  • Réglages (pour la configuration du système)
  • Outils d'administration (fonctionnalités additionnelles comme l'assistant d'installation)
  • Atelier (pour les pages qui appartiennent aux modules)

Comme on peut le constater dans les deux autres copies d'écran ci-dessous, l'intégration d'un menu vertical plux explicite et la suppression de l'affichage des images représentant chaque module installé permettra un accès plus intuitif aux différents éléments de paramétrage

Préférences system  Module article

Les copies d'écran affichées pour cette interface d'administration sont issues d'une branche de travail, elles sont donc susceptibles d'évoluer.

Méthodes de travail

Depuis la reprise de skalpa comme leader du développement du noyau des modifications ont été réalisées dans l'organisation du "svn" et dans la façon dont les tâches sont réalisées (modifications qui, entre autres, nous permettent de réaliser cet article). On pourrait qualifier ce mot (svn) comme un entrepôt qui stocke les dernières versions de développement, les correctifs de bugs,etc... Voyons comment il s'organise :

Index of /XoopsCore

  • trunk (dernière version de développement opérationnelle)
  • tags
  • releases
    • 2.0.14
    • 2.3.0-a1 (alpha 1)
    • 2.3.0-a2 (alpha 2)
  • branches
    • 2.0.x
      • 2.0 main
      • 2.0.14
      • 2.0.15
    • 2.2.x
    • 2.3.x
  • tasks
    • 120976-installer
    • 123353-authentication
    • 123542-admin
    • 1483025-blocks
    • 1516091-zeta1
    • 1528144-workbench
    • Etc...

Le tronc (trunk) représente la dernière version de développement en cours. Les développeurs travaillent sur des tâches qui sont affectées individuellement et réalisées de façon séparées, puis revues collectivement et dans le cas où les modifications réalisées seraient approuvées, appliquées au trunk. Les développeurs ayant un accès direct au SVN utilisent pour leurs propres travaux les outils mis à la disposition des contributeurs externes (les trackers sur le site sourceforge, qui sont l'équivalent de gestionnaires de tâches).
Ainsi, quand un développeur décide de travailler sur une tâche particulière, voici les opérations effectuées:

  1. Il crée une tâche sur sourceforge, dans la rubrique "patches", et se l'attribue
  2. Il ajoute un branche de travail sur le SVN (dans le dossier /branches/tasks/), qu'il nomme en fonction de la tâche (chaque patch ayant un numéro, le dossier est nommé 123456-résumé)
  3. Il travaille sur cette branche
  4. Une fois le travail réalisé, il met à jour le gestionnaire de tâches et attend que son travail soit passé en revue (si la tâche est importante, il peut également à cet effet ouvrir une discussion sur les forums de sourceforge, sinon ceci se passe en utilisant la fonction de commentaires du gestionnaire de tâches).
  5. Une fois le code approuvé, il est appliqué au trunk (ainsi, tout ce qui est disponible dans le trunk est censé être opérationnel).

Tout ceci se passe de façon publique, et les opérations peut être suivies facilement sur des listes de diffusion (accessibles sur sourceforge):

  • Les opérations effectuées sur le SVN sont envoyées à la liste xoops-cvs2
  • Les opérations effectuées sur le gestionnaire de tâches à la liste xoops-trackers
  • Les discussions pouvant avoir lieu sont sur le forum de développement

Il faudrait qu'un maximum de développeurs (ou testeurs) utilisent cette version dans le but de nous transmettre des rapports de bugs avant même que le code fasse l'objet d'une nouvelle version.

Explication sur le principe des développements avec subversion

Deux notions sont particulièrement importantes avec un gestionnaire de versions: les branches et les tags (étiquettes).
Pour être concret, nous allons prendre l'exemple d'un projet arrivant à la version 1.0. Comme rien n'est parfait, le principal mainteneur du projet va créer ce que l'on appelle une étiquette 1.0 sur le projet (dans le référentiel) pour permettre de revenir sur cette version en cas de bogue. Cela permettra également aux personnes de pouvoir récupérer cette version à partir du référentiel.

Voici comment nous pourrions représenter ce marquage dans l'arbre de développement:







Afin de ne pas laisser dormir le projet, les développeurs continuent le développement du projet pour préparer la future version majeure: la 2.0.







Le projet ayant beaucoup de succès, des bogues sont remontés dans le gestionnaire de bogues (bugtracker). Comme il n'est pas possible de sortir pour le moment la version 2.0, qui n'est encore qu'en phase de développement, les développeurs chargés de maintenir la version 1.0 vont récupérer celle-ci dans le référentiel de Subversion (grâce à l'étiquette 1.0) pour commencer le développement d'une version mineure 1.1. Pour cela, ils créent une branche comme indiqué ci-dessous:









Ils effectuent les modifications nécessaires et appliquent les patchs (correctifs) envoyés par les utilisateurs de la version 1.0. Lorsque tout semble bon, ils versionnent cette correction et l'étiquettent 1.1 afin que les utilisateurs puissent maintenant télécharger cette nouvelle version:










Dès que tout semble bon, les développeurs reprennent le développement de la version majeure 2.0. Après avoir effectué les dernières vérifications, ils la versionnent et la publient en 2.0:









Pour les projets plus ou moins importants, il est possible que les mêmes développeurs soient à la fois chargés de maintenir le projet existant et les projets versionnés et publiés. Ceci ne pose aucun problème car il est possible d'avoir des versions différentes d'un même projet (version 1.x, 2.x, version de développement) dans des répertoires différents du poste de développement.

Comment faire pour récupérer ces versions ?

Sous Windows

Tout d'abord il vous est possible d'en visualiser le contenu avec votre navigateur à l'adresse suivante: http://svn.sourceforge.net/viewvc/xoops/XoopsCore/

Une autre solution est d'installer sur votre poste de travail un logiciel qui pourra aller récupérer directement à partir d'une url que vous aurez fournie les fichiers contenus dans la branche que vous aurez choisie. Utilisateurs d'un système windows vous pouvez télécharger Tortoisesvn. Pour les linuxiens, svn est installé par défaut, mais pour ceux qui voudraient un équivalent de Tortoise, vous pouvez télécharger kdesvn, par exemple.

Tortoisesvn  Tortoisesvn

Une fois le logiciel installé, faites un clic droit avec l'explorateur windows et sélectionnez tortoise dans le menu contextuel, saisissez l'adresse (exemple : https://svn.sourceforge.net/svnroot/xoops/XoopsCore/trunk, puis définissez le répertoire de destination.

Sous Mac OS X

Tout comme sous Windows, il est possible de visualiser le contenu avec un navigateur à l'adresse http://svn.sourceforge.net/viewvc/xoops/XoopsCore/

Vous pouvez également installer sur votre poste de travail SVN. Pour cela, téléchargez la dernière version de subversion. Vous trouverez également une version pré-compilée pour la plate-forme Apple ici.

Bien qu'il existe des interfaces graphiques (comme svnX), nous utiliserons pour la suite le Terminal et ligne de commande. Une fois Subversion téléchargé et installé, ouvrez votre Terminal (/Applications/Utilitaires/Terminal) et tapez:
cd Desktop
validez, puis tapez:
svn co https://svn.sourceforge.net/svnroot/xoops/XoopsCore/trunk
et validez. Lorsque le logiciel vous le demande, tapez t et validez. Le téléchargement effectué, vous pouvez quitter le Terminal. Vous devrez maintenant trouver un dossier trunk sur votre Bureau.

Développeurs, testeurs, fans de xoops, ne manquez pas la prochaine édition de cette note d'information prévue pour dans un mois environ.

Kris, Philou et skalpa ont également participé à la rédaction de cet article.

Liens :

Développement Xoops sur sourceforge : https://sourceforge.net/projects/xoops
Suivi des bugs, demandes et corrections : https://sourceforge.net/tracker/?group_id=41586
Forum sur le développement du noyau : https://sourceforge.net/forum/forum.php?forum_id=347994
Mailing listes https://sourceforge.net/mail/?group_id=41586
Site de développement du noyau : http://devteam.xoops.org/
SVN
Tortoise SVN for Windows :http://tortoisesvn.tigris.org/
KDEsvn : http://www.alwins-world.de/programs/kdesvn/index.html
Version control avec svn eBook: http://svnbook.red-bean.com/




Cet article provient de Communauté Francophone des Utilisateurs de Xoops
https://www.frxoops.org

L'adresse de cet article est :
https://www.frxoops.org/modules/news/article.php?storyid=1072