{"id":256,"date":"2011-11-18T14:12:03","date_gmt":"2011-11-18T12:12:03","guid":{"rendered":"http:\/\/www.h-hennes.fr\/blog\/?p=256"},"modified":"2013-07-24T21:10:15","modified_gmt":"2013-07-24T19:10:15","slug":"ajouter-une-etape-dans-le-workflow-mantis","status":"publish","type":"post","link":"https:\/\/www.h-hennes.fr\/blog\/2011\/11\/18\/ajouter-une-etape-dans-le-workflow-mantis\/","title":{"rendered":"Ajouter une \u00e9tape dans le workflow Mantis"},"content":{"rendered":"<p>Dans le suivi d&rsquo;un projet, il peut souvent \u00eatre utile de rajouter une ou plusieurs \u00e9tapes dans le cheminement des bugs ( ou workflow) de Mantis.<\/p>\n<p>Par d\u00e9faut le workflow de Mantis est le suivant<\/p>\n<ul>\n<li>Nouveau<\/li>\n<li>Commentaire<\/li>\n<li>Accept\u00e9<\/li>\n<li>Confirm\u00e9<\/li>\n<li>R\u00e9solu<\/li>\n<li>Ferm\u00e9<\/li>\n<\/ul>\n<p>Dans mon cas,\u00a0 j&rsquo;ai souhait\u00e9 rajout\u00e9 un statut \u00ab\u00a0En attente de mise en production\u00a0\u00bb pour bien identifier les bugs corrig\u00e9s sur la version de pr\u00e9production du site, mais n\u00e9cessitant encore d&rsquo;\u00eatre mis en place sur la version publique du site.<\/p>\n<p>Voici la proc\u00e9dure \u00e0 r\u00e9aliser pour ajouter cette \u00e9tape dans le workflow ( celle-ci peut \u00eatre dupliqu\u00e9e pour ajouter plusieurs nouvelles \u00e9tapes.)<\/p>\n<p>Pour commencer il est n\u00e9cessaire de cr\u00e9er\u00a0 les fichiers <strong>custom_strings_inc.php<\/strong> et <strong>custom_constant_inc.php<\/strong> dans la racine de mantis ( ou de rajouter le contenu \u00e0 la suite, si ces fichiers existent d\u00e9j\u00e0)<\/p>\n<p>Dans le fichier <strong>custom_constant_inc.php <\/strong>nous allons ins\u00e9rer le contenu suivant :<\/p>\n<pre lang=\"php\">\r\n<?php define ( 'PROD', 70 ); ?>\r\n<\/pre>\n<p>Le chiffre 70 correspond au placement dans le cheminement de mantis qui par d\u00e9faut est d\u00e9fini sous la forme suivante\u00a0 par la variable $g_status_enum_string dans le fichier config_defaults_inc.php<\/p>\n<p>$g_status_enum_string\u00a0\u00a0\u00a0 = &rsquo;10:new,20:feedback,30:acknowledged,40:confirmed,50:assigned,80:resolved,90:closed&rsquo;;<\/p>\n<p>Comme le statut que nous souhaitons rajouter est \u00e0 placer entre \u00ab\u00a0assigned(Assign\u00e9)\u00a0\u00bb et \u00ab\u00a0resolved (R\u00e9solu)\u00a0\u00bb, la valeur doit \u00eatre comprise entre 50 et 80. A vous d&rsquo;adapter cette num\u00e9rotation en fonction de l&rsquo;endroit ou vous souhaitez rajouter l&rsquo;\u00e9tape suppl\u00e9mentaire.<\/p>\n<p>Nous allons ensuite \u00e9diter le fichier de configuration <strong>config_inc.php<\/strong> et y rajouter les informations suivantes :<\/p>\n<pre lang=\"php\">\r\n<?php\r\n\r\n\/* Nouveau Workflow *\/\r\n$g_status_enum_string\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 = '10:new,20:feedback,30:acknowledged,40:confirmed,50:assigned,70:waiting_for_prod,80:resolved,90:closed';\r\n$g_status_colors['waiting_for_prod'] = '#31b2c5';\r\n\r\n\/\/R\u00e9difinition du workflow pour chaque statut de bug en y rajoutant notre nouvelle \u00e9tape\r\n$g_status_enum_workflow[NEW_]='20:feedback,30:acknowledged,40:confirmed,50:assigned,70:waiting for prod,80:resolved';\r\n$g_status_enum_workflow[FEEDBACK] ='10:new,30:acknowledged,40:confirmed,50:assigned,70:waiting for prod,80:resolved';\r\n$g_status_enum_workflow[ACKNOWLEDGED] ='20:feedback,40:confirmed,50:assigned,70:waiting for prod,80:resolved';\r\n$g_status_enum_workflow[CONFIRMED] ='20:feedback,50:assigned,70:waiting for prod,80:resolved';\r\n$g_status_enum_workflow[ASSIGNED] ='20:feedback,70:waiting for prod,80:resolved,90:closed';\r\n$g_status_enum_workflow[RESOLVED] ='50:assigned,90:closed';\r\n$g_status_enum_workflow[CLOSED] ='50:assigned';\r\n\r\n\/\/Rajout de notre nouveau statut (la cl\u00e9 du tableau correspond \u00e0 notre constante d\u00e9finie dans custom_constant_inc.php )\r\n$g_status_enum_workflow[PROD] ='20:feedback,50:assigned,70:waiting for prod,80:resolved';\r\n\r\n?>\r\n<\/pre>\n<p>Pour finir nous allons \u00e9diter le fichier <strong>custom_strings_inc.php <\/strong>qui va contenir les traductions pour ce nouveau statut.<\/p>\n<pre lang=\"php\">\r\n<?php\r\n\r\n\/\/Workflow Mantis traduit en Fran\u00e7ais\r\n$s_status_enum_string = '10:Nouveau,20:Commentaire,30:accept\u00e9,40:En attente de validation,50:affect\u00e9, 70:En attente de mise en prod,80:R\u00e9solu ,90:Ferm\u00e9';\r\n\/\/Titre du bouton lors du changement de statut\r\n$s_waiting_for_prod_bug_button = \"En attente de Mise en prod\";\r\n\/\/ Titre du statut dans le listing des bugs\r\n$s_waiting_for_prod_bug_title = \"En attente de Mise en prod\";\r\n\/\/Sujet de l'email envoy\u00e9 pour notifier le changement de statut\r\n$s_email_notification_title_for_status_bug_waiting_for_prod = \"Le bug suivant est en attente de Mise en prod.\";\r\n?>\r\n<\/pre>\n<p>Les variables sont \u00e0 \u00e9crire en relation avec le nom du statut d\u00e9fini dans la variable g_status_enum_string du fichier config_inc.php<br \/>\nDans notre exemple le nom du statut est waiting_for_prod<\/p>\n<p>Une fois cette \u00e9tape termin\u00e9e, uploadez ces nouveaux fichiers sur votre h\u00e9bergement et le nouveau statut sera int\u00e9gr\u00e9 dans le workflow \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dans le suivi d&rsquo;un projet, il peut souvent \u00eatre utile de rajouter une ou plusieurs \u00e9tapes dans le cheminement des bugs ( ou workflow) de Mantis. Par d\u00e9faut le workflow de Mantis est le suivant Nouveau Commentaire Accept\u00e9 Confirm\u00e9 R\u00e9solu Ferm\u00e9 Dans mon cas,\u00a0 j&rsquo;ai souhait\u00e9 rajout\u00e9 un statut \u00ab\u00a0En attente de mise en production\u00a0\u00bb [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[247,6],"tags":[83,82,185,186,184],"class_list":["post-256","post","type-post","status-publish","format-standard","hentry","category-mantis-bugtracker","category-trucs-et-astuces","tag-bugtracker","tag-mantis","tag-statut","tag-suivi-projet","tag-worflow"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/posts\/256","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/comments?post=256"}],"version-history":[{"count":4,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/posts\/256\/revisions"}],"predecessor-version":[{"id":302,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/posts\/256\/revisions\/302"}],"wp:attachment":[{"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/media?parent=256"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/categories?post=256"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/tags?post=256"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}