Articulo de referencia

Rastreador de insectos Mantis

Mantis Bug Tracker es un sistema de seguimiento de errores gratuito y de código abierto basado en la web . Su uso más común es el seguimiento de defectos de software . Sin embar...

Mantis Bug Tracker es un sistema de seguimiento de errores gratuito y de código abierto basado en la web . Su uso más común es el seguimiento de defectos de software . Sin embargo, los usuarios suelen configurarlo para que funcione como un sistema de seguimiento de incidencias y una herramienta de gestión de proyectos más generales .

El nombre Mantis y el logotipo del proyecto hacen referencia a la familia de insectos Mantidae , conocidos por rastrear y alimentarse de otros insectos, conocidos coloquialmente como "bichos". El nombre del proyecto se abrevia como MantisBT o simplemente Mantis .

Historia

Kenzaburo Ito inició el desarrollo del proyecto Mantis Bug Tracking en 2000. En 2002, Kenzaburo se unió a Jeroen Latour, Victor Boctor y Julian Fitzell como administradores, y se convirtió en un proyecto de equipo. [ 2 ] La versión 1.0.0 se lanzó en febrero de 2006. [ 3 ] La versión 1.1.0 se lanzó en diciembre de 2007. [ 4 ] En noviembre de 2008, después de una larga discusión, [ 5 ] el proyecto cambió [ 6 ] de usar la herramienta de control de versiones Subversion a Git , una herramienta de control de versiones distribuida. En febrero de 2010, se lanzó la versión 1.2.0. [ 7 ] En julio de 2012, la organización MantisBT en GitHub se convirtió en el repositorio oficial del código fuente del proyecto. [ 8 ] Actualmente Mantis está ejecutando la versión 2.28.1 [ 9 ]

Características

Complementos

Con el lanzamiento de la versión 1.2.0 se introdujo un sistema de complementos basado en eventos . [ 10 ] Este sistema permite extender MantisBT mediante complementos tanto oficiales como de terceros. Existen numerosos complementos disponibles en la organización MantisBT-plugins en GitHub.

Antes de la versión 1.2.0, los usuarios tenían a su disposición un sistema de complementos de terceros creado por Vincent Debout, junto con una variedad de complementos diferentes. [ 11 ] Este sistema no contaba con el soporte oficial del proyecto MantisBT y es incompatible con MantisBT 1.2.0 y versiones posteriores.

Notificaciones

MantisBT permite enviar notificaciones por correo electrónico cuando se producen cambios en los problemas del sistema. Los usuarios pueden especificar el tipo de correos electrónicos que reciben y configurar filtros para definir la gravedad mínima de los problemas sobre los que desean recibir notificaciones. Además, pueden suscribirse explícitamente a los problemas que les afectan.

Los usuarios que deseen estar al tanto de los problemas resueltos pueden utilizar fuentes RSS . Además, MantisBT se integra con Twitter mediante un complemento, lo que permite publicar una notificación cuando se resuelve un problema.

Mediante el sistema de complementos basado en eventos de MantisBT , es posible ampliar la compatibilidad con notificaciones integradas para ejecutar scripts avanzados que realizan acciones de notificación adicionales (como enviar mensajes SMS o actualizar estados en sistemas externos de gestión de proyectos ).

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 versiones CVS . [ 12 ] Con la introducción de las capacidades de complementos en MantisBT 1.2.0, la integración del control de versiones fue rediseñada por Amethyst Reese en el complemento SourceIntegration.

La versión inicial del complemento SourceIntegration admitía GitHub , GitWeb, SourceForge y WebSVN. [ 13 ] Con el tiempo, se agregaron dos módulos adicionales y, a partir de noviembre de 2013, la integración de código fuente es compatible con las siguientes herramientas de control de versiones y proveedores basados ​​en la web :

  • cgit, una interfaz web para repositorios Git, escrita en C
  • GitHub , una plataforma de alojamiento de software de código abierto que aloja repositorios Git.
  • Gitweb, una interfaz web gratuita y de código abierto para repositorios Git.
  • HgWeb, una interfaz web CGI para repositorios Mercurial.
  • SourceForge (solo para integración con Subversion), una plataforma 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 Subversion.
  • RhodeCode , una interfaz web de código abierto para repositorios Mercurial, Git y Subversion [ 14 ]

Al confirmar los cambios en un repositorio de código fuente, se pueden configurar ganchos posteriores a la confirmación en Git o Subversion para notificar automáticamente a MantisBT que se han realizado cambios en el repositorio. GitHub también puede notificar de forma remota a una instalación de MantisBT sobre 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 tareas como cron para comprobar manualmente si hay cambios en un repositorio cada pocos minutos e informar de cualquier cambio a MantisBT. [ 13 ]

SourceIntegration permite que los problemas dentro de MantisBT se resuelvan automáticamente cuando un mensaje de conjunto de cambios contiene cadenas especiales como "Fixes #12345", que se pueden configurar mediante expresiones regulares . Esto también permite que se creen automáticamente relaciones 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. [ 15 ]

Características menores

Además de las características mencionadas anteriormente, MantisBT también es compatible con: [ 16 ]

Diseño técnico

Lenguajes de desarrollo

