Mantis est un BTS (Bug Tracking System) comme Bugzilla, gForge, Trac etc…
Je ne parlerai pas des intérêts de celui-là plutôt qu’un autre, simplement des spécificités liées au packaging Debian et d’une fonction essentielle manquante : import d’un existant de bugs depuis un tableau type CSV.
J’aborde vite fait la partie LDAP pour recommander de l’oublier – OpenLDAP et Active Directory aussi
Contenu du coffret
La release actuelle de Mantis est 1.1.7, une 1.2 est en préparation et Debian propose la 1.1.6 de stable à « SID ». Les langues sont packagées de base avec Debian.
Quelques spécificités viennent du fait que, comme d’hab, des liens symboliques de certains fichiers de conf (des include PHP) sont en alias vers /etc/mantis/
depuis l’arborescence du logiciel (/usr/share/mantis/www/
).
A noter que pour une fois, on n’a pas un fichier de conf standard dans /etc qu’on adapte, mais un fichier de conf standard dans /usr/share/mantis/www/ qui inclut un fichier « local » en alias vers /etc/mantis/. Il s’agit donc d’écraser des valeurs. Bon, admettons. Le but est de ne pas toucher les fichiers de l’arborescence du produit, pour prévoir l’upgrade plus facilement :
#ls -l /usr/share/mantis/www/conf* lrwx[...] /usr/share/mantis/www/config_db.php -> /etc/mantis/config_db.php -rw-[...] /usr/share/mantis/www/config_defaults_inc.php lrwx[...] /usr/share/mantis/www/config_inc.php -> /etc/mantis/config_inc.php lrwx[...] /usr/share/mantis/www/config_local.php -> /etc/mantis/config_local.php
Ca veut surtout dire de lire d’un côté l’intégralité du fichier /usr/share/mantis/www/config_defaults_inc.php
et de reprendre les paramètres qu’on veut écraser dans /etc/mantis/config_local.php
. Exemple après conf minimaliste :
$g_signup_use_captcha = OFF; $g_administrator_email = 'admin@blabla.fr'; $g_webmaster_email = $g_administrator_email; # a voir avec les utilisateurs : $g_email_receive_own = ON ? $g_limit_email_domain = 'blabla.fr'; $g_smtp_host = 'mon.smtp.blabla.net'; # pas compris, a voir : $g_email_set_category $g_default_language = 'french'; $g_show_footer_menu = ON; # LDAP : completement moisi sur mantis, surtout pour un AD
En gros, je n’y règle que la partie essentielle permettant d’envoyer des mails dans le workflow de vie du bug et je supprime les « CAPTCHA » car usage interne uniquement.
Le LDAP
Il y a quelques paramètres à positionner pour passer en authentification par le LDAP. Génial. Seul hic, de taille, les utilisateurs ne remontent pas – de ce que j’en ai lu – dans l’outil, ça implique une synchro à la main (login/mail/nom/prénom). Pourquoi ? pour pouvoir affecter les rôles (access levels) aux utilisateurs : rapporteurs, développeurs etc.
Enfin, côté Active Directory, la page du manuel ne dit qu’un mot : « TODO » et le fichier de conf indique juste de mettre « samAccountName » au lieu de « uid ».
Je me demande pourquoi j’ai pas eu confiance dans la qualité de l’intégration du LDAP…
Import/export de bug – tableau CSV (XML en fait)
Fonction essentielle si vous ne démarrez pas de rien. Dans mon cas, un fabullissimeux tableau excel de suivi de bug…
De base il n’y a rien pour importer.
Avec google, vous tomberez sur plusieurs trucs plus ou moins foireux.
Je vous la fais courte, le résultat qui marche est le suivant :
Installez le « plug-in manager »
Disponible ici : en version 0.4.0 compatible Mantis 1.1.6
Je résume la doc d’installation et explique 2/3 spécificités liées au packaging Debian – faites un backup complet d’abord (base, fichiers de conf) :
chown www-data /usr/share/mantis/www/ cp -a core.php core.php.orig chown www-data /usr/share/mantis/www/core.php # il y aura 5/6 lignes de code en plus à la fin chown www-data /etc/mantis/custom_strings* ln -sf /usr/share/mantis/www/plugins/ /etc/mantis/plugins # meme s'il n'existe pas pour l'instant
Si l’installation du plugin_manager se passe mal, DROPpez les 3 tables mantis_plugins_* afin que l’installation de l’outil ne détecte plus qu’il est déjà [mal] installé.
Le checkup d’installation de l’outil peut raconter n’importe quoi, exemple si vous oubliez le droit www-data sur /etc/mantis/custom_string.php, l’installation se déroule « bien », vous n’avez juste aucun libellé dans les menus…
Après l’installation, il manquait encore un dernier chown -R www-data /usr/share/mantis/www/plugins/
Vous devriez avoir un nouveau menu disponible, nommé « plugin_manager »
Installez le plug-in « import/export »
Celui-ci disponible sur le même site n’est pas compatible (!) avec Mantis 1.1.6, allez chercher celui-là (2ème message), en version 0.1.0a9, compatible. L’installation cette fois se passe toute seule par le « plugin manager ».
Ensuite, pour balancer la purée, point de fichier CSV, mais du XML ; c’est pas plus mal. Un exemple de syntaxe de ce fichier XML est donné là.
D’autres BTS ?
Si quelqu’un a un retour d’expérience sur Bugzilla, gForge etc, n’hésitez pas.
Mantis sait apparement être relié (dans quelle mesure ?) à un CVS. Pas de mention à SVN.
BUG :
Les e-mails envoyés sont mal encodés : problème classique d’accent etc etc.
MAIS : certains envois sont OK, d’autres non
En attendant mieux, j’ai forcé une correction à la main :
dans /usr/share/mantis/www/core/email_api.php, ligne 766 :
$mail->CharSet = $t_email_data->metadata[‘charset’];
Parfois, ça doit retourner du vide et le header qu’on reçoit est KO :
Content-Type: text/plain; charset= » »
J’ai forcé à : $mail->CharSet = ‘utf-8’;
en attendant mieux
J’ai expliqué le truc ici : http://www.mantisbt.org/bugs/view.php?id=10479
On verra ce que ça donne, vu que je suis sur une ancienne release (mais la dernière sur Debian Stable, tout de même)