Escolar Documentos
Profissional Documentos
Cultura Documentos
Manual Redmine - Software para Gerenciamento de Projetos PDF
Manual Redmine - Software para Gerenciamento de Projetos PDF
1
Lista de Figuras
2
Capı́tulo 1
Guia de Instalação
Notas:
• RubyGems 1.3.1 é necessário
• Rake 0.8.3 é necessário
3
Base de dados
• MySQL 4.1 ou mais novo (recomendado)
• PostgreSQL 8
• SQLite 3
Componentes opcionais
• SCM binários (eg. svn), para navegar no repositório (deve estar disponı́vel
em seu PATH) Veja [[BrRedmineRepositories]] para compatibilidade necessária
do SCM.
• “RMagick” (para permitir exportar imagem png do gráfico de Gantt)
1.1.2 Instalação
1. ?? e extraia os arquivos do ??.
2. Criar um banco de dados vazio chamado redmine por exemplo. Para
MySQL:
production:
adapter: mysql
database: redmine
host: localhost
username: bduser
password: bdpasswd
4
rake redmine:load_default_data RAILS_ENV="production"
mkdir tmp
sudo chown -R redmine:redmine files log tmp
sudo chmod -R 755 files log tmp
* login: admin
* password: admin
Liberações 0.7.x
Em config/environment.rb, você pode definir parametros so seu servidor SMTP:
5
1.1.4 Backups
Backups do Redmine deveria incluir:
Aqui temos um simples script em shell que pode ser usado para fazer back-
ups diariamente (assumindo que você esteje usando uma base de dados mysql):
1 # Dados
2 / u s r / b i n /mysqldump −u <username> −p <password> <r e d m i n e d a t a b a s e > | g z i p
> / path / t o / backup /db/ r e d m i n e ‘ d a t e +%y %m %d ‘ . gz
3 # Anexos
4 r s y n c −a / path / t o / redmi ne / f i l e s / path / t o / backup / f i l e s
1.2 Atualizando
1.2.1 Atualizando de um repositório SVN
Antes de atualizar, verifique se você tem todos os ?? para versão que você quer
atualizar.
svn update
2. Migrando sua base de dados (por favor, faça um backup da sua base de
dados antes de executar isso):
rake tmp:cache:clear
rake tmp:sessions:clear
4. Reinicie a aplicação e vai até “Admin − > Roles & permissions” para
verificar/definir as permissões para as novas funcionalidades, se existir.
6
4. Vá para seu novo diretório redmine, e faça a migração da sua base de
dados (por favor, faça um backup da sua base de dados antes de executar
isso):
6. Inicie a aplicação e vá até “Admin -> Roles & permissions” e verifique/de-
fina as permissões para as novas funcionalidades, se existir.
• Usuário
• Componentes
• Versões (Milestones)
• Tı́quetes
Notas:
7
rake redmine:migrate_from_trac RAILS_ENV="test"
Deleting data
Migrating components..............................
Migrating milestones..............
Migrating custom fields.......
Migrating tickets.................................
Migrating wiki...........
Components: 29/30
Milestones: 14/14
Tickets: 1275/1275
Ticket files: 106/106
Custom values: 4409/4409
Wiki edits: 102/102
O script informa o número total dos objetos migrados. Agora, você deveria
ver um projeto chamado Myproject no Redmine com seus dados do Trac
carregados neste projeto.
1.3.2 Mantis
O Mantis importamos na migração:
• Usuários
• Projetos
• Versões do Projeto, categorias e notı́cias
• Afiliações do Projeto
8
• Bugs
• Notas do Bug, arquivos, relações e monitores
• Customização de colunas
Migrating users...............
Migrating projects.............
Migrating bugs........................................
Migrating news...
Migrating custom fields..
Users: 15/15
Projects: 13/13
Memberships: 10/10
Versions: 33/33
Categories: 4/4
Bugs: 180/180
Bug notes: 336/336
Bug files: 46/46
9
Bug relations: 11/11
Bug monitors: 8/8
News: 3/3
Custom fields: 2/2
10
1.4.4 Versões Velhas
Se você precisa usar uma versão antiga especı́fica pela polı́tica da empresa ou
coisa parecida... Porque não... Pode ser baixada escolhendo a versão que você
precisa antes colocar o número completo da versão no final da URL:
* http://redmine.rubyforge.org/svn/tags/{version}/
Mudanças permitidas
• Novas funcionalidade
• Correção de Defeitos (Bugs)
• Correções de Segurança
• Migração de Base de Dados
Mudanças permitidas
• Funcionalidades Simples
• Correção de Defeitos (Bugs)
• Correçao de Segurança
1.5.4 Referencias
http://www.redmine.org/issues/show/1901#note-14
11
Capı́tulo 2
Guia do Administrador
Texto de boas-vindas
Texto mostrado na página inicial da aplicação. Este texto pode conter marcas
HTML.
Tema
Esta opção dá a você a opção de customizar temas. Redmine é fornecido com
um tema alternativo, que prevê principalmente questões de colorização baseado
em questões prioritárias.
Screenshot:
12
Temas estão localizados em public/themes/. Você pode ler sobre isso em:
http://www.redmine.org/wiki/redmine/HowTo_create_a_custom_Redmine_
theme
Idioma padrão
A linguagem por omissão é selecionada quando a aplicação não pode determinar
a linguagem dos usuários. A linguagem por omissão é também usada quando
envia email para múltiplos usuário. Default: English
Formato da Data
Deixamos você escolher como mostrar as datas:
Servidor
Nome do host da aplicação. Este nome é usado para escrever URL no email
para enviar aos usuários.
13
Protocolo
Protocolo usado para gerar links nas notificações por email. Default: http
Formatação do texto
Métodos de formatação aplicados para a campo “description” dos tı́quetes, notı́-
cias, documentos...
Limite do feed
Número máximo de gravações contidos em alimentadores RSS. Default: 15
2.1.2 Autenticação
Exigir Autenticação
Se esta opção estiver habilitada, nenhuma página da aplicação é acessı́vel pe-
los usuários anônimos. Usuários deverão autenticar para acessar a aplicação.
Default: No
Auto-login
Esta opção deixa usuários usar a funcionalidade auto-login. Default: Disabled
Permitido Auto-registro
This option lets you enable/disable new users self registration: Esta opção deixa
você ligar/desligar novos usuários de se registrarem:
14
Perdi minha senha
Se esta opção estiver habilitada, a funcionalidade de senha perdidas estará
disponı́vel. Default: Yes
2.1.3 Tickets
Permitir relacionar tickets entre projetos
Se esta opção estiver habilitada, tı́quetes poderão relacionar entre diferentes
projetos. Default: No
15
2.1.5 Repositórios
Auto-obter commits
Se esta opção estiver habilitada, a aplicação automaticamente retorna as nova
revisões quando um usuário consulta o repositório. Default: Yes
Você pode disabilitar esta opção e automaticamente chamar o Repositório#fetch chagesets
usando cron para regularmente retornar as revisões para todo o repositório em
background. Exemplo:
ruby script/runner "Repository.fetch_changesets" -e production
Você pode também chamar esta tarefa de nos ganchos de um repositório
(hooks) através do post-commit ou post-receive, então o changesets são recu-
perados após cada commit. Aqui tem um tutorial para fazer isso com o git:
http://finalcog.com/remine-git-post-receive
Não há status padrão definido para fechar tı́quetes. Você vai ter que es-
pecificar isso se você quiser habilitar auto encerramento do tı́quete. Se você
quer referenciar tı́quetes sem usar palavras, entre com um simples: * no campo
16
Palavras de referência. Neste caso, qualquer identificação do tı́quete encon-
trado na mensagem vai ser lincado para o repositório.
Exemplos desse funcionamento nos commits de mensagens usando as palavras
por omissão:
This commit refs #1, #2 and fixes #3
Esta mensagem deveria referenciar os tı́quetes 1 e 2 e automaticamente fechar
o tı́quete 3. Mais de uma palavra de identificação de tı́quete pode ser usada,
basta separar por espaço, vı́rgula ou &.
2.2.2 Permissões
Quando editar um papel, você pode definir permissões marcando ou desmar-
cando diferentes ações.
Note que estas permissões somente aplicam para projetos públicos desde de
que usuários que não são membros do projeto privado nem podem vê-los.
17
• se o limite do tı́quete para o monitoramente deveria ser mostrado no
BrRedmineRoadmap
Tı́quete fechado : indica que o tı́quete pode ser considerado como fechado
(mais que um status pode ser declarado como fechado)
Status padrão : status aplicado por padrão para um novo tı́quetes (somente
um status pode ser definido com o padrão)
18
No exemplo acima, Bugs com um Novo status poderia ter um status de
Atribuı́do ou Resolvido pelo papel do Desenvolvedor. Aqueles que tem status
de Atribuı́dos poderia obter status de Resolvido. O status de todos os outros
Bugs não podem ser modificados pelos Desenvolvedores.
Min - max length: tamanho mı́nimo e máximo do campo (0 significa que não
há restrição)
Regular Expression: uma expressão regular pode ser usada para validar o
conteúdo do campo
Exemplos:
Possible values : valores possı́veis para um campo ”List”. Você pode adicionar
mais valores clicando neste ı́cone:
19
2.4.1 Campos para tı́quetes
Required: campo necessário para criar/salvar um novo tı́quete
For all projects: se está habilitado, este campo é usada para todos os tı́quete
de todos os projetos. Se desabilitado, cada projeto pode escolher quando
usar este campo nos seus tı́quetes (veja ??).
2.5 Enumerações
Enumerações são globais (cross-project) valores para diversas partes do sistema
Redmine:
• Atividades (time tracking)
• Categorias do documento
20
2.6 Gerenciando projetos
2.6.1 Lista de Projetos
Projeto: O nome do projeto
Público: Se este ı́cone existir, qualquer um pode ver este projeto. projetos
não públicos podem ser vistos somente pelos seus usuário que obtem acesso
pelo administrador do projeto.
21
2.7 Gerenciando Usuários
2.7.1 Lista de Usuários
Status das contas:
• Este ı́cone significa que a conta está bloqueada.Um usuário que tem
a conta bloqueada não pode logar e nem acessar a aplicação.
• Este ı́cone significa que a conta do usuário não está ativa ainda.
O botão boquear/desbloquear permite você ativa e desativar a conta.
LDAPS : verifica se você quer ou não usar LDAPS para acessar o diretório
Conta : permite você deixar esse campo em branco caso seu LDAP aceite ler
anonimamente, por outro lado entre com seu nome de usuário e senha
para ter acesso ao LDAP
Senha : senha da conta
22
Usuário Redmine deverial agora estar aptos a autenticar usando LDAP
usuário e senha, se suas contas forem definidas para usar autenticação LDAP.
Para testar, crie um usuário Redmine com um login que não casa com a
conta LDAP, selecione o novamente criar LDAP no mode de autenticação
na lista de menu (este campo está visı́vel na tela de contas somente se o LDAP
for declarado) e deixe a senha vazia. Tente autenticar no Redmine usando a
usuário e senha LDAP.
23
2.9.1 Configuração
Você pode configurar o Redmine para receber emails em um dos seguintes mo-
dos:
Required:
-u, --url URL do servidor Redmine
-k, --key chave API do Redmine
General options:
-h, --help mostra esta ajuda
-v, --verbose mostra informaç~
oes extra
-V, --version mostra informaç~
ao da vers~
ao e sai
24
Exemplos:
# Projeto n~
ao especificado. Os Emails NECESSITAM conter a palavra chave do ’Projeto’:
rdm-mailhandler --url http://redmine.domain.foo --key secret
Exemplos:
# Nenhum projeto especificado. Os emails NECESSITAM conter a ’palavra chave’ do Projeto:
# Move com sucesso os emails para caixa de emails ’lidos" e os emails falhos para
# a caixa de emails ’falhos’
25
rake redmine:email:receive\textit{imap RAILS}ENV="production" \\
host=imap.foo.bar username=redmine@somenet.foo password=xxx \\
move\textit{on}success=read move\textit{on}failure=failed
Exemplos:
# Nenhum projeto especificado. Os emails NECESSITAM conter a ’palavra chave’ do Projeto:
Porjeto alvo
O projeto alvo pode ser especificado usando a opção projeto quando receber
emails.
Se você não usar esta opção, os usuários terão de especificar no corpo do
email a qual projeto o ticket deverá ser adicionado. Isso pode ser feito inserindo
uma linha no corpo do email como esta: "Projeto: foo".
Exemplo (corpo do email):
Este é um novo ticket que será adicionado ao projeto foo.
Aqui nós temos a descriç~
ao do ticket
[...]
Projeto: foo
26
Você pode configurar um projeto padrão usando a opção projeto e deixar os
usuários sobrescreverem este projeto padrão usando a opção permitir-sobreescrever
quando receber emails. Exemplo:
# Cria tickets no projeto foo por padr~
ao
rake redmine:email:receive\textit{imap [...] project=foo allow}override=project
Atributos do ticket
Baseado nas opções usadas quando receber emails (veja a opção permitir-sobreescrever),
os usuários podem ser capazes de sobrescrever alguns atributos quando sub-
meter um ticket. Isso pode ser feito usando as seguintes palavras-chave no
corpo do email (assim como Projeto): Tipo de monitoramento, Categoria,
Prioridade, Status.
Exemplo (corpo do email):
Este é um novo ticket que sobrescreve alguns atributos
[...]
Projeto: foo
Tipo de monitoramento: Bug
Prioridade: Urgente
Status: Resolvido
Observadores
Se o usuário que mandar o email tiver a permissão “Adicionar observadores do
ticket” os usuários que estão nos campos Para ou Cc do email são automatica-
mente adicionados como observadores do ticket criado.
27
Capı́tulo 3
Guia do usuário
28
Figura 3.1: Permissão de usuários
• Transição de fluxo de trabalho pode ser definido para cada tipo ou função
do tı́quete através de uma interface de administração (uma configuração
por omissão é carregada durante a instalação da aplicação)
29
Figura 3.2: Lista de tı́quetes
30
Figura 3.4: Gráfico de Gantt
• Relatório simples para visualizar tempo gasto por usuário, tipo de tı́quete,
categoria ou atividade
Campos personalizados
• Você pode definir seu próprio campo personalizado por tı́quete, tempo
gasto, projetos e usuário
31
• Diferentes formatos são permitidos: text, date, boolean, integers, drop-
down lists and checkboxes
• Wiki usa sintaxe de texto e links livres dentro do wiki usando conchetes
• Diferenças e visualização de anotações são permitidas
32
Navegador de repositório e visualização de diferenças
33
Figura 3.8: Navegando no código
34
• Redmine deixa você autenticar usuário com LDAP
• Contas podem ser criadas on-the-fly quando o usuário é encontrado no
diretório (opcional)
• Bulgarian
• Czech
• Danish
• Dutch
• English
• Finnish
• Chinese
• French
• German
• Hebrew
• Hungarian
• Italian
• Japanese
• Lithuanian
• Korean
• Norvegian
• Polish
• Portuguese
• Romanian
• Russian
• Serbian
35
• Spanish
• Swedish
• Ukrainian
36
3.2 Contas
3.2.1 Minha conta
Esta tela permite você editar as definições da sua conta: último nome, primeiro
nome, endereço de email, idioma.
Notificações de email
Se Notificações de email está habilitado, você vai receber notificações so-
bre qualquer evento que ocorrer sobre os projetos que pertencem a (tı́quetes
adicionados ou editados, novos documentos, ...).
Se não habilitado, você vai somente receber notificações sobre os tı́quetes
que você está envolvido no (autor ou atribuı́do) e sobre eventos que você está
monitorando (ex. tı́quetes, fórum).
Senha
Para mudar sua senha, entre com sua senha antiga e sua nova senha 2 vezes. O
tamanho da senha deve estar entre 4 e 12 caracteres.
Se sua conta usa alguma altenticação externa (LDAP), você não pode mudar
sua senha no Redmine.
3.2.4 Registrar
Para registrar, você pode obter uma conta sem a intervenção do administrador.
Na tela de autenticação, clique em Registrar. Preencha o formulário e
envie-o. Um email será enviado à você. Para ativar sua conta, use o link que
está contido neste email.
Note que está funcionalidade pode ser disabilitada pelo administrador.
37
3.3 Definições do Projeto
3.3.1 Propriedades
Público : se está habilitado, o projeto pode ser visualizado por todos os seus
usuário, incluı́ndo aqueles que não são membro do projeto. se desabilitado,
somente os membros do projeto tem acesso a ele, de acorco com seu papel.
Sub-projeto de : permite você definir um projeto pai. A hierarquia dos pro-
jetos é limitada a 2 nı́veis. Um projeto pai não pode ser um sub-projeto
dele mesmo.
Nome : mostra o nome do projeto (deve ser único).
Descrição : descrição que aparece na visão geral do projeto.
Identificador : usado pela aplicação para várias coisas (ex. nas URLs). Deve
ser único. Para cada projeto criado, o identificador não pode ser modifi-
cado.
Campos personalizados : Selecione um campo personalizado que você quer
usar para os tı́quetes do projeto. Somente o administrador pode definir
um novo campo personalizado.
3.3.2 Módulos
Esta tela permite você escolher os módulos que você quer usar no projeto.
Disabilitando um módulos não exclui ele. Somente previni usuários de
acessá-los. Depois de um módulo disabilitado, você pode habilitá-lo nas con-
figurações do projeto. Você pode por exemplo disabilitar o módulo de ’Mon-
itoramento de tı́quetes’ para um simples projeto. Tı́quetes existentes não são
excluidos, você pode acessá-los novamente habilitando o módulo.
3.3.3 Membros
Está tela deixa você definir membros do projeto e seus papéis. Um usuário
pode ter somente um papel em um projeto (mas diferentes papeis em outros
projetos).
3.3.4 Versões
Versões do projeto permite você monitorar e planejar mudanças. Você pode
atribuir para uma versão e visualizar a lista de tı́quetes atribuı́dos para cada
versão no planejamento.
38
3.3.6 Wiki
Cada projeto pode ter um dono para cada wiki. Para ativar isso dê um nome
para seu página principal e clique em ’Salvar’.
3.3.7 Repositório
Um repositório (SCM) pode ser associado para cada projeto. Cada repositório
é configurado, você pode navegar e visualizar mudanças (changesets). As mu-
danças também podem aparecer em Visualizar atividades.
3.3.8 Fóruns
Cada projeto pode ter um ou mais fóruns de discussão.
3.4 Repositórios
Redmine nativamente suporta integração com diferentes SCM: Subversion, CVS,
Mercurial, Darcs, Git, and Bazaar.
Note que você precisa instalar o binário apropriado para seu servidor Red-
mine e ter certeza que eles estão disponı́veis no PATH (caminho padrão para os
binários).
39
Todos os commits vão ser obtidos pelo banco de dados Redmine.
Repositório Subversion
Protocolos habituais suportados (Ex. http:, svn:, file:), somente entre com
a URL do seu repositório.
Exemplo:
http://host/path/to/the/repository
Você pode especificar um nome de usuário e senha se o seu repositório requer
autenticação.
Nota: se você quer acessar o repositório usando svn+ssh://, você tem que
configurar svn+ssh para ser não interativo. Isto requer definir um chave públi-
ca/privada para autenticação ssh.
Repositório CVS
Entre:
• A URL do repositório (pode ser um caminho ou uma conexão, ex. :pserver).
• O nome do módulo
Exemplo:
:pserver:login:password@host:/path/to/the/repository
Repositório Git
Redmine solicita um bare e local repositório para permitir navegação. Imagine
que você queira navegar no lista de gerenciamento to-do do projeto Donebox:
a URL clone é git://github.com/ook/donebox.git No servidor onde você
roda o redmine, cria um diretório acessı́vel pelo usuário rodando no seu servidor
Redmine:
$ sudo mkdir -p /var/redmine/git_repositories
$ sudo chown rails:rails /var/redmine/git_repositories
$ cd /var/redmine/git_repositories
Note a segunda linha: mude para a permissão de dono e groupo para do
usuário rails. É claro, você tem que substituir de acordo com as configurações
do seu servidor (pode ser www-data ou para sysadmin ruins: root). Tenha em
mente que este usuário tem que estar apto a rodas comandos git.
Agora é o momento para criar seu bare repositório:
$ pwd
/var/redmine/git_repositories
$ git clone --bare git://github.com/ook/donebox.git
Initialized empty Git repository in /var/redmine/git_repositories/donebox/
remote: Counting objects: 401, done.
remote: Compressing objects: 100% (246/246), done.
remote: Total 401 (delta 134), reused 401 (delta 134)
Receiving objects: 100% (401/401), 179.55 KiB | 185 KiB/s, done.
Resolving deltas: 100% (134/134), done.
40
Pronto! vá para sue projeto redmine na aba de configurações, abaixo do
repositório e escolha git, então coloque o caminho para o diretório .git /var/red-
mine/git repositories/donebox/. Salve. Procure o seu repositório na aba:
você pode navegar agora.
Nota: É claro que repositórios git não atualizam por si mesmos. Você tem
que puxar regularmente por suas próprias mão ou por um processo cron que vai
fazer isso por você.
41
3.5 Visão Geral do Projeto
A visão geral do Projeto vai dar a você um visão do projeto como um todo. Do
lado esquerdo acima na área Issue tracking você vai ter um visão de quantos
Defeitos, Funcionalidade e Correções estão aberta e fechadas. Em Members
você pode ver quem são os membros do projeto em particular que é o admin-
istrador. Em Latest news você pode ver quais são as últimas notı́cias desse
projetos.
TODO: Escreva sobre monitoramente de tı́quetes e configurações...
42
3.6 Atividade do Projeto
A página de Atividade do Projeto vai mostras o histórico das últimas ativi-
dades em cada projeto.
Isto vai incluir mudanças como:
• Problemas, Funcionalidade, Correções
• Verificações nos repositórios (Changesets)
• Área de notı́cias
Os ı́cones abaixo são mostrados por padrão. Never the less you can activate
list of changes to the wiki or to the Forums area (Messages).
(TODO: Add screenshot)
Na lista de tı́quetes há um espaço reservado para Defeito, Funcionalidade e
Correção?
• ??
43
3.7 Monitorando tı́quetes
Tı́quetes é a alma do negócio no Redmine. O tı́quete esta ligado ao projeto,
pode ser atribuı́do a um usuário, podem ser anexado a uma versão, etc.
44
Figura 3.12: Visão geral dos tickets
45
Figura 3.14: Nova requisição
46
3.8.4 Editando multiplos tickets
Da lista de tickets, você pode editar/mover/deletar multiplos tickets selecio-
nando multiplos tickets e clicando com o botão direito na seleção. O ticket
pode ser selecionado tanto usando as caixas de seleção ou cliclando nas colunas
com as teclas Control ou Shift pressionadas. Você pode também usar o pequeno
marcador no canto superior esquerdo da lista para selecionar/deselecionar todos
os tickets.
A aba lateral contextual à direita da lista de tickets fornece links para várias
coisas diferentes:
• um link rápido para a lista de tickets padrão sem qualquer outro filtro
aplicado (apenas tickets abertos), o que é útil quando você está vendo
uma requisição customizada e quer voltar à lista de tickets padrão
47
• um link para ??, que é um relatório de todos os tickets em um nı́vel do
projeto (em contraste com a ?? que fornece uma visão geral no nı́vel da
versão)
• um link para ??, que fornece uma visão geral do nı́vel do projeto de todos
os tickets fechados e procurados, organizados pelas versões do target
• links para vários nı́veis de requisições customizadas:
Considerando o fato de que isto é uma visão geral do que mudou em uma
versão-alvo especı́fica somente tickets fechados que tem o campo versão-alvo
preenchido são mostrados nessa visão geral.
48
3.9.2 Barra lateral
A barra lateral contextual à direita do registro de alterações fornece diversas
coisas:
49
3.10 Sumário do Ticket
3.10.1 Visão Geral
O sumário do ticket fornece um relatório da quantidade de todos os tickets em
um nı́vel-projeto (em contraste com a visão geral da versão que fornece uma
visão geral de nı́vel-versão). Este relatório é dividido em diferentes blocos onde
cada bloco mostra a quantidade de tickets abertos/fechados/total por:
• Tipo de monitoramento
• Prioridade
• Usuário ao qual o ticket foi designado
• Usuário que abriu o ticket (o autor)
• Versão
• Categoria
50
3.10.3 Relatórios detalhados
Cada bloco de relatório pode ser selecionado para obter-se um relatório detal-
hado dele. Isso não mostra somente a quantidade de tickets abertos/fechados/-
total mas fornece também detalhes para todos os outros ?? configurados. A
imagem abaixo mostra o relatório detalhado das versões.
3.11 Planejamento
3.11.1 Visão geral
Se você selecionar o Planejamento você terá uma visão geral do estado atual do
seu projeto, como se segue:
Lá você pode selecionar quais tickets estão abertos e quais estão fechados.
Se você está interessado em uma lista detalhada de quais tickets não estão
resolvidos você pode simplesmente clicar no número à esquerda de aberto, mas
se você quiser saber quais tickets já estão resolvidos simplesmente clique no
número à esquerda de fechado. A barra verde indicará quão longe você está
de completar seu milestone (99%).
51
Se você clicar na versão (0.8 à direita de ) você pode obter uma visão
mais detalhada do estado atual, geral de uma versão especı́fica. Esta é a ??.
Você pode mudar a configuração de um modo em que verá uma área com
todos os tickets relacionados diretamente abaixo da milestone. Esse comporta-
mento pode ser mudado como administrador na área do ??.
52
3.12 Visão geral da versão
A visão geral da versão fornece uma visão detalhada estado atual, geral da
versão especı́fica. Isso inclui:
• uma lista de todos os tickets designados a uma versão especı́fica, in-
cluindo barra de progresso que indica uma porcentagem de abertos/ter-
minados/fechados baseado em %-terminado e nos status dos tickets, visu-
alizados por diferentes cores gradientes
• o conteúdo da página-wiki que foi configurada para ser anexada à versão
• um bloco que mostra o total do monitoramento de tempo de todo o tempo
estimado e gasto do ticket designado para a versão
• um bloco que mostra as estatı́sticas do ticket usando a mesma barra de
progresso de ativos/terminados/fechados agrupados por:
– Designado Aos Usuários
– Autores
– Categorias
– Prioridades
– Tipos de Monitoramento
Ambos os “agrupados por critério” e as próprias estatı́sticas (o número de
tickets) fornecem links “saiba-mais” para a lista de tickets que pré-carrega os
filtros especı́ficos fornecendo, dessa forma, links rápidos para tickets de um autor
especı́fico, categoria, etc.
53
3.13 Notı́cias
Na área de notı́cias você pode publicar novos itens sobre o projeto ou qualquer
assunto desejado.
Você pode dar um tı́tulo aos novos itens, um resumo e uma descrição de-
talhada. O resumo será mostrado na área de Últimas notı́cias da página
?? enquanto que a descrição será mostrada se você clicar no tı́tulo (nesse caso
Release 0.8.0 release candidate) do item das notı́cias.
Se você tem a permissão para criar novos itens então você pode editar uma
entrada existente de notı́cias.
54
Se você tem permissão para criar novos itens de notı́cias você tem um “sinal
de mais” verde no canto direito superior da tela. Se você clicar nele poderá
adicionar um novo item de notı́cias. Lá você tem que inserir o Tı́tulo, Resumo
e a Descrição do item das notı́cias.
3.14 Wiki
3.14.1 Criando uma nova página wiki
Como em qualquer wiki, é só adicionar um link para uma página colocando-o
desta forma:
[[MinhaNovaPáginaWiki]]
Então salve, e clique nesse link: você criou uma nova página wiki com nome
“MinhaNovaPáginaWiki”. Parabéns.
55
3.15 Acesso
A página de Entrar é usada para acessa o projeto para o qual você foi ativado.
O link Perdi minha senha só é mostrada se o administrador o tiver ativado.
56
3.16 Registrar
A página de Registro é usada para registrar um novo usuário. Um novo usuário
tem de fornecer informações sobre seu Login, Password , Nome, Sobrenome
e Email endereço e qual linguagem o usuário gostaria de usar para a interface
do usuário.
O administrador pode controlar se isso será mostrado.
57
Capı́tulo 4
Guia do Desenvolvedor
4.1 Download
4.1.1 Últimas versões estáveis 0.7.4 e 0.8.0 (2008-12-30)
Lançamentos do Redmine podem ser encontrados em RubyForge. Veja o http:
//www.redmine.org/wiki/redmine/Changelog para detalhes e ?? para instruções
de instalação.
Desenvolvimento
Você pode ?? o último código em desenvolvimento direto da fonte com um dos
seguintes comandos:
58
4.1.3 Fontes alternativas
• Redmine Bitnami Stack – um instalador que desenvolve Redmine 0.7.3 e
tudo que é necessário para rodá-lo (Apache, MySQL, Subversion, Ruby,
Rails, etc.). Disponı́vel para Windows, Linux, Mac x86 e Mac PPC.
4.2.1 Inicialização
Se você ainda não tem Git, veja o Guia de 5 minutos do Git nos links abiaxo
para informação sobre os downloads. Você precisará da versão do Git a partir
da 1.5.x. Para começar, execute estes comandos:
4.2.2 Exploração
Você pode ver todos os ramos que o Git obteve para você:
Você verá uma saı́da como essa (muitas linhas foram omitidas):
origin/HEAD
origin/fb-bug-259-git
origin/fb-bug-261-issue-redirect
origin/fb-bug-641-context-done
svn/git
59
svn/issue_relations
svn/mailing_lists
svn/tags/0.6.3
svn/tags/0.6.3@1011
svn/time
svn/trunk
svn/wiki
O Git está dando manutenção aos ramos “origin” (não há ramo correspon-
dente do Subversion). Os ramos svn são cópias idênticas do mesmo ramo no
repositório Subversion do Redmine.
Você baseará seu trabalho fora desses ramos.
$ git branch
master
git my-feature
60
tarefa comando
Commitar mudanças consideráveis git commit -a
Adicionar um novo arquivo ao repositório git add filename
Remove um arquivo do repositório e do diretório atual git rm filename
Renomeia um arquivo no repositório e diretório atual git mv oldname newname
Visualiza histórico git log
Pede ajuda git commandname --help
Observe que git command é o mesmo que git-command. Você pode usar
man git-command para ver a página de manual para qualquer comando Git.
git fetch
git rebase svn/trunk
Isso significa “calcule a diferença entre o trunk e o último commit deste ramo,
e armazene-o como diff em /tmp/feature.diff”. Então vá ao redmine.org, crie
um ticket, e adicione /tmp/feature.diff à ele.
Se você desejar enviar um patch em cada commit, execute git format-patch svn/trunk.
Você gerará um arquivo para cada commit, completo com o registro de com-
mit. Então você poderá adicionar cada um desses ao redmine.org. Embora,
normalmente, um grande diff será mais usado.
61
4.3.1 Criando um novo Plugin
A criação de um novo plugin pode ser feita usando o gerador de plugin do
Redmine A sintaxe para esse gerador é:
<code class="ruby">
require ’redmine’
Redmine::Plugin.register :redmine_enquetes do
name ’Plugin de Enquetes’
author ’John Smith’
description ’Um plugin para gerenciar enquetes’
version ’0.0.1’
end
</code>
62
4.3.2 Gerando um modelo
Vamos criar um modelo simples de Enquete para nosso plugin:
ruby script/generate redmine_modelo_plugin enquetes enquete question:string yes:integer no:integer
def index
@enquetes = Poll.find(:all)
63
end
def vote
enquete = Enquete.find(params[:id])
enquete.vote(params[:answer])
flash[:notice] = ’Voto salvo.’
redirect_to :action => ’index’
end
end
Então edite app/views/enquetes/index.html.erb que irá mostrar as en-
quetes existentes:
<h2>Enquetes</h2>
Observe que os resultados da enquete são zerados a cada pedido se você não
executar o programa no modo de produção, já que nosso ”modelo”de enquete é
armazenado numa variável de classe nesse exemplo.
64
Redmine::Plugin.register :redmine_enquete do
[...]
A sintaxe é:
menu(nome_do_menu, nome_do_item, url, options={})
Existem 4 menus que você pode estender:
• :before, :after - especifica onde o item do menu deve ser inserido (ex.
:after => :activity)
• :last - se marcado para true, o item ficará no final do menu (ex. :last => true)
• :html_options - uma lista de opções html que são passadas para link_to
quando renderizando um item do menu
65
Figura 4.3: Menu de aplicação
A segunda linha adiciona nossa aba Enquetes ao menu do projeto, logo antes
da aba Atividades. A primeira linha é requerida e declara que nossas 2 ações do
ControladorDeEnquetes são públicas. Vamos voltar depois para explicar isso
com mais detalhes.
Reinicie o programa novamente e vá para um dos seus projetos:
Se você clicar na aba Enquetes, você deverá notar que o menu do projeto não
está mais sendo mostrado. Para fazer o menu do projeto visı́vel, você temque
inicializar a variável de instância do controlador @project.
Edite seu ControladorDeEnquetes. Para fazê-lo:
def index
@project = Project.find(params[:project_id])
@enquete = Enquete.find(:all) # @project.enquetes
end
66
Figura 4.5: Menu do enquete
[...]
def index
@enquete = Poll.find(:all) # @project.enquete gcs
end
[...]
67
private
def find_project
# a variável @project deve ser configurada antes de chamar o filtro de autorizaç~
ao
@project = Project.find(params[:project_id])
end
end
Retomar o projeto atual antes da ação #vote pode ser feito usando um modo
similar. Depois disso, visualizar e votar nas enquetes somente estará disponı́vel
para usuários admin ou usuários que tem uma função apropriada no projeto.
68
a.vote { font-size: 120%; }
a.vote.yes { color: green; }
a.vote.no { color: red; }
69