Funcionalidades interessantes no Redmine


Como já escrevemos no outro post, a Riopro agora usa o Redmine. Usavamos o Trac para controle do desenvolvimento dos nossos projetos mas, ao optar pelo Git para controle de versões dos nossos softwares, não tivemos saída a não ser a mudança. Pouco mais de 1 mês após a implementação definitiva, a satisfação é grande e o controle dos projetos muito maior. Muito mesmo. Não que o Trac não fosse bom, mas seguramente o Redmine é mais completo, mais focado em Gerenciamento de Projetos.

Vamos então ao que interessa: funcionalidades!

De cara a primeira mudança com a chegada do Redmine é que a adminstração de todos os projetos passou a ser feita em apenas um lugar. Antes que me digam que isso deveria ser óbvio para um programa de gerenciamento de projetos (ênfase no s), isso não era possível no Trac. O Trac exigia configurações individuais. Era necessário configurar uma nova aplicação para cada projeto desenvolvido. Por isso tinhamos que manter uma página com o links para todos os projetos. Pouco prático, não é?

Além disso, o Redmine tem como característica ser customizável (veja a imagem abaixo). Vários produtos do gênero são (inclusive o Trac). As duas características que ressaltam no Redmine são a profundidade de customização e a simplicidade da mudança. A parte administrativa do Redmine permite que você crie projetos, usuários e permissões.

administration.png

Além desses, e aí começa a parte legal, o Redmine permite que você defina:

  • Status de tickets (issue statuses)
  • Crie ou gerencie campos personalizados (custom fields)
  • Personalize o comportamento do Redmine (settings)

Em Status de tickets podemos definir quais são os status possíveis para o seu sistema (como Novo, Atribuído, Resolvido, Fechado ou o que tiver em mente) e informe quais deles o Redmine deve considerar como um status que fecha o ticket.

Aqui na Riopro usamos 3 status como fechad0: Fechado,  Rejeitado e Resolvido. Os dois primeiros são intuítivos. O último serve para aqueles tickets (issues) que um desenvolvedor terminou, mas ainda não podemos dar por encerrado (falta a verificação de escopo).

A parte de criação de campos personalizados também é bastante completa. Além de cadastrar um campo e dizer qual o tipo e se o mesmo é ou não obrigatório, você pode definir se esse campo estará presente em apenas um projeto ou se deve estar presente em todos os projetos ou mesmo se podemos realizar buscas usando esse campo ou não. Bem útil, por exemplo para criar sub-categorias (tratamos aqui as categorias como os entregáveis) ou gerencia responsável pelo ticket (o campo pode ser do tipo lista também).

redmine - settings

Deixei por último a parte de personalização de comportamento do Redmine (settings). Dentre os destaques, procure na aba Repositories o item Referencing and fixing issues in commit messages. Nesses campos você poderá configurar a interação do Redmine com o repositório do seu projeto. Você pode se estabelecer que palavras o Redmine deve procurar nos seus commits para colocar no log do ticket. Mais ainda, você pode definir palavras que definem que seu ticket pode ser fechado (como fechado, resolvido,…).Um exemplo. Configuramos nosso Redmine para toda vez que escrevermos Ticket #234 ele colocar o log no ticket definido (ou seja vincula).  E toda vez que colocarmos Fecha #234 ele fecha o ticket #234, ajustando o valor do percentual de conclusão para 100%.

Outras características que podem ser configuradas e que merecem destaque são:

  • em que situação mandar e-mails para os usuários (ticket mudado, ticket fechado, ticket que acompanho,…);
  • Se necessita senha ou se é aberto para consulta (útil para projetos open source);
  • Se permite a criação de usuários ou se só o administrador vai poder cadastrar;

Bom, por enquanto é isso. Também fizemos alguns patches para o Redmine, mas só um tem alguma relevância (para ressaltar no calendário e no gráfico Gantt os tickets já fechados, bem útil). Para quem se interessar (são 2 linhas de mudança apenas), colocamos um patch no próprio gerenciador do Redmine, no ticket #1127.

Informações e Links

Junte-se comentando, lendo o que os outros dizem ou colocando um link a partir do seu blog.


Outros Artigos
Rails e um bug chamado IE6
A opção pelo Redmine

Comente

Tire um tempo para comentar e nos dizer o que você acha. Alguns códigos HTML são permitidos para formatação.

Comentários dos Leitores

Valeu pelo “status” da migração.
Aqui estamos em processo de migração também, vou ver na possibilidade de um post “pre-migração” !

valeu e sucesso!

Boa tarde,
achei muito boa a postage.
Estou precisando de informações sobre a existencia de alguma manual de usuário do RedMine em Português.

Pode me ajudar?

Valeu pelo feedback.
Comecei usar o redmine por esses dias.

Estou com uma dúvida, poderia sanar?

Não tem como deletar um member ou reenviar o email para o member? Falo isso porque quando eu cadastrei um member o servidor de email estava fora ai não tive como notificar ao mesmo e não tenho como notificar mais.

Thiago,

Nossas autenticações são diferentes. Aqui nos simplesmente cadastramos usuários. Para dizer a verdade, nem isso, porque agora eles autenticação no LDAP, portanto só dizemos que ele existe e que tipo de usuário é.

De qualquer maneira já tentou o “Lost Password?” (o famoso “perdi minha senha”)?

O ‘lost password’ funciona. O problema é que o usuário nem foi notificado que o sistema existe. :)

Thiago, entendi. Mas porque VOCÊ não entra no lost password e manda outro email para o cara? Não funciona?

No meu o resultado foi “Um email com instruções para escolher uma nova senha foi enviado para você.”. Mas lembre-se que minhas configurações não são iguais às suas.

É isso funciona mas não é o ideal, vou ver se faço um patch para no gerenciamento do usuário reenviar o email.

vlw

Tem algumas coisas que precisam ser implementadas como não permitir que um usuário com o papel tal modifique
o according to (atribuído para) do issue. Poder atribuir mais de um member para um ticket …

http://www.redmine.org/issue/show/1906

Mas o bom que é em rails da para mudar, se fosse php eu não teria motivação.

vlw

Thiago disse:

“É isso funciona mas não é o ideal, vou ver se faço um patch para no gerenciamento do usuário reenviar o email.
Tem algumas coisas que precisam ser implementadas como não permitir que um usuário com o papel tal modifique
o according to (atribuído para) do issue. Poder atribuir mais de um member para um ticket …

http://www.redmine.org/issues/show/1906

Mas o bom que é em rails da para mudar, se fosse php eu não teria motivação.

vlw”

É, dá para sugerir um patch. Para ser aprovado você só tem que ter em mente que eles possuem mais de uma forma de autenticação, e nem todas elas permitem o reenvio de senha (LDAP por exemplo). Pense também que esse link só deve estar disponível para quem necessita ativação da conta. Nos outros não faz sentido.

Talvez você tenha que fazer uma nova action para users_controller. Não gosto muito da divisão das actions nos controllers deles. O login e logout por exemplo ficam em account_controller. Meio estranho, né? Não fica nem em users nem em sessions (que aliás, não existe).