stringtranslate.com

Rastreador de insectos Mantis

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

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

Historia

Kenzaburo Ito comenzó el desarrollo del Mantis Bug Tracking Project 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. [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 revisión Subversion a Git , una herramienta de control de revisión 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]

Características

Complementos

Con el lanzamiento de la versión 1.2.0 se introdujo un sistema de complementos controlado por eventos . [9] Este sistema de complementos permite la extensión de MantisBT a través de complementos mantenidos oficialmente y de terceros. A partir de noviembre de 2013, hay más de 50 complementos disponibles en la organización MantisBT-plugins en GitHub.

Antes de la versión 1.2.0, estaba disponible para los usuarios un sistema de complementos de terceros creado por Vincent Debout junto con una variedad de complementos diferentes. [10] Este sistema no contaba con 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 correo electrónico 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 posibilidad de suscribirse explícitamente a los problemas que los afectan.

Los canales 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 que permite enviar una notificación por Twitter cuando se resuelve un problema.

A través del sistema de complementos controlado 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 1.2.0 permitían una integración limitada con el sistema de control de revisión CVS . [11] Con la introducción de capacidades de complemento en MantisBT 1.2.0, Amethyst Reese volvió a desarrollar la integración del control de revisión en el complemento SourceIntegration.

La versión inicial del complemento SourceIntegration era compatible con GitHub , GitWeb, SourceForge y WebSVN. [12] 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 revisión y proveedores basados ​​en la web :

Al confirmar los cambios en un repositorio de código fuente, se pueden configurar ganchos posteriores a la confirmación dentro de Git o Subversion para notificar automáticamente a 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 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 verificar manualmente los cambios en un repositorio cada pocos minutos e informar de los cambios a MantisBT. [12]

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 relaciones automáticamente entre los conjuntos de cambios y los problemas correspondientes registrados en MantisBT. Se pueden especificar múltiples identificadores de problemas en un solo mensaje de conjunto de cambios, aunque esto se desaconseja comúnmente ya que indica que el conjunto de cambios no tiene un propósito único, claro y lógico. [14]

Características menores

Además de las características mencionadas anteriormente, MantisBT también tiene soporte para: [15]

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 en HTML , que se presenta y diseña con CSS . [16] La interfaz de usuario también utiliza la biblioteca de JavaScript del lado del cliente jQuery para proporcionar funciones 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 sus inicios. [17] A partir de la versión 1.2.0, la mayoría del código base de MantisBT todavía utiliza principios de programación procedimental , sin embargo algunas secciones se han convertido para hacer uso del nuevo modelo de objetos de PHP 5. [18] [19]

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 , MariaDB y PostgreSQL . Tiene soporte experimental para Microsoft SQL y Oracle . [20]

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. [21] Durante la instalación de MantisBT, las modificaciones del esquema de la base de datos se reproducen desde las primeras versiones de MantisBT para llegar al último estado.

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 [11] y ADOdb . [22]

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

Se requieren varias extensiones PHP [11] para habilitar una funcionalidad específica o por razones de rendimiento; la extensión para el RDBMS que se utiliza (es decir, mysqli ) es obligatoria.

MantisBT incluye una serie de dependencias con cada versión, entre las que se incluyen: [23]

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 representar gráficamente estadísticas.

Véase también

Referencias

  1. ^ "Versión 2.27.0". 29 de septiembre de 2024. Consultado el 22 de octubre de 2024 .
  2. ^ "Equipo de MantisBT. Esto marca una nueva era en la vida de MantisBT, donde ahora es un proyecto de equipo". GitHub . 19 de noviembre de 2021.
  3. ^ "Lanzamiento de Mantis 1.0.0 (estable)". 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. ^ "Pasar de SVN a Git". Lista de correo Mantisbt-dev . Sourceforge.net. 4 de noviembre de 2008.
  6. ^ Amethyst Reese (10 de noviembre de 2008). "Primera confirmación de Git de MantisBT". 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 muda a Github". Lista de correo de anuncios de MantisBT . SourceForge.net. 12 de julio de 2011.
  9. ^ "MantisBT 1.2.0rc1 Release Candidate 1". Blog de seguimiento de errores de Mantis . Mantisbt.org. 23 de junio de 2009.
  10. ^ "Complementos de seguimiento de errores de Mantis". Deboutv.free.fr . Consultado el 14 de julio de 2010 .
  11. ^ abcde "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 .
  12. ^ ab Reese, Amethyst (7 de enero de 2009). "Integración de Git y SVN con Mantis Bug Tracker". NoSwap.com . Consultado el 11 de noviembre de 2013 .
  13. ^ "Ton en LabVIEW: Conexión de Mantis con Rhodecode". 6 de julio de 2011.
  14. ^ "Mejores prácticas de Subversion" . Consultado el 22 de agosto de 2012 .
  15. ^ "Lista de características de Mantis". Wiki de MantisBT . Mantisbt.org. 25 de septiembre de 2012. Consultado el 11 de noviembre de 2013 .
  16. ^ "Idiomas". Ohloh.net. Archivado desde el original el 8 de diciembre de 2013. Consultado el 12 de noviembre de 2013 .
  17. ^ "Historia de PHP". PHP.net. 8 de noviembre de 2013. Consultado el 12 de noviembre de 2013 .
  18. ^ "Código fuente de MantisBT". GitHub.com. 11 de junio de 2009.
  19. ^ "Código fuente de MantisBT". GitHub.com. 6 de febrero de 2008.
  20. ^ ab "Admin Guide". mantisbt.org . Consultado el 7 de junio de 2022 .
  21. ^ "Código fuente de MantisBT - admin/schema.php". GitHub.com . Consultado el 12 de noviembre de 2013 .
  22. ^ "Manual de ADODB". Phplens.com . Consultado el 12 de noviembre de 2013 .
  23. ^ "Código fuente de MantisBT - biblioteca/README.libs". GitHub.com . Consultado el 12 de noviembre de 2013 .

Enlaces externos