Download Mantis Mantenurako

Transcript
Mantis Mantenurako
Sistema para la Gestión de Mantenimiento Correctivo
Versión: 1.0.1
Alfredo Barrainkua Zallo
Diciembre de 2008
Creative Commons – BY-SA-NC
Lizentzia laburpena:
Euskaraz English Castellano
Mantis Mantenurako :: Sistema para la Gestión de Mantenimiento Correctivo
Índice
1. Introducción..........................................................................................................................................3
2. Instalación.............................................................................................................................................4
2.1. Ajustes post-instalación.................................................................................................................6
3. Configuración........................................................................................................................................7
3.1. Banner superior.............................................................................................................................7
3.2. Direcciones de correo....................................................................................................................8
3.3. Aviso de acciones propias..............................................................................................................8
3.4. Ventana del navegador...................................................................................................................8
3.5. Autenticación anónima..................................................................................................................8
3.6. Recuperación de Passwords..........................................................................................................8
3.7. Autosubscripción...........................................................................................................................9
3.8. Carga de ficheros...........................................................................................................................9
3.9. Documentación..............................................................................................................................9
3.10. Soporte de idiomas......................................................................................................................9
3.11. Usuarios de LDAP.....................................................................................................................10
3.12. Captcha......................................................................................................................................11
4. Personalizando el sistema....................................................................................................................12
4.1. Versión y Reportes Avanzados....................................................................................................12
4.2. Barras de menú y leyendas..........................................................................................................12
4.2.1. ChangeLog y RoadMap.......................................................................................................12
4.3. Manual de usuario.......................................................................................................................13
4.4. Tiempo de recarga de página.......................................................................................................13
4.5. Estado en reapertura de incidencia..............................................................................................13
4.6. Vista de resumen..........................................................................................................................13
4.7. Reproducibility, Severity y Priority.............................................................................................13
4.8. Avisos de correo...........................................................................................................................14
4.9. Cambiar el workflow...................................................................................................................14
4.10. Campos personalizados.............................................................................................................14
5. Traducciones.......................................................................................................................................17
6. Añadiendo usuarios.............................................................................................................................20
7. Creando proyectos...............................................................................................................................21
8. Estadísticas..........................................................................................................................................25
9. Mantis Reminder.................................................................................................................................27
10. Actualización.....................................................................................................................................29
11. Fichero de Configuración..................................................................................................................31
12. Referencias........................................................................................................................................35
13. Autor..................................................................................................................................................36
Mantis Mantenurako
Iurreta GLHB Institutua ✹ Olaburu 19, Iurreta – Bizkaia ✹ Tel: 944 66 88 00
2
Mantis Mantenurako :: Sistema para la Gestión de Mantenimiento Correctivo
1. Introducción
Es cada vez más importante la gestión y control de coste de las incidencias que se
producen tanto en el uso de los sistemas informáticos como de las instalaciones en
general. La forma más fácil es con un sistema de control de incidencias basado en
tickets, asignaciones de tareas y control del coste de resolución. Además es importante
obtener rertes de las distintas áreas y de los plazos de resolución de las incidencias.
Junto a ello, es importante mantener un sistema de comunicación entre el informado y el
resolvedor de la incidencia, con almacenamiento del knowledge adquirido en la
resolución de la misma.
Se va a utilizar aquí, el software Mantis BugTracker. Este software está diseñado para la
gestión de avisos de bugs en el desarrollo de software, pero con un poco de
personalización, puede realizar el cometido de gestión de incidencias de mantenimiento.
Mantis es una aplicación LAMP, y por lo tanto necesita tener instalados MySQL, PHP
y Apache. La instalación de estos paquetes queda fuera del alcance de este documento.
La instalación la vamos a realizar en el directorio konponketak del servidor Web de
una distribución basada en Debian.
La versión de Mantis será la 1.1.2 y la de JpGraph, la 2.3.3. Más tarde, migraremos
Mantis a la versión 1.1.4.
NOTA: Se puede personalizar muchísimo más, modificando el código, y además, es
bastante fácil. No se ha querido hacerlo, pues supone un problema para las
actualizaciones.
Mantis Mantenurako
Iurreta GLHB Institutua ✹ Olaburu 19, Iurreta – Bizkaia ✹ Tel: 944 66 88 00
3
Mantis Mantenurako :: Sistema para la Gestión de Mantenimiento Correctivo
2. Instalación
La instalación es la típica de una aplicación LAMP. Procedemos a descargar el paquete
al directorio /root/download, descomprimirlo, y copiarlo a un directorio del servidor
web. En nuestro caso /var/www/konponketak. La versión estable actual es la 1.1.2.
mkdir /root/download
wget ­P /root/download http://downloads.sourceforge.net/mantisbt/mantis­1.1.2.tar.gz
cd /root/download
tar zxf mantis­1.1.2.tar.gz
mkdir /var/www/konponketak
cp ­r mantis­1.1.2/* /var/www/konponketak/
Antes de crear la base de datos, damos los permisos necesarios en MySQL. Supongamos
que el nombre de la base de datos es bugtracker. El usuario de la base de datos es
UNNOMBREDEUSUARIO y su contraseña es UNACONTRASEÑA.
Desde dentro de mysql:
mysql> grant all on bugtracker.* to 'UNNOMBREDEUSUARIO'@'localhost' identified by 'UNACONTRASEÑA';
Ahora, abrimos un navegador y apuntamos a nuestro sistema. Si lo hacemos en local
será http://localhost/konponketak. La primera vez que nos conectamos, nos lanza la
página de configuración.
Mantis Mantenurako
Iurreta GLHB Institutua ✹ Olaburu 19, Iurreta – Bizkaia ✹ Tel: 944 66 88 00
4
Mantis Mantenurako :: Sistema para la Gestión de Mantenimiento Correctivo
Introducimos los parámetros de nuestro servidor MySQL, y crea la estructura de la base
de datos a utilizar por Mantis.
Tras la instalación, nos encontraremos con el fichero de configuración de nuestra
instalación, creado en el directorio de la aplicación. El nombre del fichero es
config_inc.php. Su contenido será algo similar a:
<?php $g_hostname = 'localhost'; $g_db_type = 'mysql'; $g_database_name = 'bugtracker'; $g_db_username = 'UNNOMBREDEUSUARIO'; $g_db_password = 'UNACONTRASEÑA'; ?>
Este contenido es el mínimo requerido, y es para poder acceder a la base de datos.
La configuración general por defecto se encuentra en el fichero config_default.php.
Este no lo vamos a modificar. Hay también un fichero con ejemplos llamado
config_inc.php.sample. Su inspección puede resultar muy instructiva.
Mantis Mantenurako
Iurreta GLHB Institutua ✹ Olaburu 19, Iurreta – Bizkaia ✹ Tel: 944 66 88 00
5
Mantis Mantenurako :: Sistema para la Gestión de Mantenimiento Correctivo
2.1.
Ajustes post-instalación
Tras la instalación hay que realizar dos cosas: Primero, modificar el password del
administrador. Después, borraremos el directorio de la primera ejecución.
Las credenciales del usuario administrador al instalar son las siguientes:
Usuario:
Password:
administrator
root
Nos autentificamos en el sistema, y en la barra de menú superior, pulsamos en My
Account. En el panel que aparece, modificamos la contraseña.
Seguidamente, procedemos a borrar el directorio admin de la aplicación.
rm ­r /var/www/konponketak/admin
Listo!
Mantis Mantenurako
Iurreta GLHB Institutua ✹ Olaburu 19, Iurreta – Bizkaia ✹ Tel: 944 66 88 00
6
Mantis Mantenurako :: Sistema para la Gestión de Mantenimiento Correctivo
3. Configuración
Hay muchas opciones a configurar. Desde la identidad corporativa de la escuela, hasta
los roles y el workflow. Hay configuraciones que se realizan para toda la instalación, y
han de realizarse en el fichero de configuración. Hay otras configuraciones, que se
aplican a proyectos concretos. Estas han de ser realizados desde la interface de la
aplicación. Estos ajustes se almacenan en la base de datos del programa.
Vamos a ir viendo estos ajustes. Primero, veremos los realizados en el fichero de
configuración.
3.1.
Banner superior
Por defecto, aparece el logotipo de Mantis. Nos interesa poner el de nuestra escuela.
Para ello, le diremos a la aplicación que coja el banner, de un fichero en concreto. En el
fichero de configuración pondremos:
$g_top_include_page = 'nire­institutua.php'
El contenido de ese fichero será el siguiente:
<?php if ( is_page_name( 'login_page' ) ) { $t_align = 'center'; } else { $t_align = 'left'; } echo '<div align="', $t_align, '">'; echo '<a href="http://www.nire­institutua .net" title="Nire­institutua GLHB Institutua"><img border="0" width="528" height="152" alt="Nire Institutua" src="images/goikoikurra2009.png" /></a>'; echo '</div>'; ?>
Le decimos que muestre el dibujo goikoikurra2009.png que se encuentra en el
directorio images. No debemos olvidarnos de copiar en dicho directorio el logotipo de
nuestra escuela, con una resolución 528x152 pixels. Para que el servidor web lo pueda
leer, le activaremos el permiso de lectura.
chmod +r images/goikoikurra2009.png
Mantis Mantenurako
Iurreta GLHB Institutua ✹ Olaburu 19, Iurreta – Bizkaia ✹ Tel: 944 66 88 00
7
Mantis Mantenurako :: Sistema para la Gestión de Mantenimiento Correctivo
Podemos poner otros tamaños de logotipo, pero tendremos que indicarlo en el fichero
del código PHP.
3.2.
Direcciones de correo
Vamos a adecuar las direcciones de correo a nuestra escuela, para que sean direcciones
reales. De lo contrario, no se podría comunicar de ninguna manera. En el fichero de
configuración añadiremos:
# Posta $g_limit_email_domain = 'nire­institutua .net'; $g_smtp_host = 'posta.nire ­institutua.net'; $g_smtp_username = ''; $g_smtp_password = ''; $g_administrator_email = 'sare­admin@nire­institutua.net'; $g_webmaster_email = 'sare­admin@nire­institutua.net'; $g_from_email = '[noreply­ezerantzun]konponketak@nire­institutua.net'; $g_from_name = 'Konponketa Kudeaketa Sistema'; $g_return_path_email = 'sare­admin@nire­institutua.net'; 3.3.
Aviso de acciones propias
Vamos a indicarle que avise por correo electrónico al realizador de las acciones, además
de al destinatario que corresponda. En el fichero de configuración pondremos:
$g_email_receive_own = ON;
3.4.
Ventana del navegador
Vamos a poner el texto de la ventana del navegador.
$g_window_title = 'Iurreta Institutua :: Konponketak';
3.5.
Autenticación anónima
No vamos a permitir la autenticación anónima.
$g_allow_anonymous_login = OFF; 3.6.
Recuperación de Passwords
Tiene un sistema de recuperación de contraseñas perdidas. Para ello, hay un enlace en
la ventana de autenticación. Vamos a deshabilitarlo.
$g_lost_password_feature = OFF; Mantis Mantenurako
Iurreta GLHB Institutua ✹ Olaburu 19, Iurreta – Bizkaia ✹ Tel: 944 66 88 00
8
Mantis Mantenurako :: Sistema para la Gestión de Mantenimiento Correctivo
3.7.
Autosubscripción
Vamos a deshabilitar el sistema de autosubscripción.
$g_allow_signup = OFF;
3.8.
Carga de ficheros
Vamos a permitir la carga de ficheros. Puede ser interesante para enviar gráficos de
captura de pantallas, etc. Si detectamos su abuso, podemos deshabilitarlo más tarde.
$g_allow_file_upload = ON;
3.9.
Documentación
Cada proyecto puede tener su zona de documentación. Vamos a habilitarla. Si no vamos
a utilizarlo, conviene deshabilitarlo para que el usuario tenga menos ruido visual en la
pantalla.
$g_enable_project_documentation = ON;
3.10.
Soporte de idiomas
Aunque el Euskara no está soportado oficialmente, hay ficheros (aunque algo antiguos),
con la traducción a nuestro idioma. Uno algo (solamente algo) más actualizado que el
del proyecto “Hontza” lo podéis encontrar en: http://www1.iurreta-institutua.net/
deskargak/strings_basque.txt. El nombre del fichero ha sido modificado, para que el
nombre del idioma aparezca en ingles. El resto de idiomas está de esta forma.
Esperemos que en próximas versiones esté soportado oficialmente este idioma.
Copiamos el fichero strings_basque.txt en el directorio lang de la aplicación.
cp strings_basque.txt /var/www/konponketak/lang/
Ponemos Basque como idioma por defecto
$g_default_language = 'basque'; Establecemos la lista de idiomas a seleccionar por los usuarios.
$g_language_choices_arr = array( 'auto', 'basque',
'catalan', 'english', 'french', 'german', 'spanish' Mantis Mantenurako
Iurreta GLHB Institutua ✹ Olaburu 19, Iurreta – Bizkaia ✹ Tel: 944 66 88 00
9
Mantis Mantenurako :: Sistema para la Gestión de Mantenimiento Correctivo
); Cuando se selecciona “auto”, se selecciona el idioma del navegador. Este es el mapeo de
idiomas :
$g_language_auto_map = array( 'ca' => 'catalan', 'en­us, en­gb, en­au, en' => 'english', 'eu' => 'basque', 'fr­ca, fr­be, fr­ch, fr' => 'french', 'de­de, de­at, de­ch, de' => 'german', 'es­mx, es­co, es­ar, es­cl, es­pr, es' => 'spanish' ); Cuando una cadena no está traducida al idioma de la interfaz, mostrar la cadena
correspondiente al siguiente idioma:
$g_fallback_language = 'english'; 3.11.
Usuarios de LDAP
Para no tener que crear los usuarios uno a uno, y definir su contraseña y su correo
electrónico, vamos a obtenerlos de un directorio LDAP. Como en nuestro caso
solamente van a usar el sistema de incidencias los profesores, el directorio LDAP va a
ser el Active Directory de Microsoft.
Primero instalamos el módulo LDAP de PHP5.
aptitude install php5­ldap
Para que apache lo tenga en cuenta, debemos de reiniciarlo.
/etc/init.d/apache2 restart
En nuestro fichero de configuración estableceremos el método de autenticación.
$g_login_method = LDAP;
Luego pondremos los parámetros para la autenticación LDAP. Lo que sigue es un
ejemplo.
$g_ldap_server = 'ldap.nire­institutua.net'; $g_ldap_port = '389'; $g_ldap_root_dn = 'ou=irakasleak,dc=nire­institutua,dc=net'; $g_ldap_uid_field = 'sAMAccountName';
$g_ldap_bind_dn = 'cn=ldapbind,dc=nire­institutua,dc=net'; $g_ldap_bind_passwd = 'LDAPBINDPASAHITZA'; $g_use_ldap_email = ON;
Téngase en cuenta, que los usuarios deben introducirse una vez en el sistema para que
Mantis Mantenurako
Iurreta GLHB Institutua ✹ Olaburu 19, Iurreta – Bizkaia ✹ Tel: 944 66 88 00
10
Mantis Mantenurako :: Sistema para la Gestión de Mantenimiento Correctivo
puedan ser seleccionados.
3.12.
Captcha
Cuando el usuario entra por primera vez al sistema para establecer su contraseña, se
encuentra que tiene que validarse introduciendo un código que se le presenta como
imagen. A esta imagen se le llama captcha. Vamos a establecer la tipografía a utilizar.
Utilizaremos la tipografía Bitstream Vera, por encontrarse en todos los sistemas Linux.
En el fichero de configuración pondremos:
$g_system_font_folder = '/usr/share/fonts/truetype/ttf­bitstream­vera/';
$g_font_per_captcha = 'Vera.ttf';
Esto solo sucede en los usuarios que son invitados por el sistema. No con los del Active
Directory.
Mantis Mantenurako
Iurreta GLHB Institutua ✹ Olaburu 19, Iurreta – Bizkaia ✹ Tel: 944 66 88 00
11
Mantis Mantenurako :: Sistema para la Gestión de Mantenimiento Correctivo
4. Personalizando el sistema
Hay otro tipo de personalización, que no entra ya en el campo de cómo funciona el
programa, sino de lo que ofrece al usuario. Vamos a personalizar un poco el sistema.
4.1.
Versión y Reportes Avanzados
No estamos desarrollando software, y por lo tanto, no tiene sentido que aparezca la
versión al crear un ticket de reporte. Quitamos ese campo. Los reportes avanzados no
aportan nada interesante en este entorno. Quitamos el formulario. En el fichero de
configuración:
$g_show_product_version = OFF;
$g_show_report = ON;
Por qué este último parámetro está a ON? Probablemente cambie en el futuro.
4.2.
Barras de menú y leyendas
Por defecto, los paneles de incidencias, muestran el menú y las leyendas de estado en la
parte superior del listado de incidencias. Cuando el número de estas crece, hay que
recorrer muchas pantalla para acceder al menú y leyendas. Vamos a hacer que
aparezcan estos dos elementos, también en la parte inferior de las incidencias. Para ello
pondremos lo siguiente en la configuración:
$g_show_footer_menu = ON;
$g_status_legend_position = STATUS_LEGEND_POSITION_BOTH;
Además vamos a mostrar sobre el menú inferior, una barra de porcentaje de los estados
de las incidencias. Para ello pondremos lo siguiente en la configuración:
$g_status_percentage_legend = ON;
NOTA: Debido a un BUG en la función html_status_percentaje_legend del fichero
html_api.php, cuando el array enumerado de status no es el de por defecto, no muestra
los resultados correrctamente. Por ello se recomienda deshabilitarlo.
4.2.1.
ChangeLog y RoadMap
En las barras de menú aparecen ChangeLog RoadMap. No se ve su utilidad. Se pueden
eliminar para un proyecto o para todos los proyectos (excepto si se habilita en uno
Mantis Mantenurako
Iurreta GLHB Institutua ✹ Olaburu 19, Iurreta – Bizkaia ✹ Tel: 944 66 88 00
12
Mantis Mantenurako :: Sistema para la Gestión de Mantenimiento Correctivo
concreto). Esto se hace con el interface web. En el fichero de configuración no se puede
deshabilitar, pero podemos definir el nivel a partir del cual se muestra. Si ponemos
administrador, no les aparecerá a los usuarios. En el fichero de configuración:
$g_roadmap_view_threshold = ADMINISTRATOR; $g_view_changelog_threshold = ADMINISTRATOR;
4.3.
Manual de usuario
El enlace de manual nos envía a la web de Mantis. Podemos definir para los usuarios,
una URL que apunte a un manual que hayamos creado para ellos. En la configuración:
$g_maual_url = 'http://www2.iurreta­institutua/eskuliburuak/mantis_nola.html';
4.4.
Tiempo de recarga de página
Ante cualquier acción del usuario, el sistema presenta una página de correctitud / error
y al de un tiempo recarga la página donde nos encontramos. Vamos a poner este retardo
a 1 segundo. En el fichero de configuración:
$g_default_redirect_delay = 1;
4.5.
Estado en reapertura de incidencia
Cuando una incidencia dada por solucionada, resulta que no lo está y se reabre,
ponemos que la abra en el estado de asignada.
$g_bug_reopen_status = ASSIGNED;
4.6.
Vista de resumen
La vista de resumen que es donde tenemos las estadísticas, no tiene demasiado interés
para los usuarios. Vamos a poner que solamente aparezca a desarrolladores y
administrador.
$g_view_summary_threshold = DEVELOPER; 4.7.
Reproducibility, Severity y Priority
Estos tres campos tiene cierto sentido, pero el uso práctico es dudoso. Normalmente los
usuarios no hace suficientes pruebas para determinarlo, y por otro lado, no están
interesados en rellenar demasiadas cosas en los formularios. Sería deseable el no
mostrarlos, pero no es posible hacerlo sin tocar el código de la aplicación.
Primero vamos a definir que el informador de la incidencia puede reabrirla.
$g_reopen_bug_thereshold = REPORTER;
Mantis Mantenurako
Iurreta GLHB Institutua ✹ Olaburu 19, Iurreta – Bizkaia ✹ Tel: 944 66 88 00
13
Mantis Mantenurako :: Sistema para la Gestión de Mantenimiento Correctivo
La reproducibilidad por defecto la definimos a SIEMPRE:
$g_default_bug_reproducibility = REPRODUCIBILITY_ALWAYS;
Vamos a intentar hacer estos campos más usables. Para ello, vamos a reducir el número
de opciones a algo entendible por el usuario. Pondremos las siguientes líneas en el
fichero de configuración:
$g_status_enum_string = '10:new, 40:confirmed, 50:assigned, 80:resolved, 90:closed'; $g_access_levels_enum_string = '25:reporter, 55:developer, 90:administrator'; $g_reproducibility_enum_string = '10:always, 30:sometimes, 50:random, 90:unable to duplicate'; $g_priority_enum_string = '20:low, 30:normal, 40:high, 50:urgent'; $g_severity_enum_string = '40:tweak, 50:minor, 60:mayor, 70:crash'; 4.8.
Avisos de correo
Cuando se reporta u a incidencia, nos interesa que sçólo le sea enviado un mensaje a los
mantenedores (developers) y al administrador. En caso de que el administrador sea a su
vez uno de los mantenedores, le llegarán dos mensajes de correo. Para que esto no
suceda, vamos a hacer que solamente se envíe dicho mensaje a los mantrenedores
(desarrolladores). Para ello:
$g_notify_flags['new']['threshold_min'] = DEVELOPER; $g_notify_flags['new']['threshold_max'] = DEVELOPER; 4.9.
Cambiar el workflow
En un sistema de mantenimiento básico, no nos interesa mantener todo el workflow de
un sistema profesional de seguimiento de fallos de desarrollo de software. Vamos a
simplificar el proceso. Por de pronto, hay dos estados que no necesitamos. Estos son,
FEEDBACK y ACKNOWLEDGED. Después, abreviaremos los estados posibles a los
que se puede saltar desde un estado dado. Quedará de esta forma:
$g_status_enum_workflow[NEW_]='40:confirmed,50:assigned,80:resolved'; $g_status_enum_workflow[CONFIRMED] ='50:assigned,80:resolved'; $g_status_enum_workflow[ASSIGNED] ='80:resolved,90:closed'; $g_status_enum_workflow[RESOLVED] ='90:closed'; $g_status_enum_workflow[CLOSED] ='50:assigned'; 4.10.
Campos personalizados
Es interesante para nuestra aplicación añadir campos que no existen en Mantis. Por
ejemplo el campo tiempo. Con él podemos tener registro del tiempo dedicado a resolver
Mantis Mantenurako
Iurreta GLHB Institutua ✹ Olaburu 19, Iurreta – Bizkaia ✹ Tel: 944 66 88 00
14
Mantis Mantenurako :: Sistema para la Gestión de Mantenimiento Correctivo
una incidencia. Otro campo puede ser el coste de los materiales. Vamos a crearlos.
Como administrador, vamos a menú Manage → Manage Custom Fields. Creamos el
campo Time. Aquí vemos los atributos.
El campo “Parts” será similar pero de tipo cadena, y no obligatorio (required) al resolver
y cerrar.
Mantis Mantenurako
Iurreta GLHB Institutua ✹ Olaburu 19, Iurreta – Bizkaia ✹ Tel: 944 66 88 00
15
Mantis Mantenurako :: Sistema para la Gestión de Mantenimiento Correctivo
Pondremos que el que puede cambiar el campo es el mantenedor (developer) y otras
cosillas:
$g_time_tracking_enabled = OFF; $g_time_tracking_view_threshold = REPORTER; $g_time_tracking_edit_threshold = DEVELOPER; $g_time_tracking_reporting_threshold = DEVELOPER; $g_time_tracking_without_note = ON; Mantis Mantenurako
Iurreta GLHB Institutua ✹ Olaburu 19, Iurreta – Bizkaia ✹ Tel: 944 66 88 00
16
Mantis Mantenurako :: Sistema para la Gestión de Mantenimiento Correctivo
5. Traducciones
Ahora debemos de definir las traducciones de los strings personalizados. Vamos a
modificar también la traducción de developer de desarrollador a mantenedor. Esta
traducción es más adecuada para una aplicación de mantenimiento. También vamos a
personalizar la traducción de botones, menús, mensajes, etc . Palabras como proyecto
se convierte en sección, y algunas cosas más. Además deberemos realizar la traducción
de los literales de los campos personalizados. Todas estas traducciones las pondremos
en el fichero custom_strings_inc.php, Este es su contenido:
<?php require_once( dirname( __FILE__ ) . '/' . 'reminder_custom_strings_inc.php' ); $t_lang = lang_get_current(); # Strings de las listas de enumeración # ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­ switch ($t_lang) { case "basque" : $s_status_enum_string = '10:berria, 40:egiaztatua, 50:esleitua, 80:ebatzia, 90:itxia'; $s_access_levels_enum_string = '25:informatzailea, 55:konpontzailea, 90:administratzailea'; $s_reproducibility_enum_string = '10:beti, 30:batzuetan, 50:ausazko, 90:ezin da bikoiztu'; $s_priority_enum_string = '20:baxua, 30:normala, 40:altua, 50:berehalakoa'; $s_severity_enum_string = '40:baxua, 50:ertaina, 60:larria, 70:jasanezina'; $s_custom_field_type_enum_string = '0:Katea, 1:Zenbakizkoa, 2:Higikorra, 3:Zerrendatzea, 4:Posta elektronikoa, 5:Kontrol­laukia, 6:Zerrenda, 7:Aukeratze anitza, 8:Data'; break; case "spanish" : $s_status_enum_string = '10:nueva, 40:confirmada, 50:asignada, 80:resuelta, 90:cerrada'; $s_access_levels_enum_string = '25:informador, 55:mantenedor, 90:administrador'; $s_reproducibility_enum_string = '10:siempre, 30:a veces, 50:aleatorio, 90:no reproducible'; $s_priority_enum_string = '20:baja, 30:normal, 40:alta, 50:urgente'; Mantis Mantenurako
Iurreta GLHB Institutua ✹ Olaburu 19, Iurreta – Bizkaia ✹ Tel: 944 66 88 00
17
Mantis Mantenurako :: Sistema para la Gestión de Mantenimiento Correctivo
$s_severity_enum_string = '40:trivial, 50:menor, 60:mayor, 70:inaguantable'; break; default : $s_status_enum_string = '10:new, 40:confirmed, 50:assigned, 80:resolved, 90:closed'; $s_access_levels_enum_string = '25:reporter, 55:mantainer, 90:administrator'; $s_reproducibility_enum_string = '10:always, 30:sometimes, 50:random, 90:unable to duplicate'; $s_priority_enum_string = '20:low, 30:normal, 40:high, 50:urgent'; $s_severity_enum_string = '40: tweak, 50:minor, 60:mayor, 70:crash'; break; } # Campos personalizados # ­­­­­­­­­­­­­­­­­ switch ($t_lang) { case "basque" : $s_TimeToResolve = 'Denbora'; $s_Parts = 'Materialak'; $s_Cost_of_Materials = 'Materialen kostua'; break; case "spanish" : $s_TimeToResolve = 'Tiempo'; $s_Parts = 'Materiales'; $s_Cost_of_Materials = 'Coste de materiales'; break; default : $s_TimeToResolve = 'Time'; $s_Cost_of_Materials = 'Cost of Materials'; break; } # Strings de la aplicación personalizados # ­­­­­­­­­­­­­­­­­ #$t_lang = lang_get_current(); switch ($t_lang) { #switch ($g_active_language) { case "basque" : $s_all_projects = 'Sail guztiak'; break; case "spanish" : $s_all_projects = 'Todas las secciones'; break; # $s_new_bug = default : $s_all_projects = 'All Sections'; break; } Mantis Mantenurako
Iurreta GLHB Institutua ✹ Olaburu 19, Iurreta – Bizkaia ✹ Tel: 944 66 88 00
18
Mantis Mantenurako :: Sistema para la Gestión de Mantenimiento Correctivo
?> Mantis Mantenurako
Iurreta GLHB Institutua ✹ Olaburu 19, Iurreta – Bizkaia ✹ Tel: 944 66 88 00
19
Mantis Mantenurako :: Sistema para la Gestión de Mantenimiento Correctivo
6. Añadiendo usuarios
Al ser el proyecto público y haber configurado la autenticación contra AD, cualquier
usuario de AD que se autentifique podrá usar el sistema. Una vez autenticados, los
podemos eliminar del proyecto, o cambiarles el rol de informador por otro.
Mantis Mantenurako
Iurreta GLHB Institutua ✹ Olaburu 19, Iurreta – Bizkaia ✹ Tel: 944 66 88 00
20
Mantis Mantenurako :: Sistema para la Gestión de Mantenimiento Correctivo
7. Creando proyectos
Vamos a crear un proyecto de ejemplo. Será de “Mantenimiento Informático”. Tendrá
tres categorías: “Correo electrónico”, “Hardware de aulas” y “Hardware de
departamentos”.
Como Administrador, vamos a Administración -> Administrar Proyectos y pulsamos en
crear proyecto. Rellenamos los campos como en la figura.
Mantis Mantenurako
Iurreta GLHB Institutua ✹ Olaburu 19, Iurreta – Bizkaia ✹ Tel: 944 66 88 00
21
Mantis Mantenurako :: Sistema para la Gestión de Mantenimiento Correctivo
Después creamos categorias. En la figura inferior vemos dos creadas, y la tercera en
proceso de creación.
Mantis Mantenurako
Iurreta GLHB Institutua ✹ Olaburu 19, Iurreta – Bizkaia ✹ Tel: 944 66 88 00
22
Mantis Mantenurako :: Sistema para la Gestión de Mantenimiento Correctivo
En esta otra figura, ya tenemos los campos personalizados añadidos al proyecto. Si
deseamos modificar el orden en que aparecen, lo realizamos con el número de
secuencia.
Mantis Mantenurako
Iurreta GLHB Institutua ✹ Olaburu 19, Iurreta – Bizkaia ✹ Tel: 944 66 88 00
23
Mantis Mantenurako :: Sistema para la Gestión de Mantenimiento Correctivo
Ahora asignamos usuarios al proyecto.
Listo!
Mantis Mantenurako
Iurreta GLHB Institutua ✹ Olaburu 19, Iurreta – Bizkaia ✹ Tel: 944 66 88 00
24
Mantis Mantenurako :: Sistema para la Gestión de Mantenimiento Correctivo
8. Estadísticas
Mantis tiene un potente sistema de estadísticas. Estas se pueden presentar en forma de
texto o también de forma gráfica. Para esto último, hemos de instalar el paquete
JpGraph (http://www.aditus.nu/jpgraph/jpdownload.php). Lo descargamos a
/root/download, y lo instalaremos en el directorio /var/www/konponketak/jpgraph.
wget ­P /root/download http://hem.bredband.net/jpgraph2/jpgraph­2.3.3.tar.gz
cd /root/download
tar zxf jpgraph­2.3.3.tar.gz
mkdir /var/www/konponketak/jpgraph
cp ­r jpgraph­2.3.3/* /var/www/konponketak/jpgraph
Ahora debemos de configurar Mantis para que lo utilice. En el fichero de configuración,
pondremos las siguientes líneas.
$g_use_jpgraph = ON;
$g_jpgraph_path = '/var/www/konponketak/jpgraph/src/';
Ahora modificamos el fichero de configuración de PHP, para decirle que utilice más
memoria para las aplicaciones y que les conceda más tiempo de ejecución. En el fichero
/etc/php5/apache2/php.ini las siguientes líneas deben quedar como siguen:
memory_limit = 16M
max_execution_time = 300
Verificar que la extensión gd esté habilitada en este fichero, o en el fichero
/etc/php5/conf.d/gd.ini. Para ello, en cualquiera de estos dos ficheros, debe aparecer
la línea:
extension = gd.so
Si no está instalada la extensión, lo haremos y recargamos la configuración de apache.
aptitude install php5­gd
/etc/init.d/apache2 reload
En Debian Etch, nos da un error en la función imageantialias. Le decimos a Mantis que
no la use. En el fichero de configuración pondremos:
$g_jpgraph_antialias = OFF;
Mantis Mantenurako
Iurreta GLHB Institutua ✹ Olaburu 19, Iurreta – Bizkaia ✹ Tel: 944 66 88 00
25
Mantis Mantenurako :: Sistema para la Gestión de Mantenimiento Correctivo
Ahora le decimos a JpGraph, cuál es el directorio donde se encuentra. Para ello, en el
fichero /var/www/konponketak/jpgraph/src/jpgraph.php, la siguiente linea debe
quedar como sigue:
DEFINE('DIR_BASE','/var/www/konponketak/jpgraph/src/');
Si no nos gustan las tipografías incluidas en JpGraph, podemos usar tipos TrueType del
sistema. Una tipografía que se encuentra en todos los sistemas GNU/Linux es
Bitstream Vera. Vamos a utilizarla. Le decimos a JpGraph que se encuentra en
/usr/share/fonts/truetype/ttf-bitstream-vera. En el fichero
/var/www/konponketak/jpgraph/src/jpgraph.php pondremos tras los primeros
defines:
DEFINE ('TTF_DIR','/usr/share/fonts/truetype/ttf­bitstream­vera/');
Tras esto, le decimos a Mantis, que realice los gráficos con la tipografía Bitstream
Veras. Para ello, en el fichero de configuración pondremos:
$g_graph_font = 'vera';
El resultado no es demasiado bueno, pero es mejor que las fuentes BitMap. La falta de
la función de antialiasing de fuentes de la librería gd del php5 de Debian Etch, es la
culpable de ello. En SUSE 9.3, con PHP4 y JpGraph 1.26, el resultado es muy bueno.
Mantis Mantenurako
Iurreta GLHB Institutua ✹ Olaburu 19, Iurreta – Bizkaia ✹ Tel: 944 66 88 00
26
Mantis Mantenurako :: Sistema para la Gestión de Mantenimiento Correctivo
9. Mantis Reminder
Cuando tenemos gran número de incidencias, es necesario tener un sistema de
recordatorio para que no se nos olviden las tareas. Las tareas que nos recuerda son la
de asignar incidencias a alguien, y la de resolverlas. Hay un paquete que se encarga de
recordarnos estas tareas a través del corre electrónico cuando pasa un cierto tiempo.
Este paquete es reminder. Nos envía un correo cuando para el tiempo definido para la
primera vez, otro correo para el tiempo definido para la segunda vez, y un correo diario
hasta que la tarea haya sido realizada.
El paquete se encuentra en el repositorio de incidencias de la propia Mantis, en la
siguiente dirección (Bug #5887): http://bugs.mantisbt.org/view.php?id=5887
Podemos descargamos el paquete con el navegador, de la siguiente dirección:
http://www.mantisbt.org/bugs/file_download.php?file_id=1093&type=bug
Lo guardamos en /root/download/.
Lo desconprimimos y copiamos al directorio de la aplicación.
cd /root/download
tar zxf reminder_new2.tar.gz
cp reminder.php /var/www/konponketak/
cp reminder_custom_strings.php /var/www/konponketak/
cp reminder_config_inc.php.sample /var/www/konponketak/ reminder_config_inc.php
Ahora configuramos reminder. Pondremos que el primer aviso de asignación de la
incidencia sea al de 3 días y el segundo, al de 5. Para los avisos de resolución de
incidencias ponemos 7 y 14 días. En el fichero reminder_config_inc.php, las siguientes
líneas quedan así:
$g_first_assign_remind = 3;
$g_second_assign_remind = 5;
$g_first_remind = 7;
$g_second_remind = 14;
Ahora añadimos la siguiente línea al final del fichero de configuración config_inc.php.
require_once( dirname( __FILE__ ) . '/' . 'reminder_config_inc.php' );
Mantis Mantenurako
Iurreta GLHB Institutua ✹ Olaburu 19, Iurreta – Bizkaia ✹ Tel: 944 66 88 00
27
Mantis Mantenurako :: Sistema para la Gestión de Mantenimiento Correctivo
También añadimos la siguiente línea al final del fichero custom_strings_inc.php. Si no
existe el fichero, lo creamos.
require_once( dirname( __FILE__ ) . '/' . 'reminder_custom_strings_inc.php' );
Para probarlo, ejecutamos lo siguiente:
php5 /var/www/konponketak/reminder.php
Ponemos el comando anterior en un cron, para que envíe los avisos todos los días a las
7:31. Para ello, en el directorio /etc/cron.d creamos el fichero reminder con el
siguiente contenido:
31 7 * * * root php5 /var/www/konponketak/reminder.php
Reiniciamos el demonio cron.
/etc/init.d/cron restart
Listo! Ya tenemos el recordador en marcha.
NOTA: No funciona demasiado bien.
Mantis Mantenurako
Iurreta GLHB Institutua ✹ Olaburu 19, Iurreta – Bizkaia ✹ Tel: 944 66 88 00
28
Mantis Mantenurako :: Sistema para la Gestión de Mantenimiento Correctivo
10. Actualización
Descargar la nueva versión.
Si se está como administrador, salir del sistema.
Indicamos a los usuarios, que el sistema está en mantenimiento. Para ello copiar el
fichero de ejemplo de offline al fichero de indicación de OFFLINE.
cp mantis_offline.php.sample mantis_offline.php
Hacer copia de la base de datos de Mantis. Para ello utilizamos mysqldump:
mysqldump –flush­privileges mantis > mysql­mantis­20081026
También podemos parar MySQL, y copiar el directorio /var/lib/mysql/mantis/
Renombramos el directorio de la aplicación y creamos uno nuevo.
mv /var/www/konponketak /var/www/konponketak­old
mkdir /var/wwwe/konponketak
Instalamos la aplicación, tal como lo hicimos en el capítulo 2.
cd /root/download
tar zxf mantis­1.1.4.tar.gz
cp ­r mantis­1.1.4/* /var/www/konponketak/
Seguidamente, procedemos a borrar el directorio admin de la aplicación.
rm ­r /var/www/konponketak/admin
Ahora copiamos los ficheros de configuración y JpGraph de la aplicación antigua a la
nueva.
cp ­r /var/www/konponketak­old/jpgraph /var/www/konponketak/
cp /var/www/konponketak­old/config_inc.php /var/www/konponketak/
No nos olvidemos de reminder.
cp /var/www/konponketak­old/reminder.php /var/www/konponketak/
cp /var/www/konponketak­old/reminder_custom_strings.php /var/www/konponketak/
cp /var/www/konponketak­old/reminder_config_inc.php /var/www/konponketak/
Mantis Mantenurako
Iurreta GLHB Institutua ✹ Olaburu 19, Iurreta – Bizkaia ✹ Tel: 944 66 88 00
29
Mantis Mantenurako :: Sistema para la Gestión de Mantenimiento Correctivo
Si hubiéremos modificado o personalizado otros aspectos de la aplicación, también
habremos de copiar los siguientes ficheros (lo hemos hecho con reminder):
cp /var/www/konponketak­old/custom_strings_inc.php /var/www/konponketak/
cp /var/www/konponketak­old/custom_constants_inc.php /var/www/konponketak/
cp /var/www/konponketak­old/custom_functions_inc.php /var/www/konponketak/
Ya está. Ahora podemos utilizar la nueva versión.
Mantis Mantenurako
Iurreta GLHB Institutua ✹ Olaburu 19, Iurreta – Bizkaia ✹ Tel: 944 66 88 00
30
Mantis Mantenurako :: Sistema para la Gestión de Mantenimiento Correctivo
11. Fichero de Configuración
Se pone aquí la configuración de nuestro sistema, para que sea más fácil el “copy-paste”
si es que a alguien le interesa. Este es el contenido del fichero config_inc.php.
<?php # Variables de la base de datos $g_hostname = 'localhost'; $g_db_type = 'mysql'; $g_database_name = 'bugtracker'; $g_db_username = '*********'; $g_db_password = '*********'; # Variables de configuración general $g_allow_anonymous_login = OFF; $g_allow_file_upload = OFF; $g_allow_signup = OFF; $g_lost_password_feature = OFF; $g_window_title = 'Iurreta Institutua :: Konponketak'; $g_enable_project_documentation = OFF; # Configuración de la cabecera $g_top_include_page = 'iurreta.php'; #=========== Hizkuntza ========================= # Defektuzko hizkuntza $g_default_language = 'basque'; # list the choices that the users are allowed to choose $g_language_choices_arr = array( 'auto', 'basque', 'catalan', 'english', 'french', 'german', 'spanish', ); # Browser language mapping for 'auto' language selection $g_language_auto_map = array( 'ca' => 'catalan', Mantis Mantenurako
Iurreta GLHB Institutua ✹ Olaburu 19, Iurreta – Bizkaia ✹ Tel: 944 66 88 00
31
Mantis Mantenurako :: Sistema para la Gestión de Mantenimiento Correctivo
'en­us, en­gb, en­au, en' => 'english', 'eu' => 'basque', 'fr­ca, fr­be, fr­ch, fr' => 'french', 'de­de, de­at, de­ch, de' => 'german', 'es­es, es­mx, es­co, es­ar, es­cl, es­pr, es' => 'spanish', ); # Fallback for automatic language selection $g_fallback_language = 'english'; #=============== Posta ================== $g_limit_email_domain = 'iurreta­institutua.net'; $g_smtp_host = 'posta.iurreta­institutua.net'; $g_smtp_username = ''; $g_smtp_password = ''; $g_administrator_email = 'sare­admin@iurreta­institutua.net'; $g_webmaster_email = 'sare­admin@iurreta­institutua.net'; $g_from_email = 'noreply­ezerantzun[Mantis]@iurreta­institutua.net'; $g_from_name = 'Konponketa Kudeaketa Sistema'; $g_return_path_email = 'sare­admin@iurreta­institutua.net'; #===================== LDAP ======================= $g_login_method = LDAP; $g_ldap_server = 'xxxxxxxx.iurreta­institutua.net';
$g_ldap_port = '389'; $g_ldap_root_dn = 'ou=irakasleak,dc=iurreta­institutua,dc=net'; $g_ldap_uid_field = 'sAMAccountName'; $g_ldap_bind_dn = '*********'; $g_ldap_bind_passwd = '*********'; $g_use_ldap_email = ON; #============== Captcha =================== $g_system_font_folder = '/usr/share/fonts/truetype/ttf­bitstream­vera/'; $g_font_per_captcha = 'Vera.ttf'; #======== Menuak etab. ====================== # Erreporte aurreratua $g_show_report = ON; # Produktu bertsioa $g_show_product_version = OFF; $g_show_footer_menu = ON; $g_status_legend_position = STATUS_LEGEND_POSITION_BOTH; # Orrira itzultze denbora $g_default_redirect_delay = 1; Mantis Mantenurako
Iurreta GLHB Institutua ✹ Olaburu 19, Iurreta – Bizkaia ✹ Tel: 944 66 88 00
32
Mantis Mantenurako :: Sistema para la Gestión de Mantenimiento Correctivo
#============= Personalizatzen =================== $g_bug_reopen_status = ASSIGNED; $g_bug_reopen_resolution = REOPENED; $g_reopen_bug_threshold = REPORTER; $g_default_bug_reproducibility = REPRODUCIBILITY_ALWAYS; $g_status_enum_string = '10:new, 40:confirmed, 50:assigned, 80:resolved, 90:closed'; $g_access_levels_enum_string = '25:reporter, 55:developer, 90:administrator'; $g_reproducibility_enum_string = '10:always, 30:sometimes, 50:random, 90:unable to duplicate'; $g_priority_enum_string = '20:low, 30:normal, 40:high, 50:urgent'; $g_severity_enum_string = '40:tweak, 50:minor, 60:mayor, 70:crash'; #$g_resolution_enum_string = '10:open, 20:fixed, 30:reopened, 40:unable to duplicate, 50:not fixable, '; $g_roadmap_view_threshold = ADMINISTRATOR; $g_view_changelog_threshold = ADMINISTRATOR; #===================== Workflow ====================== $g_status_enum_workflow[NEW_]='40:confirmed,50:assigned,80:resolved'; $g_status_enum_workflow[CONFIRMED] ='50:assigned,80:resolved'; $g_status_enum_workflow[ASSIGNED] ='80:resolved,90:closed'; $g_status_enum_workflow[RESOLVED] ='90:closed'; $g_status_enum_workflow[CLOSED] ='50:assigned'; #================= Abisuak ====================== $g_notify_flags['new']['threshold_min'] = DEVELOPER; $g_notify_flags['new']['threshold_max'] = DEVELOPER; #$g_notify_flags['closed']['reporter'] = ON; #================= Grafikoak ==================== $g_use_jpgraph = ON; $g_jpgraph_path = '/srv/www/htdocs/konponketak/jpgraph/src/'; #$g_jpgraph_antialias = OFF; $g_graph_font = 'vera'; #================ reminder ==================== require_once( dirname( __FILE__ ) . '/' . 'reminder_config_inc.php' ); #=========== Eskuliburua ==================== $g_manual_url = 'http://www2.iurreta­institutua.net/mantis_nola.html'; Mantis Mantenurako
Iurreta GLHB Institutua ✹ Olaburu 19, Iurreta – Bizkaia ✹ Tel: 944 66 88 00
33
Mantis Mantenurako :: Sistema para la Gestión de Mantenimiento Correctivo
$g_view_summary_threshold = DEVELOPER; $g_time_tracking_enabled = OFF; $g_time_tracking_view_threshold = REPORTER; $g_time_tracking_edit_threshold = DEVELOPER; $g_time_tracking_reporting_threshold = DEVELOPER; $g_time_tracking_without_note = ON; ?> Mantis Mantenurako
Iurreta GLHB Institutua ✹ Olaburu 19, Iurreta – Bizkaia ✹ Tel: 944 66 88 00
34
Mantis Mantenurako :: Sistema para la Gestión de Mantenimiento Correctivo
12. Referencias
http://www.mantisbt.org/
http://www.aditus.nu/jpgraph/
http://www.mantisbt.org/bugs/view.php?id=5887
http://www.mantisbt.org/manual/manual.installation.upgrading.php
http://www.mantisbt.org/manual/manual.customizing.mantis.enumerations.php
http://www.mantisbt.org/manual/manual.page.descriptions.system.management.pages.m
anage.configuration.workflow.thresholds.php
http://www.mantisbt.org/manual/manual.page.descriptions.system.management.pages.m
anage.configuration.workflow.transitions.php
Mantis Mantenurako
Iurreta GLHB Institutua ✹ Olaburu 19, Iurreta – Bizkaia ✹ Tel: 944 66 88 00
35
Mantis Mantenurako :: Sistema para la Gestión de Mantenimiento Correctivo
13. Autor
Alfredo Barrainkua Zallo
Iurreta Institutuko IKT Arduraduna
[email protected]
Mantis Mantenurako
Iurreta GLHB Institutua ✹ Olaburu 19, Iurreta – Bizkaia ✹ Tel: 944 66 88 00
36