A l’occasion de la mise en place d’une nouvelle plateforme avec mantis bugtracker, j’ai constaté que mon expérience utilisateur était loin d’être aussi pratique que les plateformes sur lesquelles je travaille au quotidien.
J’en profite donc pour mettre en place une procédure de mise en ligne pour mantis bugtracker à partager 🙂

Voici donc le plan d’attaque pour configurer et optimiser le bugtracker ( c’est tout à fait subjectif pour mon usage ^^ )

  • Configuration des paramètres généraux ( emails, logo, copyright )
  • Activation de la gestion du temps
  • (Optionnel)Modification du workflow
  • Installation de plugins complémentaires

Il faut savoir que la configuration spécifique de mantis est réalisée dans le fichier config_inc.php située à la racine de votre installation.
Toutes les options disponibles sont quand à elles visibles et bien documentées dans le fichier config_defaults_inc.php ( situé lui aussi à la racine de votre installation )

– Configuration des paramètres généraux

Lorsque vous éditez votre fichier config_inc.php il contient par défaut uniquement les lignes suivantes, relatives à la base de données

$g_hostname = 'localhost';
$g_db_type = 'mysql';
$g_database_name = 'mantis';
$g_db_username = 'user';
$g_db_password = 'password';

Pour commencer nous allons renseigner toutes les informations relatives à l’email de l’administrateur en rajoutant les lignes suivantes :

/* Emails */
$g_administrator_email  = '[email protected]';
$g_webmaster_email      = '[email protected]';
$g_from_name            = '[email protected]';
$g_from_email           = '[email protected]';
$g_return_path_email    = '[email protected]';

On va ensuite affiner les droits d’accès au différents éléments de l’interface

/* Désactivation de l'inscription publique des utilisateurs */
$g_allow_signup = OFF;
 
/* Affichage des éléments de l'interface */
$g_view_changelog_threshold = DEVELOPER;
$g_roadmap_view_threshold = DEVELOPER;
 
/* Restrictions d'accès */
$g_monitor_bug_threshold = DEVELOPER;
$g_limit_reporters            = OFF; //Passer à ON pour que les raporteurs puissent uniquement voir leurs bugs
$g_private_bug_threshold = DEVELOPER;

Concernant l’upload des pièces jointes, mantis utilise par défaut la base de données, ce qui n’est pas très pratique pour faire des backups car la taille de la base grandit excessivement vite,
De mon point de vue il est donc préférable d’utiliser le mode d’upload par fichiers, ( au passage on exclus les extensions non sécurisées )

/* Stockage des fichiers */
$g_file_upload_method = DISK;
$g_absolute_path_default_upload_folder = '/home/dir/myuploaddir/';
$g_disallowed_files        = 'java,exe,sh';

Pour finir nous pouvons personnaliser un peu l’apparence du bugtracker

/* Apparence */
$g_default_language        = 'french';
$g_window_title            = 'Mon super bugtracker';
$g_logo_image            = 'images/logo_bt.jpg';
$g_ico_link             = 'images/favicon.ico';

La configuration générale est à présent OK

 – Activation de la gestion du temps :

Pour suivre au mieux les actions de chacun, il est nécessaire d’activer la gestion du temps, pour cela il faut insérer les lignes suivantes :

/* Gestion des heures de travail et des date limites */
$g_due_date_update_threshold = DEVELOPER;
$g_due_date_view_threshold = REPORTER;
$g_time_tracking_enabled = ON;
$g_time_tracking_with_billing = ON;

Cela permettra d’afficher à la fois le champ due_date (date de livraison souhaité ), et la possibilité de saisir la durée de chaque action.

Date échéance mantis bugtrackerDurée action mantis bugtracker

Il sera ainsi possible de connaître avec précision le temps passé sur chaque bug.

  – (Optionnel)Définition du workflow :

Le workflow par défaut de mantis est le suivant :

nouveau    > commentaire >   accepté > confirmé > affecté > résolu > fermé

Si vous souhaitez rajouter une nouvelle étape dans le workflow,vous pouvez consulter l’article qui détaille comment procéder : Ajouter une étape dans le workflow Mantis Bugtracker

 – Installation des plugins

L’installation de mantis est à présent terminée, cependant pour optimiser le processus de travail je mets toujours en place les plugins suivants :

Agenda : Permets de visualiser les dates d’échéances des bugs sur un calendrier
Reminder : Envoi hebdomadaire d’un rappel des bugs en cours à tous les développeurs
FileUpload : Plugin d’envoi Drag & Drop des pièces jointes

Ces plugins ont été réalisés par mes soins pour répondre à des besoins particuliers, n’hésitez pas à m’envoyer vos retours et à les partager 😉

Une fois l’ensemble de ces étapes effectuées, mon bugtracker est pleinement opérationnel et peut commencé à se remplir de nouveaux bugs 🙂