Diferencia entre revisiones de «Herramienta Trac»

m (Texto reemplazado: «<div align="justify">» por «»)
 
(No se muestran 13 ediciones intermedias de 5 usuarios)
Línea 1: Línea 1:
{{Definición|Nombre= Herramienta Trac|imagen=Trac.jpg|concepto= Trac es una [[Herramienta]] para la gestión de proyectos y el seguimiento de errores escrita en Python}} <br>
+
{{Definición
<div align="justify">
+
|nombre= Herramienta Trac|imagen=Trac.JPG|concepto= Trac es una Herramienta para la gestión de proyectos y el seguimiento de errores escrita en Python}}  
'''Trac''': Es una [[Herramienta]] para la gestión de proyectos y el seguimiento de errores escrita en Python, inspirado en CVSTrac. Su nombre original era svntrac, debido a su fuerte dependencia de Subversion. Está desarrollado y mantenido por Edgewall Software, es software libre y de código abierto. Esta herramienta permite seguir un completo control de las funcionalidades y errores del código que se está implementando. Sin embargo, Trac es una herramienta muy más completa, pues está construido sobre una wiki que nos permite documentar todo el software sobre una única plataforma, integrando la documentación con el control de funcionalidades y errores a implementar así como también con el propio código a través de un repositorio de Subversion.  
+
 
 +
 
 +
'''Trac''': Es una [[Herramienta]] para la gestión de proyectos y el seguimiento de errores escrita en [[Python]], inspirado en CVSTrac. Su nombre original era svntrac, debido a su fuerte dependencia de Subversion. Está desarrollado y mantenido por Edgewall Software, es software libre y de código abierto. Esta herramienta permite seguir un completo control de las funcionalidades y errores del código que se está implementando. Sin embargo, Trac es una herramienta mucho más completa, pues está construido sobre una wiki que nos permite documentar todo el software sobre una única plataforma, integrando la documentación con el control de funcionalidades y errores a implementar así como también con el propio código a través de un repositorio de Subversion.  
  
 
== Arquitectura de la 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.  
 
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.  
 
+
[[Image:Arquitectura Trac.JPG|thumb|center|Arquitectura Trac]]<br>
<br>
 
 
 
[[Image:Arquitectura Trac.JPG|thumb|left|Arquitectura Trac]]<br>
 
 
 
<br>
 
<br>  
 
  
 
== Instalación de Trac en Debian  ==
 
== Instalación de Trac en Debian  ==
 
+
*apt-get install trac  
*
+
*trac-admin /var/soleupix-trac initenv (el directorio no debe existir)  
*#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)  
 
*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)  
+
*Configurar usuarios, milestones, versiones, tipos de ticket... con # trac-admin /var/soleupix-trac (para ver los comandos escribir help)
 +
===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:  
 
*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  
+
*apt-get install libapache2-mod-python  
 
*Meter esto dentro de /etc/apache2/sites-avalaible/trac:
 
*Meter esto dentro de /etc/apache2/sites-avalaible/trac:
 
+
&lt;Location /trac&gt;
&lt;Location /trac&gt; <br>
+
SetHandler mod_python
 
+
PythonHandler trac.web.modpython_frontend
SetHandler mod_python <br>
 
 
 
PythonHandler trac.web.modpython_frontend <br>
 
 
 
 
PythonOption TracEnv /var/soleupix-trac  
 
PythonOption TracEnv /var/soleupix-trac  
 
 
PythonOption TracUriRoot /trac  
 
PythonOption TracUriRoot /trac  
 
 
&lt;/Location&gt;  
 
&lt;/Location&gt;  
 
 
&lt;Location /trac/login&gt;  
 
&lt;Location /trac/login&gt;  
 
 
AuthType Basic  
 
AuthType Basic  
 
 
AuthName "myproject"  
 
AuthName "myproject"  
 
 
AuthUserFile /etc/apache2/trac.htpasswd  
 