MantisBT está escrito principalmente en PHP y utiliza SQL para interactuar con las bases de datos. La interfaz de usuario web de MantisBT está escrita en HTML , cuyo estilo y presentación se realizan mediante CSS . [ 17 ] La interfaz de usuario también utiliza la biblioteca JavaScript del lado del cliente jQuery para proporcionar funciones opcionales como contenido dinámico de página basado en 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 fuente 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 sus inicios. [ 18 ] A partir de la versión 1.2.0, la mayor parte del código fuente de MantisBT todavía utiliza principios de programación procedimental ; sin embargo, algunas secciones se han convertido para utilizar el nuevo modelo de objetos de PHP 5. [ 19 ] [ 20 ]

Almacenamiento de bases 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 , MariaDB y PostgreSQL . Ofrece soporte experimental para Microsoft SQL y Oracle . [ 21 ]

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. [ 22 ] Durante la instalación de MantisBT, las modificaciones del esquema de la base de datos se reproducen desde las primeras versiones de MantisBT hasta 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 bases de datos relacionales compatible con MantisBT [ 12 ] y ADOdb. [ 23 ]

A partir de junio de 2022, la rama estable de MantisBT requiere PHP 7.0 o posterior. [ 21 ]

Se requieren varias extensiones de PHP [ 12 ] para habilitar funcionalidades específicas o por razones de rendimiento; la extensión para el RDBMS que se esté utilizando (es decir, mysqli ) es obligatoria.

MantisBT incluye una serie de dependencias con cada versión, entre ellas: [ 24 ]

Para dibujar gráficos de relaciones entre elementos, se requiere GraphViz . MantisBT también tiene una dependencia alternativa de la biblioteca gráfica comercial JpGraph para la representación de estadísticas.

Véase también

Referencias

  1. "Versión 2.28.4" . 1 de julio de 2026. Consultado el 1 de julio de 2026 .
  2. "Equipo de MantisBT. Esto marca una nueva era en la historia de MantisBT, donde ahora es un proyecto de equipo" . GitHub . 19 de noviembre de 2021.
  3. "Mantis 1.0.0 (estable) publicado" . Lista de correo de anuncios de MantisBT . SourceForge.net. 4 de febrero de 2006.
  4. "Lanzamiento de Mantis 1.1.0" . Blog de seguimiento de errores de Mantis . Mantisbt.org. 20 de diciembre de 2007.
  5. "Transición de SVN a Git" . Lista de correo Mantisbt-dev . Sourceforge.net. 4 de noviembre de 2008.
  6. Amethyst Reese (10 de noviembre de 2008). "Primer commit de MantisBT en Git" . Github.com.
  7. "Lanzamiento de MantisBT 1.2.0" . Blog de seguimiento de errores de Mantis . Mantisbt.org. 22 de febrero de 2010.
  8. "MantisBT se traslada a Github" . Lista de correo de anuncios de MantisBT . SourceForge.net. 12 de julio de 2011.
  9. "Actualización del sistema de seguimiento de errores de Mantis a la versión 2.28.1 – Noticias de Softaculous" . 18 de marzo de 2026. Consultado el 15 de abril de 2026 .
  10. "MantisBT 1.2.0rc1 Release Candidate 1" . Blog de seguimiento de errores de Mantis . Mantisbt.org. 23 de junio de 2009.
  11. "Complementos de seguimiento de errores de Mantis" . Deboutv.free.fr . Consultado el 14 de julio de 2010 .
  12. 1 2 3 4 5 "Guía de administración de Mantis Bug Tracker" . Archivado del original el 2 de diciembre de 2013. Recuperado el 11 de noviembre de 2013 .
  13. 1 2 Reese, Amethyst (7 de enero de 2009). "Integración de Git y SVN con el rastreador de errores Mantis" . NoSwap.com . Recuperado el 11 de noviembre de 2013 .
  14. "Ton en LabVIEW: Conectando Mantis con Rhodecode" . 6 de julio de 2011.
  15. "Mejores prácticas de Subversion" . Consultado el 22 de agosto de 2012 .
  16. "Lista de características de Mantis" . Wiki de MantisBT . Mantisbt.org. 25 de septiembre de 2012. Consultado el 11 de noviembre de 2013 .
  17. "Idiomas" . Ohloh.net. Archivado del original el 8 de diciembre de 2013. Consultado el 12 de noviembre de 2013 .
  18. "Historia de PHP" . PHP.net. 8 de noviembre de 2013. Consultado el 12 de noviembre de 2013 .
  19. "Código fuente de MantisBT" . GitHub.com. 11 de junio de 2009.
  20. "Código fuente de MantisBT" . GitHub.com. 6 de febrero de 2008.
  21. 1 2 "Guía de administración" . mantisbt.org . Consultado el 7 de junio de 2022 .
  22. "Código fuente de MantisBT - admin/schema.php" . GitHub.com . Consultado el 12 de noviembre de 2013 .
  23. "Manual de ADODB" . Phplens.com . Consultado el 12 de noviembre de 2013 .
  24. "Código fuente de MantisBT - library/README.libs" . GitHub.com . Consultado el 12 de noviembre de 2013 .
  • Sitio web oficial