Mantis Bug Tracker es una fuente libre y abierto , basado en la web sistema de seguimiento de errores . El uso más común de MantisBT es rastrear defectos de software . Sin embargo, los usuarios a menudo configuran MantisBT para que sirva como un sistema de seguimiento de problemas más genérico y una herramienta de gestión de proyectos .
Autor (es) original (es) | Kenzaburo Ito |
---|---|
Desarrollador (es) | Varios ( colaboradores de código abierto ) |
Versión inicial | 2000 |
Lanzamiento estable | 2.24.4 (30 de diciembre de 2020 [±] ) |
Versión de vista previa | 2.25.0-dev (23 de febrero de 2021 [±] ) |
Repositorio | |
Escrito en | PHP |
Sistema operativo | Multiplataforma |
Disponible en | 49 idiomas |
Lista de idiomas Afrikáans, amárico, árabe, árabe (egipcio), bretón, búlgaro, catalán, chino (simplificado), chino (tradicional), croata, checo, danés, holandés, inglés, estonio, finlandés, francés, gallego, alemán, griego, hebreo , Húngaro, islandés, italiano, japonés, coreano, letón, lituano, macedonio, noruego (bokmål), noruego (Nynorsk), occitano, polaco, portugués (estándar), portugués (brasileño), ripuariano, rumano, ruso, serbio, eslovaco , Esloveno, español, suizo alemán, sueco, tagalo, turco, ucraniano, urdu, volapuk | |
Tipo | Sistema de seguimiento de errores |
Licencia | Licencia pública general GNU versión 2 |
Sitio web | www |
El nombre Mantis y el logo del proyecto se refieren a la familia de insectos Mantidae , conocida por rastrear y alimentarse de otros insectos, conocidos coloquialmente como "bichos". El nombre del proyecto generalmente se abrevia como MantisBT o simplemente Mantis .
Historia
Kenzaburo Ito inició el desarrollo del proyecto Mantis Bug Tracking en 2000. En 2002, Jeroen Latour, Victor Boctor y Julian Fitzell se unieron a Kenzaburo como administradores y se convirtió en un proyecto de equipo. [1] La versión 1.0.0 se publicó en febrero de 2006. [2] La versión 1.1.0 se publicó en diciembre de 2007. [3] En noviembre de 2008, después de una larga discusión, [4] el proyecto cambió [5] de utilizar la Herramienta de control de revisión de Subversion para Git , una herramienta de control de revisión distribuida. En febrero de 2010, se lanzó la versión 1.2.0. [6] En julio de 2012, la organización MantisBT en GitHub se convirtió en el repositorio oficial del código fuente del Proyecto. [7]
Características
Complementos
Se introdujo un sistema de complementos impulsado por eventos con el lanzamiento de la versión 1.2.0. [8] Este sistema de complementos permite la extensión de MantisBT a través de complementos mantenidos oficialmente y de terceros. En noviembre de 2013, hay más de 50 complementos disponibles en la organización de complementos MantisBT en GitHub.
Antes de la versión 1.2.0, un sistema de complementos de terceros creado por Vincent Debout estaba disponible para los usuarios junto con una variedad de complementos diferentes. [9] Este sistema no fue apoyado oficialmente por el proyecto MantisBT y es incompatible con MantisBT 1.2.0 y posteriores.
Notificaciones
MantisBT admite el envío de notificaciones por correo electrónico cuando se realizan cambios en los problemas del sistema. Los usuarios tienen la capacidad de especificar el tipo de correos electrónicos que reciben y establecer filtros para definir la gravedad mínima de los problemas sobre los que recibir notificaciones. Los usuarios también tienen la capacidad de suscribirse explícitamente a los problemas que les afectan.
Las fuentes RSS están disponibles para los usuarios que deseen realizar un seguimiento de los problemas que se han resuelto. Además, MantisBT tiene integración con Twitter a través de un complemento, para permitir que se twittee una notificación cuando se resuelva un problema.
A través del sistema de complementos impulsado por eventos de MantisBT , es posible ampliar el soporte de notificación integrado para ejecutar scripts avanzados que realizan acciones de notificación adicionales (como enviar mensajes SMS o actualizar estados en sistemas de gestión de proyectos externos ).
Integración del sistema de control de revisiones
Las versiones de MantisBT anteriores a la 1.2.0 permitían una integración limitada con el sistema de control de revisiones CVS . [10] Con la introducción de las capacidades de los complementos en MantisBT 1.2.0, John Reese volvió a desarrollar la integración del control de revisiones en el complemento SourceIntegration.
La versión inicial del complemento SourceIntegration admitía GitHub , GitWeb, SourceForge y WebSVN. [11] Con el tiempo, se agregaron dos módulos adicionales y, a partir de noviembre de 2013, la integración de fuentes es compatible con las siguientes herramientas de control de revisiones y proveedores basados en la web :
- cgit, una interfaz web para repositorios de Git, escrita en C
- GitHub , una instalación de alojamiento de software de código abierto que aloja repositorios de Git
- Gitweb, una interfaz web gratuita y de código abierto para repositorios de Git
- HgWeb, un front-end web CGI para repositorios Mercurial
- SourceForge (solo para la integración de Subversion), una instalación de alojamiento de software de código abierto que aloja varios tipos de repositorios de software
- WebSVN, una interfaz web gratuita y de código abierto para repositorios de Subversion
- RhodeCode , una interfaz web de código abierto para repositorios Mercurial, Git y Subversion [12]
Tras cometer conjuntos de cambios a un repositorio de código fuente, post-commit ganchos dentro de Git o Subversion puede ser configurado para notificar automáticamente MantisBT que se han realizado cambios en el repositorio. GitHub también es capaz de notificar de forma remota a una instalación de MantisBT de los cambios en un repositorio de código fuente. Otra técnica utilizada para integrar MantisBT con proveedores de alojamiento de código fuente basados en la web es el uso de un programador de trabajos como cron para verificar manualmente los cambios en un repositorio cada pocos minutos, informando cualquier cambio a MantisBT. [11]
SourceIntegration permite que los problemas dentro de MantisBT se resuelvan automáticamente cuando un mensaje de conjunto de cambios contiene cadenas especiales como "Correcciones # 12345", que se pueden configurar mediante expresiones regulares . Esto también permite que las relaciones se creen automáticamente entre los conjuntos de cambios y los problemas correspondientes registrados en MantisBT. Se pueden especificar varios ID de problemas en un solo mensaje de conjunto de cambios, aunque esto generalmente se desaconseja ya que indica que el conjunto de cambios no tiene un propósito único, claro y lógico. [13]
Características menores
Además de las características mencionadas anteriormente, MantisBT también tiene soporte para: [14]
- Búsqueda de texto completo
- Seguimiento de auditoría de los cambios realizados en los problemas
- Control de revisión de campos de texto y notas.
- Hojas de ruta [10]
- Registros de cambios [10]
- Representación gráfica de relaciones entre problemas
- Patrocinio de ediciones
- Integración de documentación Wiki para DokuWiki , MediaWiki , TWiki , WackoWiki, WikkaWiki y XWiki
- Noticias
- Gestión de proyectos y seguimiento del tiempo con CodevTT.
- Docenas de idiomas localizados en translatewiki.net .
Diseño técnico
Lenguajes de desarrollo
MantisBT está escrito principalmente en PHP y utiliza SQL para interactuar con bases de datos. La interfaz de usuario basada en web de MantisBT está escrita usando HTML que está diseñado y presentado usando CSS . [15] La interfaz de usuario también utiliza la biblioteca de JavaScript del lado del cliente jQuery para proporcionar características opcionales como contenido de página dinámico impulsado por Ajax y JSON .
Las herramientas de desarrollo y los scripts de compilación están escritos predominantemente en Python con algunos scripts de Shell y PHP .
El código base de MantisBT se remonta a una época en la que el soporte de PHP para los principios de programación orientada a objetos estaba en su infancia. [16] A partir de la versión 1.2.0, la mayoría del código base de MantisBT todavía usa principios de programación procedimental , sin embargo, algunas secciones se han convertido para hacer uso del nuevo modelo de objetos de PHP 5. [17] [18]
Almacenamiento de base de datos
Los datos se almacenan en un sistema de gestión de bases de datos relacionales mediante la biblioteca de abstracción de bases de datos ADOdb . MantisBT es compatible con MySQL . Se sabe que el soporte para otras bases de datos ( PostgreSQL , Microsoft SQL , Oracle ) es problemático. El equipo de desarrollo está buscando solucionar este problema para la versión 2.0. [10]
MantisBT mantiene una ruta de actualización de la base de datos entre versiones modificando el esquema de la base de datos de forma incremental. [19] Durante la instalación de MantisBT, las modificaciones del esquema de la base de datos se reproducen desde las primeras versiones de MantisBT para alcanzar el estado más reciente.
Requisitos
MantisBT requiere un servidor web configurado , el intérprete del lenguaje de programación PHP y un sistema de gestión de base de datos relacional compatible con MantisBT [10] y ADOdb . [20]
La rama estable de MantisBT ( números de versión dentro de 1.2.x) requiere PHP 5.1.0 o posterior. Para la rama de desarrollo (1.3.x), la versión mínima de PHP es 5.3.2. [21]
Se requieren varias extensiones de PHP [10] para habilitar una funcionalidad específica o por razones de rendimiento; la extensión para el RDBMS que se está utilizando (es decir, mysqli ) es obligatoria.
MantisBT agrupa una serie de dependencias con cada versión, que incluyen: [22]
- ADOdb para abstracción de soporte para sistemas de administración de bases de datos relacionales
- Desechable para la función de verificación de correo electrónico desechable
- Componentes eZ para el trazado de estadísticas
- NuSOAP de SOAP de servicio web de soporte
- PHPMailer para soporte de envío de correo electrónico
- Projax para capacidades de Ajax en la interfaz de usuario
- Generador de RSS para compatibilidad con fuentes RSS
- Biblioteca contenedora PHP UTF-8 para soporte de internacionalización en ausencia de la extensión mb_string de PHP
Para dibujar gráficos de relaciones entre problemas, se requiere GraphViz . MantisBT también tiene una dependencia alternativa de la biblioteca de gráficos comercial JpGraph para trazar estadísticas.
Ver también
- Comparación de sistemas de seguimiento de problemas
Referencias
- ^ "equipo de MantisBT. Esto marca una nueva era en la vida de MantisBT donde ahora es un proyecto de equipo" .
- ^ "Mantis 1.0.0 (estable) lanzado" . Lista de correo de anuncios de MantisBT . SourceForge.net. 4 de febrero de 2006.
- ^ "Mantis 1.1.0 lanzado" . Blog Mantis Bug Tracker . Mantisbt.org. 20 de diciembre de 2007.
- ^ "Pasando de SVN a Git" . Lista de correo mantisbt-dev . Sourceforge.net. 4 de noviembre de 2008.
- ^ John Reese (10 de noviembre de 2008). "Primera confirmación de MantisBT Git" . Github.com.
- ^ "MantisBT 1.2.0 lanzado" . Blog Mantis Bug Tracker . Mantisbt.org. 22 de febrero de 2010.
- ^ "MantisBT mudándose a Github" . Lista de correo de anuncios de MantisBT . SourceForge.net. 12 de julio de 2011.
- ^ "MantisBT 1.2.0rc1 Release Candidate 1" . Blog Mantis Bug Tracker . Mantisbt.org. 23 de junio de 2009.
- ^ "Complementos de seguimiento de errores de Mantis" . Deboutv.free.fr . Consultado el 14 de julio de 2010 .
- ^ a b c d e f "Guía de administración de Mantis Bug Tracker" . Archivado desde el original el 2 de diciembre de 2013 . Consultado el 11 de noviembre de 2013 .
- ^ a b Reese, John (7 de enero de 2009). "Integración de Git y SVN con Mantis Bug Tracker" . NoSwap.com . Consultado el 11 de noviembre de 2013 .
- ^ http://tononlabview.blogspot.fr/2011/07/connecting-mantis-with-rhodecode.html
- ^ "Mejores prácticas de Subversion" . Consultado el 22 de agosto de 2012 .
- ^ "Lista de funciones de Mantis" . Wiki de MantisBT . Mantisbt.org. 25 de septiembre de 2012 . Consultado el 11 de noviembre de 2013 .
- ^ "Idiomas" . Ohloh.net . Consultado el 12 de noviembre de 2013 .
- ^ "Historia de PHP" . PHP.net. 8 de noviembre de 2013 . Consultado el 12 de noviembre de 2013 .
- ^ "Código fuente de MantisBT" . GitHub.com. 11 de junio de 2009.
- ^ "Código fuente de MantisBT" . GitHub.com. 6 de febrero de 2008.
- ^ "Código fuente de MantisBT - admin / schema.php" . GitHub.com . Consultado el 12 de noviembre de 2013 .
- ^ "Manual de ADODB" . Phplens.com . Consultado el 12 de noviembre de 2013 .
- ^ "Mantis Bug Tracker | Requisitos" . Mantisbt.org. Archivado desde el original el 5 de septiembre de 2012 . Consultado el 12 de noviembre de 2013 .
- ^ "Código fuente de MantisBT - biblioteca / README.libs" . GitHub.com . Consultado el 12 de noviembre de 2013 .
enlaces externos
- Página web oficial