3er. Parcial Actividad 2-.

Herramienta TRAC

Arquitectura de la herramienta Trac
El Trac está compuesto por una serie de paquetes que conforman su Arquitectura.
El principal paquete es el núcleo (trac.core) que implementa solo los componentes necesarios que facilitaran ampliar las funcionalidades de otros componentes que se adicionen al sistema. Se define un componente como un objeto que proporciona un determinado tipo de servicio en el contexto de la aplicación. Hay al menos una instancia de cualquiera de los componentes y utilizan el patrón de Arquitectura instancia única (singleton), lo que implica que no sea referenciado directamente a una entidad de la aplicación del modelo de objetos, sino que representen las funcionalidades de los subsistemas. Los componentes pueden declarar "la ampliación de puntos" para que otros puedan "conectarse" a ellos y así poder mejorar la funcionalidad extendida. Todo lo que se necesita es que el componente original exponga uno o más puntos de extensión. Un componente puede extender a cualquier número de otros componentes y ofrecer sus propios puntos de extensión. Esta característica es la base de una arquitectura basada en extensiones.


Instalación de Trac 

  • apt-get install trac
  • trac-admin /var/soleupix-trac initenv (el directorio no debe existir)
  • Editar /var/soleupix-trac/config/trac.ini al gusto, (importante, poner la ruta del directorio donde tenemos el svn)
  • Configurar usuarios, milestones, versiones, tipos de ticket... con # trac-admin /var/soleupix-trac (para ver los comandos escribir help)

Características
  • Permite enlazar información entre una base de datos de errores de Software un sistema de control de versiones y el contenido de un wiki.
  • Sirve como interfaz web de un sistema de control de versiones como Subversión, Git, Mercurial, Bazaar o Darcs.
  • Utiliza un sistema de plantillas web propio llamado Genshi.

Para Habilitar

  • Para habilitar la web hay dos modos, trac está programado en python y puede ponerse un cgi o bien usar el módulo de apache mod_python, yo he usado el módulo de python que recomiendan por ser más rápido:
  • apt-get install libapache2-mod-python
  • Meter esto dentro de /etc/apache2/sites-avalaible/trac:
<Location /trac> SetHandler mod_python PythonHandler trac.web.modpython_frontend PythonOption TracEnv /var/soleupix-trac PythonOption TracUriRoot /trac </Location> <Location /trac/login> AuthType Basic AuthName "myproject" AuthUserFile /etc/apache2/trac.htpasswd Require valid-user </Location>

Ventajas que ofrece trabajar con Trac

  1. Tenemos una vista del código svn y maneja las diferencias de manera impresionante
  2. Podemos ver el histórico del proyecto (timeline)
  3. Gestión de tickets (algo parecido a un bugzilla)
  4. Previsiones de características del proyecto (milestones)
  5. Wiki supercompleto integrado en el resto del sistema trac.
  6. El buscador, busca tanto por logs de cambios svn, como entre las páginas del wiki o los tickets.
  7. Es autodocumentado, cualquier cosa que quieras hacer/configurar, la buscas en el buscador y te dirá como hacerlo.
Plugins en Trac
Los plugins de Trac utilizan para su desarrollo la arquitectura basada en extensiones de Trac en la implementación de interfaces que son necesarias para su funcionamiento, ejemplo de algunas de estas son: INavigationContributor, IRequestHandler, ITemplateProvider. Estas poseen comportamientos específicos y realizan importantes funciones en la confección de plugins.
  • INavigationContributor: Utilizada para su ubicación en la barra de navegación
  • IRequestHandler: Utilizada para el tratamiento de las peticiones HTTP.
  • ITemplateProvider: Utilizada para la utilización de documentos estáticos, como plantillas.

Comentarios

Entradas más populares de este blog

3er. Parcial Actividad 4-.

Gestiona.Inf.Software En Linea

3er Parcial Actividad 6