Introdução

editar

Trac é uma ferramenta de gerenciamento e controle de mudanças em projetos de desenvolvimento de software. Auxilia no rastreamento das mudanças do projeto e quais os seus impactos. Ele foi desenvolvido em Python e está sobre a licença GPL desde meados de 2005.

Recursos

editar

O Trac possibilita realizar o planejamento de um projeto incluindo milestones, roadmaps, sistema de wiki. Fornece interface com sistemas de controle de versão como Subversion, Git e Mercurial. Também é possível fazer links com páginas da wiki, bugs, tarefas, mensagens de commit. Outra funcionalidade importante é uma linha do tempo que mostra todos os eventos que foram realizados no projeto permitindo acompanhar o progresso do projeto.

Quem Usa o Trac?

editar
Projetos Open Source Educação e Governo Companias Ornanizações Internacionais
Django NASA Langley Research Center Agile42 United Nations Office at Geneva
Fedora hosted projects University of Oxford BitNami ​IRTF / IETF
JQuery Fachhochschule Kärnten - Medical Information Technology JavaParty

Para uma lista completa dos usuários consulte: http://trac.edgewall.org/wiki/TracUsers

O que é um ticket e como ele funciona?

editar

O Trac utiliza um sistema de tickets para criar e gerenciar as atividades de um projeto. Esse sistema fornece uma maneira simples de monitorar. Combinado com os roadmaps, fornecem o elemento central da gerencia do projeto. É através dos tickets que o Trac monitora tarefas, feature requests e bug reports.

Campos em um ticket:

  • Reporter: o nome ou e-mail de quem criou o ticket, quem relatou a issue.
  • Type: a categoria .
  • Component: o modulo do projeto a que o ticket se refere.
  • Version: a versão do projeto.
  • Keyword: palavras chave.
  • Priority: a importancia do ticket.
  • Milestone: a release em que esse ticket tem que ser completado.
  • Owner: o responsável pela issue.
  • Cc: e-mails que serão notificados.
  • Resolution: resume o motivo desse ticket ter sido fechado.
  • Status: o estado atual do ticket.
  • Summary: uma descrição breve da issue.
  • Description: detalhes do motivo desse ticket ter sido criado.

Um ticket pode ser comparado a uma issue do github. Ambas são formas de rastrear atividades.

 
Exemplo de ticket no Trac
 
Exemplo de issue no github

Instalação

editar

Neste tópico contém instruções para a instalação da Ferramenta Trac versão 1.0. Caso seja necessário, acesse a página [1] com o guia de instalação para cada plataforma. Neste tutorial não estão descritas a instalação e configuração das dependências, confira os links para mais informações.

Dependências

editar

Para a completa instalação do Trac, é necessário os seguintes pacotes de software instalados:

Também será necessário um banco de dados (SQlite, PostgreSQL ou MySql).

  • SQLite

As versões de Python 2.5, 2.6 ou 2.7 já utilizam o banco SQLite pelo modulo sqlite3. Opcional: você pode instalar a nova versão do pysqlite. Mais informações PySqlite

  • PostgreSQL

Instalação do PostgreSQL e o conector Python:

  1. PostgreSQL (versão 8.0 ou posterior)
  2. psycopg2 (versão 2.0 ou posterior)

Mais informações DatabaseBackend.

  • MySQL

Instalação do MySQL e conector Python:

  1. MySQL (versão 5.0 ou posterior)
  2. MySQLdb (versão 1.2.2 ou posterior)
  • O Trac tem a possibilidade de integrar com ferramentas de controle de versão como o Subversion e Git.

Instalação da Ferramenta Trac

editar

Não será necessária a utilização de um web server pois a ferramenta já possui um standalone server, ou seja, possui um servidor próprio.

Instalação utilizando pip

editar

'pip' é uma substituição do easy_install que é muito útil para instalar pacotes Python rapidamente. A instalação através do pip pode ser feita com os seguintes comandos:

$ pip install trac psycopg2

OU

$ pip install trac mysql-python
  • Verifique se cabeçalhos específicos de seu sistema operacional estão disponíveis para pip construir automaticamente PostgreSQL ou MySQL.

Instalação utilizando easy_install

editar

Trac também pode ser instalado através do easy_install a partir dos seguintes comandos:

$ easy_install Trac
  • Instalar a última versão de desenvolvedor:
$ easy_install http://download.edgewall.org/trac/Trac-latest-dev.tar.gz

Criando um Ambiente de Projeto

editar

Um ambiente Trac é o backend onde são guardados as informações das páginas wiki, ticket, report, configuração, etc.

Um novo ambiente é criado usando o comando trac-admin:

$ trac-admin /<diretorio_para_o_projeto> initenv

O sistema irá mostrar algumas informações da criação e pedirá o nome do projeto e a conexão com o banco de dados. Caso você não queira especificar nenhuma das opções, apenas pressione <ENTER>

Iniciando o Servidor Standalone

editar

O ambiente de projeto criado pode ser acessado através de uma interface web com o seguinte comando:

$ tracd --port 8000 /path/to/myproject

Caso não ocorra nenhum erro, abra o browser acessando o link http://localhost:8000/ que abrirá a interface web da ferramente Trac

Configurando um Respositório Git

editar

O suporte para Git está presente desde a versão 1.0 como um componente opcional: tracopt.versioncontrol.git. Você simplesmente tem que que ativar o plugin no arquivo <diretorio_do_projeto>/conf/trac.ini:

[components]
tracopt.versioncontrol.git.* = enabled

É necessário ter o git instalado na máquina e um repositório local. Ainda no arquivo <diretorio_do_projeto>/conf/trac.ini altere os seguintes campos:

[Trac]

repository_type = git

repository_dir = <diretorio_do_repositorio_local>/.git

Para versões mais atuais Trac 1.1.3:

[repositories]

type = git

dir = <diretorio_do_repositorio_local>/.git

Principais Funcionalidades

editar
  • Busca de código fonte;
  • Visualizar o histórico de alterações de um arquivo ou diretório;
  • Realizando comparações entre dois arquivos ou diretórios (Diff);
  • Exibir mudanças no projeto;

Configurando Autenticação

editar

Criação de Usuário

editar
  • Instale recurso htpasswd provido pela Apache:
$ sudo apt-get install apache2-utils
  • Crie um usário e senha:
$ sudo htpasswd -c /caminho/do/diretorio/.htpasswd admin

Exemplo:

$ sudo htpasswd -c /home/usuario/Documentos/myproject/.htpasswd admin
  • Permisão de adminstrador para o usuário
$ trac-admin /home/usuario/Documentos/myproject permission add admin TRAC_ADMIN
$ cd /home/usuario/Documentos
$ tracd -p 8080 --basic-auth="myproject, myproject/.htpasswd, Testando" myproject/

Adicionando mais de um repositório ao projeto

editar


Faça o login na aplicação com uma conta de administrador:

  1. Admin > Repositories
  2. De um nome e o local do repositório.

Referências

editar

http://trac.edgewall.org/

Murphy, David J (2007). Managing Software Development with Trac and Subversion. ISBN 978-1-847191-66-3