AuthUserFile /etc/apache2/trac.htpasswd  
 
 
Require valid-user  
 
Require valid-user  
 +
&lt;/Location&gt;
  
&lt;/Location&gt;
+
===Para crear el fichero de contraseñas===
 
+
*htpasswd2 -c -m /etc/apache2/trac.htpasswd USUARIO ( -c crea el fichero, para añadir más usuarios no ponerlo)  
*Para crear el fichero de contraseñas:
+
*a2enmod mod_python (activar modulo de python)  
*#htpasswd2 -c -m /etc/apache2/trac.htpasswd USUARIO ( -c crea el fichero, para añadir más usuarios no ponerlo)  
+
*[[a2ensite]] trac (activar sitio trac)  
*#a2enmod mod_python (activar modulo de python)  
+
*/etc/init.d/apache2 force-reload
*#a2ensite trac (activar sitio trac)  
 
*#/etc/init.d/apache2 force-reload
 
  
 
== Ventajas que ofrece trabajar con Trac  ==
 
== Ventajas que ofrece trabajar con Trac  ==
Línea 77: Línea 60:
 
== Fuente  ==
 
== Fuente  ==
  
*http://es.wikipedia.org/wiki/Trac  
+
* Artículo: [http://es.wikipedia.org/wiki/Trac Trac]. Consultado: 28 de septiembre de 2012.
*http://mariodebian.com/index.php?op=printView&amp;articleId=417&amp;blogId=1  
+
* Artículo: [http://mariodebian.com/index.php?op=printView&amp;articleId=417&amp;blogId=1 Trac, impresionante herramienta para gestion de proyectos]. Publicado: 13 de octubre de 2006. Consultado: 28 de septiembre de 2012.
*http://www.21projects.com/blog/gestion-de-proyectos-software-con-trac/
+
* Artículo: [http://www.21projects.com/blog/gestion-de-proyectos-software-con-trac/ Trac, impresionante herramienta para gestion de proyectos]. Publicado: 6 de octubre. Consultado: 28 de septiembre de 2012.
 
</div>  
 
</div>  
 
[[Category:Ingeniería_de_software]]
 
[[Category:Ingeniería_de_software]]

última versión al 10:26 22 ago 2019

Herramienta Trac
Información sobre la plantilla
Trac.JPG
Concepto:Trac es una Herramienta para la gestión de proyectos y el seguimiento de errores escrita en Python


Trac: Es una Herramienta para la gestión de proyectos y el seguimiento de errores escrita en Python, inspirado en CVSTrac. Su nombre original era svntrac, debido a su fuerte dependencia de Subversion. Está desarrollado y mantenido por Edgewall Software, es software libre y de código abierto. Esta herramienta permite seguir un completo control de las funcionalidades y errores del código que se está implementando. Sin embargo, Trac es una herramienta mucho más completa, pues está construido sobre una wiki que nos permite documentar todo el software sobre una única plataforma, integrando la documentación con el control de funcionalidades y errores a implementar así como también con el propio código a través de un repositorio de Subversion.

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.

Arquitectura Trac


Instalación de Trac en Debian

  • 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)

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>

Para crear el fichero de contraseñas

  • htpasswd2 -c -m /etc/apache2/trac.htpasswd USUARIO ( -c crea el fichero, para añadir más usuarios no ponerlo)
  • a2enmod mod_python (activar modulo de python)
  • a2ensite trac (activar sitio trac)
  • /etc/init.d/apache2 force-reload

Ventajas que ofrece trabajar con Trac

  • Tenemos una vista del código svn y maneja las diferencias de manera impresionante
  • Podemos ver el histórico del proyecto (timeline)
  • Gestión de tickets (algo parecido a un bugzilla)

Previsiones de características del proyecto (milestones)

  • Wiki supercompleto integrado en el resto del sistema trac.
  • El buscador, busca tanto por logs de cambios svn, como entre las páginas del wiki o los tickets.
  • 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.

Fuente