Fusionforge 6.1 : Nouvelle version du moteur de forge libre

Posté par (page perso) . Édité par Xavier Claude, ZeroHeure, Davy Defaud et Nils Ratusznik. Modéré par ZeroHeure. Licence CC by-sa.
Tags : aucun
26
23
oct.
2018
Gestion de versions

La communauté Fusionforge a publié sa nouvelle mouture du moteur de forge libre éponyme. Voici un petit journal qui retrace les nouveautés apportées par cette version, au‐delà d’un nombre élevé de bogues corrigés.

Sommaire

Avant de commencer, un peu d’historique LinuxFr.org avec des liens vers les précédents articles et journaux permettant de connaître un peu mieux ce projet :

La page Wikipédia Gforge/Fusionforge résume plutôt bien l’historique de ce moteur de forge. Toutefois, pour faire court, Fusionforge hérite du code de Sourceforge mainte fois renommé et divergé. En termes de technologies mises en œuvre, le code applicatif est écrit en PHP, JavaScript (en utilisant du jQuery lorsque possible), Apache HTTPD est utilisé avec le module itk, PostgreSQL est le moteur de base de données. L’intégration avec le système GNU/Linux sous‐jacent est forte, limitant le portage vers d’autres systèmes libres, même si une expérimentation est faite sur FreeBSD.

Documentation

Étrangement, c’est une grande nouveauté ! Fusionforge a toujours été connu pour son manque de documentation, ce qui en rendait l’usage très difficile. Quelques initiatives existaient. Le wiki de Fusionforge était toujours un peu… vide.
Voilà chose faite avec un effort important, même s’il reste beaucoup à faire. Quarante‐six articles pour les utilisateurs et deux articles pour les administrateurs ont été créés et sont régulièrement mis à jour et complétés.
L’approche choisie ici est de créer une page de chaque article par version, avec pour objectif de compléter progressivement la documentation.

Extension du système de widgets

La version 5.0 a intégré le système de widgets provenant du moteur Codendi (énième divergence de Sourceforge). Le nombre de widgets a été progressivement enrichi. En version 5.0, seules les pages d’accueil utilisateur et projet supportaient les widgets. Avec la version 6.1, le système a été étendu à la page d’accueil de la forge et à la page de détail d’un artefact. Ce mécanisme de widget permet une organisation de l’espace plus souple et plus riche. Chaque greffon a aussi la possibilité de proposer des widgets complémentaires.

Quelques nouveautés

Système de suivi

En complément de la refonte complète de l’interface graphique en mode widget, permettant un vaste débogage, le module de suivi (tracker)) a été enrichi.

De nouveaux champs spéciaux ont été ajoutés permettant une gestion plus fine des artefacts :

  • User, une intégration avec la liste des membres du projet ;
  • DateTime, pour gérer une date ;
  • Release, une intégration avec le module de publication de paquets et fichiers ;
  • Effort, permettant une estimation de la charge de traitement d’un artefact.

Le système de flux de travaux (workflow) a été consolidé avec l’intégration de la gestion des rôles utilisateur et des champs obligatoires par changement de statut.

Un mécanisme (expérimental) de formule a été implémenté. Ce mécanisme permet le chaînage de mise à jour, modification et validation du contenu d’un champ.

Le greffon taskboard offrant une prise en charge progressive des fonctionnalités orientés « Agile » permet de créer un nombre illimité de tableaux de bord par projet, ainsi que des filtres simples sur le contenu des tâches (titre ou description).

Gestion documentaire

Il est possible de gérer des versions de document et de mettre en place un système simple de flux de travaux de validation d’un document. Le système de recherche a été amélioré permettant un filtrage plus fin utilisant les dates de modification/création d’un document.
Les répertoires ont maintenant un statut : public ou privé.

Gestion de sources

Les différents greffons CVS, Hg, Git et Subversion ont été revus pour offrir le même niveau de prise en charge et d’intégration en permettant :

  • la gestion en parallèle de chaque type de dépôt : un projet peut avoir un dépôt CVS en même temps qu’un ou plusieurs dépôts Git, par exemple ;
  • la prise en charge de multiples dépôts pour Git, Hg et Subversion ;
  • l’intégration avec le greffon scmhook pour la prise en charge des hooks CVS, Hg, Subversion et Git ;
  • l’intégration avec l’onglet de suivi d’activité ;
  • l’intégration avec le suivi des changements dans les systèmes de suivi, en relation avec les hooks.

API et CLI

  • initialement, Fusionforge offre une API de type SOAP, à présent un greffon (expérimental) offre une API de type REST ;
  • une interface en ligne de commande (expérimentale) a été mise à disposition permettant l’importation et l’exportation de données ;
  • l’API SOAP a été enrichie pour offrir des fonctions consolidées et plus intuitives.

Image Docker

Présentée dans un précédent journal, le conteneur Docker (avec le Dockerfile) est disponible pour réaliser des tests et se familiariser avec ce moteur de forge. Le conteneur docker propose les fonctionnalités suivantes :

  • système de suivi (étendu du greffon taskboard) ;
  • gestion documentaire ;
  • forums ;
  • système d’actualité ;
  • wiki (via les greffon MoinMoin et Mediawiki) ;
  • gestion de sources (Mercurial, Git et Subversion) avec la prise en charge du greffon scmhook ;
  • système de sondages ;
  • gestion de projet ;
  • gestion de publication de paquets et fichiers.

En complément, les greffons suivants sont activés :

  • blocks, pour ajouter des éléments descriptifs sur la majorité des pages standards de chaque outil intégré ;
  • compactpreview, une visualisation façon « rapide survol de souris » d’un élément type projet ou utilisateur ;
  • gravatar, l’intégration avec le système Gravatar ;
  • headermenu, configuration avancée des menus ;
  • message, un système de bandeau d’annonce ;
  • phptextcaptcha, une intégration avec la bibliothèque du même nom ;
  • repositoryapi, qui fournit une API spécifique pour interroger les dépôts SCM ;
  • webanalytics, une intégration avec Matomo (ex. Piwik).

De plus, la syntaxe Markdown est activée dans les descriptions et commentaires d’artefact du gestionnaire de suivi ainsi que dans le greffon blocks.

Le futur

N’hésitez pas à tester, signaler les problèmes que vous rencontrez via les forums et le système de suivi. Pour le futur, la feuille de route est déjà ouverte.

Aller plus loin

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.