Vous êtes sur la page 1sur 70

Manual do Redmine Software para Gerenciamento de Projetos

Marcello Henrique Dias de Moura Renato de Paula Mesquita Caroline da Cunha Mota Goinia, 19 de Fevereiro de 2009 a

Sumrio a

Lista de Figuras

Cap tulo 1

Guia de Instalao ca
1.1
1.1.1

Instalando Redmine
Requerimentos

Sistemas operacionais Redmine deveria rodar em sistemas Unix, Linux, Mac e Windows assim como ruby est dispon para essa plataformas. a vel Ruby & Ruby on Rails As necessidades das verses do Rails para as verses do Redmine para que o o funcione a contento so: a Verso do Redmine a current trunk trunk before r2493 0.8.x 0.7.x Vero Suportada Ruby a ruby 1.8.6, 1.8.7 ruby 1.8.6, 1.8.7 ruby 1.8.6, 1.8.7 ruby 1.8.6 Verso necessria do Rails a a Rails 2.2.2 Rails 2.1.2 Rails 2.1.2 Rails 2.0.2

Liberaes ociais incluem a verso apropriada do Rails em seus diretrios co a o expec cos. Portanto, no necessria uma ao espec a e a ca ca. Se voc baixar e os fontes de um repositrio Redmine, voc pode instalar uma verso do Rails o e a espec ca na sua mquina rodando: a gem install rails -v=2.1.2 Notas: RubyGems 1.3.1 necessrio e a Rake 0.8.3 necessrio e a

Base de dados MySQL 4.1 ou mais novo (recomendado) PostgreSQL 8 SQLite 3 Se voc est usando banco de dados MySQL, tem certeza de instalar o C e a bindings que melhora a permformace dramasticamente. Voc pode obt-lo roe e dando gem install mysql Componentes opcionais SCM binrios (eg. svn), para navegar no repositrio (deve estar dispon a o vel em seu PATH) Veja [[BrRedmineRepositories]] para compatibilidade necessria a do SCM. RMagick (para permitir exportar imagem png do grco de Gantt) a

1.1.2

Instalao ca

1. ?? e extraia os arquivos do ??. 2. Criar um banco de dados vazio chamado redmine por exemplo. Para MySQL: create database redmine character set utf8;

3. Copiar config/database.yml.example para config/database.yml e editar este arquivo na ordem para congurar as denies da sua base de co dados no ambiente production. Exemplo para uma base de dados MySQL: production: adapter: mysql database: redmine host: localhost username: bduser password: bdpasswd

4. Criar uma estrutura na base de dados, rodando o seguinte comando no diretrio raiz da sua aplicao: o ca rake db:migrate RAILS_ENV="production"

Isto vai criar as tabelas e a conta de administrador. 5. Inserir congurao de dados padro na base de dados, rodando o seguinte ca a comando: 4

rake redmine:load_default_data RAILS_ENV="production"

Este passo opcional porm altamente recomendado, como voc e e e e pode denir sua congurao do scratch. Isso vai carregar as regras, tipos, ca estatus, workows e numeraes. co 6. Denindo permisses Nota: Usurios windows podem pular essa sesso. o a a O usurio que rodar Redmine deve ter permisso de escrita nos seguinte a a diretrios: files, log, tmp (criando o ultimo se no existir). o a Assumindo que voc rodou Redmine com usurio redmine: e a mkdir tmp sudo chown -R redmine:redmine files log tmp sudo chmod -R 755 files log tmp

7. Testando a instalao rodando o servidor web WEBrick: ca ruby script/server -e production

Uma vez WEBrick iniciado, aponte seu navegador para http://localhost:3000/. Voc deveria ver a pgina de boas vindas da aplicao. e a ca 8. Use a conta de administrao padro logando assim: ca a * login: admin * password: admin

Voc pode ir para Admin & Settings para modicar as conguraes da e co aplicao. ca

1.1.3

Congurando servio SMTP c

Liberaes 0.8.x co Copie config/email.yml.example para config/email.yml e edite esse arquivo para ajustar as denies do seu servio SMTP. co c Liberaes 0.7.x co Em cong/environment.rb, voc pode denir parametros so seu servidor SMTP: e
* config.action_mailer.smtp_settings: SMTP server configuration * config.action_mailer.perform_deliveries: set to false to disable mail delivering

No se esquea de reiniciar sua aplicao depois da mudana. a c ca c

1.1.4

Backups

Backups do Redmine deveria incluir: * dados (alocados na sua base de dados) * anexos (alocados no seu diretrio les) o Aqui temos um simples script em shell que pode ser usado para fazer backups diariamente (assumindo que voc esteje usando uma base de dados mysql): e
1 2 3 4

# Dados / 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 # Anexos 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
1.2.1

Atualizando
Atualizando de um repositrio SVN o

Antes de atualizar, verique se voc tem todos os ?? para verso que voc quer e a e atualizar. 1. V at o diretrio Redmine e rode o seguinte comando: a e o svn update

2. Migrando sua base de dados (por favor, faa um backup da sua base de c dados antes de executar isso): rake db:migrate RAILS_ENV="production"

3. Limpe o cache e sesses existentes: o rake tmp:cache:clear rake tmp:sessions:clear

4. Reinicie a aplicao e vai at Admin > Roles & permissions para ca e vericar/denir as permisses para as novas funcionalidades, se existir. o

1.2.2

Atualizando de uma liberao baixada ca

1. Descompacte o novo arquivo no seu novo diretrio. o 2. Copie as denies do seu banco de dados cong/database.yml para dentro co do seu novo diretrito cong. o 3. Copie cong/email.yml.example para cong/email.yml e edite este arquivo para ajustar suas conguraes SMTP. co

4. V para seu novo diretrio redmine, e faa a migrao da sua base de a o c ca dados (por favor, faa um backup da sua base de dados antes de executar c isso): rake db:migrate RAILS_ENV="production" 5. Copie o contedo do diretrio RAILS ROOT/les para sua nova instau o lao. ca 6. Inicie a aplicao e v at Admin -> Roles & permissions e verique/deca a e na as permisses para as novas funcionalidades, se existir. o

1.3
1.3.1

Migrando de outros sistemas


Trac

O Trac importamos na migrao: ca Usurio a Componentes Verses (Milestones) o T quetes Comentrio dos t a quetes e mudanas (estatus e resoluo) c ca Colunas espec cas no Trac (Ex. Resolution) e adicionado como colunas customizados no Redmine Arquivos dos T quetes e customizaes de colunas co Pginas Wiki e histrico a o Notas: 1. Senhas dos usurio so todas denidas no trac a a 2. Identicao dos t ca quetes so preservadas se no ainda no houver t a a a quetes na base de dados do Redmine 3. Customizao de colunas so todas criadas como texto customizado no ca a Redmine Voc necessita do sqlite-ruby gem (gem install sqlite-ruby) para acessar a e base de dados do Trac. Antes de iniciar, voc precisa de uma base de dados fresca do Redmine, e carregando o banco de dados padro (requerimento). Veja ?? a O script foi testado com o banco de dados sqlite do Trac 0.10 e deveria funcionar com a base de dados do Trac 0.11. 1. Rodando o seguinte comando, onde test sua marca do ambiente Redmine: e

rake redmine:migrate_from_trac RAILS_ENV="test"

2. O script te perguntar sobre suas conguraes do Trac: a co Trac directory []: /var/trac/myproject Trac database adapter (sqlite, sqlite3, mysql, postgresql) [sqlite]: Database encoding [UTF-8]: Target project identifier []: myproject

O diretrio do Trac o diretrio raiz do seu ambiente Trac. O Redmine o e o vai procurar neste diretrio por db/trac.db (se voc escolher base de o e dados sqlite/sqlite3) e o diretrio attachments. Usando uma base de o dados mysql ou postgresql, o script vai perguntar as informaes para co conexo (host, nome do banco, nome do usurio e senha). O Identicador a a do projeto o identicar do projeto Redmine no qual os dados vo ser e a carregados (o projeto criado se no encontrado). e a 3. O script migrando seus dados: 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 nmero total dos objetos migrados. Agora, voc deveria u e ver um projeto chamado Myproject no Redmine com seus dados do Trac carregados neste projeto.

1.3.2

Mantis

O Mantis importamos na migrao: ca Usurios a Projetos Verses do Projeto, categorias e not o cias Aliaes do Projeto co

Bugs Notas do Bug, arquivos, relaes e monitores co Customizao de colunas ca Senha dos usurio so todas denidas no mantis. a a Migrao de arquivos de Bug somente funcionam se eles estiverem armazenaca dos no seu banco de dados Mantis (Iste o comportamento padro do Mantis). e a O script foi testado com diferentes bancos de dados Mantis 1.0.x e deveria funcionar com outras verses recentes. o Antes de iniciar, voc precisa de uma base de dados fresca do Redmine, e carregando o banco de dados padro (requerimento). Veja ?? a 1. Rodando o seguinte comando, onde test sua marca do ambiente Redmine: e rake redmine:migrate_from_mantis RAILS_ENV="test"

2. O script te perguntar sobre suas conguraes do Mantis: a co Please enter settings for your Mantis database adapter [mysql]: host [localhost]: database [bugtracker]: mantis username [root]: password []: encoding [UTF-8]:

Fornea o adaptador, nome do host, nome da base de dados, login, senha c e codicao de caracteres do seu Mantis, ou deixe as conguraes dos ca co valores por omisso. a O adptador pode ser mysql (por omisso) ou postgresql. a 3. O script migrando seus dados: Migrating Migrating Migrating Migrating Migrating users............... projects............. bugs........................................ news... 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

O script informa o nmero total dos objetos migrados. u

1.3.3

Outros sistemas

Voce pode procurar outros importadores submetidos pelos usurios Redmine: a * Jira importer: #1385 * Buzilla importer: #989 Esses scripts no foram testados nem so suportados. Se voc quer ajudar, a a e pode enviar-me (http://www.redmine.org/account/show/1) um dump da base de dados e as ferramentas.

1.4

Baixando o Redmine

Antes de baixar o Redmine, voc tem que decidir que verso voc precisa: e a e

1.4.1

Verso Estvel a a

A ultima, bem testada liberao estvel tomadas de 0.8.x-branch (que re ca a e comendada para produo) atualmente 0.8.1. Pode ser baixada usando a ca e URL: * http://redmine.rubyforge.org/svn/tags/0.8.1/ A 0.8.x-branch (que contem atualizaes inclu co das no prximo ?? no 0.8.xo branch) pode ser baixada usando a URL: * http://redmine.rubyforge.org/svn/branches/0.8-stable/

1.4.2

Verso de Desenvolvimento a

A bleeding-edge verso de desenvolvimento do Redmine que contem todos as a novas funcionalidade congeladas. Embora isso possa estar quebrada por alguns dias (muito raramente). A ultima verso de desenvolvimento do Redmine con a tinua no tronco (trunk) e pode ser baixando usando a URL: * http://redmine.rubyforge.org/svn/trunk/

1.4.3

Verso Descontinuada a

A ultima liberao descontinuada continuam em 0.7.x-branch est atuamente ca a na reviso 0.7.4. Pode ser baixada usando a URL: a * http://redmine.rubyforge.org/svn/tags/0.7.4/

10

1.4.4

Verses Velhas o

Se voc precisa usar uma verso antiga espec e a ca pela pol tica da empresa ou coisa parecida... Porque no... Pode ser baixada escolhendo a verso que voc a a e precisa antes colocar o nmero completo da verso no nal da URL: u a * http://redmine.rubyforge.org/svn/tags/{version}/

1.5

Gerenciamento de Liberaes co

Esta pgina ser um esboo de como ser manuseadas as liberaes a a c a co

1.5.1

Liberao Principal (x.0.0) ca

Redmine atualmente no faz liberaes principais (pre-1.0.0). a co

1.5.2

Liberao Menor (0.x.0) ca

Liberaes menores podem quebrar compatibilidade para trs. co a Mudanas permitidas c Novas funcionalidade Correo de Defeitos (Bugs) ca Correes de Segurana co c Migrao de Base de Dados ca Mudanas no permitidads c a Nada at esse momento. e

1.5.3

Ponto de Liberaoes (0.0.x) c

Ponto de liberaes no deveria quebrar compatibilidade para trs. co a a Mudanas permitidas c Funcionalidades Simples Correo de Defeitos (Bugs) ca Correao de Segurana c c Mudanas no permitidas c a Novas funcionalidades com muitas mudanas c Migrao de Base de Dados ca

1.5.4

Referencias

http://www.redmine.org/issues/show/1901#note-14 11

Cap tulo 2

Guia do Administrador
2.1
2.1.1

Denies da Aplicao co ca
Denies Gerais co

T tulo da aplicao ca T tulo que aparece no cabealho da aplicao. c ca Texto de boas-vindas Texto mostrado na pgina inicial da aplicao. Este texto pode conter marcas a ca HTML. Tema Esta opo d a voc a opo de customizar temas. Redmine fornecido com ca a e ca e um tema alternativo, que prev principalmente questes de colorizao baseado e o ca em questes prioritrias. o a Screenshot:

12

Temas esto localizados em public/themes/. Voc pode ler sobre isso em: a e http://www.redmine.org/wiki/redmine/HowTo_create_a_custom_Redmine_ theme Idioma padro a A linguagem por omisso selecionada quando a aplicao no pode determinar a e ca a a linguagem dos usurios. A linguagem por omisso tambm usada quando a a e e envia email para mltiplos usurio. Default: English u a Formato da Data Deixamos voc escolher como mostrar as datas: e Com base no idioma do usurio : datas vo ser mostradas especicamente a a para cada usurio de acordo com o formato denido por eles. a Outros formatos : Datas vo sempre ser mostradas usando o formato espec a co Default: Baseado na linguagem dos usurios a Tamanho mximo do anexo a Tamanho mximo de envio de arquivos (no kibi-bytes). Default: 2048 (i.e. 2 a mebi-bytes) Servidor Nome do host da aplicao. Este nome usado para escrever URL no email ca e para enviar aos usurios. a 13

Protocolo Protocolo usado para gerar links nas noticaes por email. Default: http co Formatao do texto ca Mtodos de formatao aplicados para a campo description dos t e ca quetes, not cias, documentos... Compactao do histrico do Wiki ca o Permitimos voc ativar compresso para histrico do wikis armazenados (ree a o duzindo tamanho dos dados). Default: disabled Limite do feed Nmero mximo de gravaes contidos em alimentadores RSS. Default: 15 u a co Usando cones do Gravatar Se habilitado, usurios Gravatars:http://en.gravatar.com/ (avatar globalmente a reconhecido) vai ser mostrado em diversos lugares.

2.1.2

Autenticao ca

Exigir Autenticao ca Se esta opo estiver habilitada, nenhuma pgina da aplicao acess ca a ca e vel pelos usurios annimos. Usurios devero autenticar para acessar a aplicao. a o a a ca Default: No Auto-login Esta opo deixa usurios usar a funcionalidade auto-login. Default: Disabled ca a Permitido Auto-registro This option lets you enable/disable new users self registration: Esta opo deixa ca voc ligar/desligar novos usurios de se registrarem: e a disabled : usurios no so permitidos de se registrarem a a a account activation by email : novos usurios recebem um email contendo a um link usado para tivar suas contas (usurio devem fornecer um email a vlido). a manual account activation (default) : novas contas de usurios so criadas a a mas precisam aprovao do administrador. Administradores recebem um ca email infomando sobre elas que esto pendentes de aprovao. a ca automatic account activation : novos usurios podem autenticar, logo que a tenham registado.

14

Perdi minha senha Se esta opo estiver habilitada, a funcionalidade de senha perdidas estar ca a dispon vel. Default: Yes

2.1.3

Tickets

Permitir relacionar tickets entre projetos Se esta opo estiver habilitada, t ca quetes podero relacionar entre diferentes a projetos. Default: No Visualizar tickets dos subprojetos nos projetos principais por padro a Se esta opo estiver habilitada, t ca quetes de subprojetos vo estar dispon a veis por omisso na lista de t a quetes, calendrio e gantt do projeto principal (Desde a r1198). Default: Yes Limite de exportao das tarefas ca Numero mximo do t a quete contido na exportao do CSV e PDF. Default: 500 ca campo padro vis a veis na lista de tickets Esta congurao permite voc denir que campos voc quer mostrar na sua ca e e lista de t quete por omisso. Somente customizando campos que so marcadas a a com Para todos os todos os projetos pode ser selecionada aqui.

2.1.4

Noticao por email ca

Emissiol enviado de Endereo de email usado no campo Fromdas mensagens enviadas aos usurios. c a Destinatrios com cpia oculta (cco) a o Se esta opo estiver habilitada, noticaes por email vo estar em cpia oculta. ca co a o Default: Yes Mail em texto plano Se esta opo estiver habilitada, email sero enviados somente em texto plano ca a (sem HTML). Rodap dos emails e Aqui voc pode entra com texto que vai aparecer nos email enviados pela aplie cao. ca

15

2.1.5

Repositrios o

Auto-obter commits Se esta opo estiver habilitada, a aplicao automaticamente retorna as nova ca ca revises quando um usurio consulta o repositrio. Default: Yes o a o Voc pode disabilitar esta opo e automaticamente chamar o Repositrio#fetch chagesets e ca o usando cron para regularmente retornar as revises para todo o repositrio em o o background. Exemplo: ruby script/runner "Repository.fetch_changesets" -e production Voc pode tambm chamar esta tarefa de nos ganchos de um repositrio e e o (hooks) atravs do post-commit ou post-receive, ento o changesets so recue a a perados aps cada commit. Aqui tem um tutorial para fazer isso com o git: o http://finalcog.com/remine-git-post-receive Ativa WS para gerenciamento do repositrio o Esta opo deveria ser ativada somente se voc instalou o script para criar o ca e repositrio SVN automaticamente. Default: No o Codicao dos repositrios ca o Esta opo deixa voc especicar a codicao preferida de caracteres preferida ca e ca para seus arquivos (mltiplos valores so permitidos, separados por v u a rgula). Essa codicao usada para converter o contedo dos arquivos e di para ca e u UTF-8 ento eles sero mostrados adequadamentes no seu navegador. Quando a a usar vrios tipos, o primeiro ser a codicao vlida quando o contedo a a ca a u e utilizado. Para Franceses, est opo pode ser um bom exemplo: a ca UTF-8, ISO 8859-15, CP1252 Para Japoneses: ISO-2022-JP, EUC-JP, UTF-8, SHIF_JIS, WINDOWS-31J Referenciando t quetes em uma mensagem de commit Quando obter (fetched) de um repositrio, as mensagens de commit sero vero a icadas e referenciadas ou identicao de t ca quetes sero xados. Esta opo a ca deixa voc denir palavras que pode ser usadas nas mensagens de commits para e referenciar ou consertar t quetes automaticamente, e o estatus para aplicar no conserto de um t quete. Palavras por omisso so: a a para referenciar t quetes: refs, references, IssueID para fechar t quetes: xes, closes No h status padro denido para fechar t a a a quetes. Voc vai ter que ese pecicar isso se voc quiser habilitar auto encerramento do t e quete. Se voc e quer referenciar t quetes sem usar palavras, entre com um simples: * no campo 16

Palavras de referncia. Neste caso, qualquer identicao do t e ca quete encontrado na mensagem vai ser lincado para o repositrio. o Exemplos desse funcionamento nos commits de mensagens usando as palavras por omisso: a 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 identicao de t ca quete pode ser usada, basta separar por espao, v c rgula ou &.

2.2

Regras e permisses o

Papis permite voc denir regras de permisso que membro de um projeto pode e e a ter. Cada membro do projeto tem um papel para cada projeto. Um usurio a pode ter diferentes papis para diferentes projetos. e Voc pode criar um novo papel ou editar um existente. Voc pode excluir e e um papel somente se ningum us-lo em um projeto. e a

2.2.1

Propriedade dos papis e

Nome: mostra o nome do papel Tickets podem ser atribu dos para este papel: se desabilitado, t quetes no a podem ser atribu dos para membro com este papel no projeto.

2.2.2

Permisses o

Quando editar um papel, voc pode denir permisses marcando ou desmare o cando diferentes aes. co

2.2.3

Sistema de papis e

Existe 2 sistema de papis no Redmine: No membro e Annimo. Eles so e a o a usandos internamente pelo Redmine e no podem ser exclu a dos. No membro: este papel dene a permisso que um usurio registrado a a a tem no projeto que ele no membro. a e Annimo: este papel dene que permisso os usurios annimos tem no o a a o projeto. Note que estas permisses somente aplicam para projetos pblicos desde de o u que usurios que no so membros do projeto privado nem podem v-los. a a a e

2.3
2.3.1

Sistema de monitoramente de t quetes


Monitoramento (Trackers)

Monitoramento so diferentes tipos de t a quetes. Para cada monitoramento voc e pode denir: 17

se o limite do t quete para o monitoramente deveria ser mostrado no BrRedmineRoadmap se o limite do t quete para o monitoramente deveria ser mostrado no BrRedmineIssueChangelog um diferente uxo de trabalho.

Se voc cria um novo monitoramento, voc pode denir um uxo de trabalho e e a m de utiliz-lo corretamente. Note que voc pode copiar de uxo de trabalho a e de monitoramento existente quando voc criar um novo (para que, selecionando e um monitoramento em Copiar workow de na lista de menu na tela de Novo monitoramento).

2.3.2

Status do t quete

Status do t quete pode ser adicionado ou exclu livremente. Cada status tem do as seguintes conguraes: co T quete fechado : indica que o t quete pode ser considerado como fechado (mais que um status pode ser declarado como fechado) Status padro : status aplicado por padro para um novo t a a quetes (somente um status pode ser denido com o padro) a

2.3.3

Fluxo de trabalho (Workow)

O uxo de trabalho permite voc denir a transio de status de vrios membros e ca a do projetos para permitir criar t quetes de acordo com seu tipo. Na tela de denio do uxo de trabalho, selecione o papel e o monitoraca mento que voc quer para editar o uxo de trabalho, ento click em Editar. e a A tela permite voc selecionar e autorizar a transio, para escolher o papel e e ca o monitoramento. A opo de status corrente indica o status inicial do t ca quete. O campo de Novo status permitidopara status que pode ser aplicado. Nota: Para permitir um papel de mudar o status de t quete existente, voc e tem que dar a ela a permisso de status de t a quete alterado (veja ??).

18

No exemplo acima, Bugs com um Novo status poderia ter um status de Atribu ou Resolvido pelo papel do Desenvolvedor. Aqueles que tem status do de Atribu dos poderia obter status de Resolvido. O status de todos os outros Bugs no podem ser modicados pelos Desenvolvedores. a

2.4

Campos Customizados

Customizar campos permite voc adicionar informaes nos Projetos, T e co quetes ou Usurios. Um campo customizado pode ser dos seguites tipos: a Integer: nmero positivo ou negativo u String: uma simples linha de entrada Text: mltiplas linhas de texto u Date: data Boolean: campos de marcar List: menu de escolha Algumas validaes pode ser denidas para cada campo customizado: co Min - max length: tamanho m nimo e mximo do campo (0 signica que no a a h restrio) a ca Regular Expression: uma expresso regular pode ser usada para validar o a contedo do campo u Exemplos: ^\[A-Z]{4}\d+$ : 4 letras maiscula seguidas por 1 ou mais dgitos u ^[^0-9]*$ : caracteres somente - nenhum nmero u Possible values : valores poss veis para um campo List. Voc pode adicionar e mais valores clicando neste cone: 19

2.4.1

Campos para t quetes

Required: campo necessrio para criar/salvar um novo t a quete For all projects: se est habilitado, este campo usada para todos os t a e quete de todos os projetos. Se desabilitado, cada projeto pode escolher quando usar este campo nos seus t quetes (veja ??).

2.4.2

Campos para entradas de tempo gasto

Required: campo necessrio para criar/salvar uma entrada de tempo gasto a

2.4.3

Campos por Projetos

Required: campo necessrio para criar/salvar o projeto a

2.4.4

Campo para Usurios a

Required: campo necessrio para criar/salvar usurio a a

2.5

Enumeraoes c

Enumeraes so globais (cross-project) valores para diversas partes do sistema co a Redmine: Atividades (time tracking) Categorias do documento Prioridade dos t quetes Esses tens podem ser adicionados, modicados e exclu dos livremente. Todos eles tem uma congurao que se uma enumerao corrente deveria ter ca e ca um valor padro. Se o valor padro do campos est marcado, a enumerao a a a ca selecionada vai ser padro para aquele valor espec a co no campo(s). Se no ena to ser ser denido o valor padro para uma espec a a a a ca categoria (atividades, categorias do documento ou prioridade dos t quetes) nenhum enumerao vai ca ser pre-selecionada para o campo(s) espec co(s).

20

2.6
2.6.1

Gerenciando projetos
Lista de Projetos

Projeto: O nome do projeto Descrio: Um pequena descrio do projeto ca ca Sub-projetos: Indica o nmero de sub-projetos conectados a este projeto u P blico: Se este u cone existir, qualquer um pode ver este projeto. projetos no pblicos podem ser vistos somente pelos seus usurio que obtem acesso a u a pelo administrador do projeto. Criado em: Mostra a data de criao do projeto. ca Arquivar: Voc pode arquivar um projeto clicando sobre este e cone . Um projeto arquivado no ser mais vis a a vel pelos seus usurios. Isso pode a ser desfeito (nesta mesma tela) pelo administrador. Quando arquivar o projeto, qualquer sub-projeto deste projeto ser arquivado tambm. a e Excluir: Isto excluir o projeto. O contrrio de Arquivar, voc no pode restaua a e a rar um projeto exclu do. Use quanto tiver certeza que no arrepender. a a

2.6.2
Veja ??.

Adicionando ou editando um projeto

21

2.7
2.7.1

Gerenciando Usurios a
Lista de Usurios a

Status das contas: Este cone signica que a conta est bloqueada.Um usurio que tem a a a conta bloqueada no pode logar e nem acessar a aplicao. a ca Este cone signica que a conta do usurio no est ativa ainda. a a a

O boto boquear/desbloquear permite voc ativa e desativar a conta. a e

2.7.2

Adicionando ou editando um usurio a

Um usurio designado como administrador no tem restries para acessar a a a co aplicao ou qualquer projeto. ca No modo de edio, deixe a senha em branco que permanea a mesma que ca c o usurio deniu. a

2.8

Autenticao LDAP ca

Nativamente o Redmine suporta autenticao LDAP usando um ou mltiplos ca u diretrios LDAP. o

2.8.1

Declarando um LDAP

V para Administrao -> Congurao -> Autenticao e clique Autentia ca ca ca cao LDAP, no canto inferior direito da tela. ca Entre com os dados: Nome : nome arbitrrio do seu diretrio a o Servidor : o nome do servidor LDAP Porta : A pora do LDAP (por omisso 389) a e LDAPS : verica se voc quer ou no usar LDAPS para acessar o diretrio e a o Conta : permite voc deixar esse campo em branco caso seu LDAP aceite ler e anonimamente, por outro lado entre com seu nome de usurio e senha a para ter acesso ao LDAP Senha : senha da conta DN Base : o n mais alto DN da sua rvore de diretrio LDAP vel a o Atributos de autenticao : entre com o nome do seus atributos do LDAP ca para serem usados com o nome de usurio Redmine a

22

Usurio Redmine deverial agora estar aptos a autenticar usando LDAP a usurio e senha, se suas contas forem denidas para usar autenticao LDAP. a ca Para testar, crie um usurio Redmine com um login que no casa com a a a conta LDAP, selecione o novamente criar LDAP no mode de autenticao ca na lista de menu (este campo est vis na tela de contas somente se o LDAP a vel for declarado) e deixe a senha vazia. Tente autenticar no Redmine usando a usurio e senha LDAP. a

2.8.2

Criando usurios On the y a

Para checar criao de usurios on-the-y, qualquer usurio LDAP vai ter ca a a sua conta automaticamente criada na primeira vez que ele logar no Redmine. Para que, voc tenha que espec e car nomes de atributos (primeiro nome, ultimo nome, email) que vo ser usados para criar as contas dos usurios. a a Aqui um exemplo t e pico usando Active Directory: Name Host Port LDAPS Account Password Base DN = = = = = = = My Directory host.domain.org 389 no MyDomain\UserName <password> CN=users,DC=host,DC=domain,DC=org

On-the-fly user creation = yes Attributes Login = sAMAccountName Firstname = givenName Lastname = sN Email = mail Note que nomes de atributos LDAP so case sensitive. a

2.8.3

Soluo de problemas ca

Se voc quer usar criao de usurio on-the-y, esteja certo que Redmine pode e ca a obter do seu LDAP todas as informaes para criar um usurio vlido. Por co a a exemplo, criao de usurio on-the-y no funciona se voc no tem um email ca a a e a vlido no seu diretrio (voc vai receber um um erro de Invalid username/passa o e word quando tentar logar). Tambm, esteje certo que no tem nenhum campo marcado como necessrio e a a para conta de usurios. Estes campos customizados deveria prenir contas de a usurio serem criadas dinamicamente. a

2.9

Recebendo emails

Como no 0.8.0, o Redmine pode ser congurado para permitir criao ou coca mentrio de t a ckets via email.

23

2.9.1

Congurao ca

Voc pode congurar o Redmine para receber emails em um dos seguintes moe dos: Encaminhando emails de seu servidor de email: Prs: compat o vel com um servidor de email remoto, o email proe cessado instantaneamente, rpido, sem recarregamento de ambiente) a Contras: necessita de algumas conguraes em seu agente de transco ferncia de email (ex. Postx, Sendmail...) e Enviando emails de um servidor IMAP: Prs: fcil de congurar, no necessita congurar seu MTA. como a a pat com um servidor de email remoto vel Contras: os emails no so processados instantaneamente (uma tarefa a a do cron precisa ser adicionada para ler emails periodicamente) Lendo emails de um entrada padro: a Prs: timo para testes o o Contras: lento (o ambiente recarregado cada vez que um email e e lido), necessita de algumas conguraes em seu MTA co Recuperando emails de um servidor de email Um script independente pode ser usado para encaminhar emails recebidos do seu servidor de email. Este script l um email puro de uma entrada padro e o e a encaminha para o Redmine via uma solicitao HTTP. Pode ser encontrado em ca seu diretrio redmine: extra/mail_handler/rdm-mailhandler.rb. o Para poder us-lo, voc deve habilitar a API que recebe emails: V a Cona e a guraes do programa -> Emails recebidos , verique Habilitar WS para co emails recebidos e entre com ou gere uma chave secreta. Copie rdm-mailhandler.rb para seu servidor de email e congure seu MTA Uso:
rdm-mailhandler [options] --url=<Redmine URL> --key=<API key> Required: -u, --url -k, --key General options: -h, --help -v, --verbose -V, --version

URL do servidor Redmine chave API do Redmine

mostra esta ajuda mostra informa~es extra co mostra informa~o da vers~o e sai ca a

Issue attributes control options: -p, --project=PROJECT identificador do projeto -t, --tracker=TRACKER nome do tipo de monitoramento --category=CATEGORY nome da categoria --priority=PRIORITY nome da prioridade -o, --allow-override=ATTRS permitir que o contedo do email sobrescreva atributos u especificados por op~es anteriores co ATTRS uma lista de atributos separada por vrgulas e

24

Exemplos:
# Projeto n~o especificado. Os Emails NECESSITAM conter a palavra chave do Projeto: a rdm-mailhandler --url http://redmine.domain.foo --key secret # Projeto consertado e tipo de monitoramento especificado, mas os emails podem sobrescrever # ambos os atributos do tipo de monitoramento e prioridade rdm-mailhandler --url https://domain.foo/redmine --key secret \\ --project foo \\ --tracker bug \\ --allow-override tracker,priority

Aqui est um exemplo para um Postx alias: a


foo: "|/path/to/rdm-mailhandler.rb --url http://redmine.domain --key secret --project foo"

Recuperando emails de um servidor IMAP Uma tarefa de varredura (redmine:email:receive_imap) pode ser usada para recuperar emails recebidos de um servidor IMAP.
Opoes IMAP disponveis. c~ host=HOST port=PORT ssl=SSL username=USERNAME password=PASSWORD folder=FOLDER Servidor host de IMAP (default: 127.0.0.1) Porta do servidor IMAP (default: 143) Usar SSL? (default: false) Conta IMAP Senha IMAP Pasta para leitura IMAP (default: INBOX)

Issue attributes control options: project=PROJECT identificador do projeto tracker=TRACKER nome do tipo de monitoramento category=CATEGORY nome da categoria priority=PRIORITY nome da prioridade allow_override=ATTRS permitir que o contedo do email sobrescreva atributos u especificados por opoes anteriores c~ ATTRS uma lista de atributos separada por vrgulas e

Essas opes esto dispon co a veis no trunk ou no seguinte 0.8.1


move\textit{on}success=MAILBOX move\textit{on}failure=MAILBOX move emails que foram recebidos com sucesso para o MAILBOX ao invs de delet-los e a move emails que foram ignorados para o MAILBOX

Exemplos:
# Nenhum projeto especificado. Os emails NECESSITAM conter a palavra chave do Projeto: rake redmine:email:receive\textit{imap RAILS}ENV="production" \\ host=imap.foo.bar username=redmine@somenet.foo password=xxx # Projeto consertado e tipo de monitoramento especificado, mas os emails podem sobrescrever # ambos os atributos do tipo de monitoramento e prioridade rake redmine:email:receive\textit{imap RAILS}ENV="production" \\ host=imap.foo.bar username=redmine@somenet.foo password=xxx ssl=1 \\ project=foo \\ tracker=bug \\ allow_override=tracker,priority # 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

Emails que so ignorados (usurio desconhecido, projeto desconhecido...) a a so marcados como Vistos mas no so deletados do servidor IMAP. a a a Lendo emails de uma entrada padro a Uma tarefa de varredura (redmine:email:receive) pode ser usada para ler um unico email puro da entrada padro. a
Opoes de controle dos atributos do ticket: c~ project=PROJECT identificador do projeto tracker=TRACKER nome do tipo de monitoramento category=CATEGORY nome da categoria priority=PRIORITY nome da prioridade allow_override=ATTRS permitir que o contedo do email sobrescreva atributos u especificados por opoes anteriores c~ ATTRS uma lista de atributos separada por vrgulas e

Exemplos:
# Nenhum projeto especificado. Os emails NECESSITAM conter a palavra chave do Projeto: rake redmine:email:read RAILS\textit{ENV="production" < raw}email # Projeto consertado e tipo de monitoramento especificado, mas os emails podem sobrescrever # ambos os atributos do tipo de monitoramento e prioridade rake redmine:email:read RAILS_ENV="production" \\ project=foo \\ tracker=bug \\ allow\textit{override=tracker,priority < raw}email

2.9.2

Como funciona

Quando recebe um email, Redmine usa o Endereo Remetente do email para c achar o usurio correspondente. Emails recebidos de desconhecidos ou usurios a a bloqueados so ignorados. a Se o assunto do email contm algo como Re: [xxxxxxx #123], o email e e processado como uma resposta e uma nota adicionada ao ticket #123. Do e contrrio, um novo ticket criado. a e Porjeto alvo O projeto alvo pode ser especicado usando a opo projeto quando receber ca emails. Se voc no usar esta opao, os usurios tero de especicar no corpo do e a c a a email a qual projeto o ticket dever ser adicionado. Isso pode ser feito inserindo a uma linha no corpo do email como esta: "Projeto: foo". Exemplo (corpo do email):
Este e um novo ticket que ser adicionado ao projeto foo. a Aqui ns temos a descri~o do ticket o ca [...] Projeto: foo

26

Voc pode congurar um projeto padro usando a opo projeto e deixar os e a ca usurios sobrescreverem este projeto padro usando a opo permitir-sobreescrever a a ca quando receber emails. Exemplo:
# Cria tickets no projeto foo por padr~o a rake redmine:email:receive\textit{imap [...] project=foo allow}override=project

Claro, permisses de usurios so checadas e este email seria ignorado se o o a a usurio que enviou este email no for autorizado a adicionar tickets ao projeto a a foo. Tenha certeza que o projeto alvo no usa campos customizados necessrio a a sem valores padro para seus tickets, do contrrio a criao do ticket falhar. a a ca a Atributos do ticket Baseado nas opes usadas quando receber emails (veja a opo permitir-sobreescrever), co ca os usurios podem ser capazes de sobrescrever alguns atributos quando suba 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 e um novo ticket que sobrescreve alguns atributos [...] Projeto: foo Tipo de monitoramento: Bug Prioridade: Urgente Status: Resolvido

Observadores Se o usurio que mandar o email tiver a permisso Adicionar observadores do a a ticket os usurios que esto nos campos Para ou Cc do email so automaticaa a a mente adicionados como observadores do ticket criado. Formatao de email e anexos ca O Redmine tenta usar a parte de texto simples do email para preencher a descrio do ticket. Se um email HTML-only recebido, marcadores HTML so ca e a removidos de seu corpo. Anexos de email so automaticamente anexados ao ticket, a menos que seu a tamanho exceda as ?? denidas nas conguraes da aplicao. co ca

27

Cap tulo 3

Guia do usurio a
3.1 Principais funcionalidades

Suporte para m ltiplos projetos u Gerencia todos seus projetos com uma unica instncia do Redmine a Cada usurio pode ter um papl diferente para cada projeto a e Cada projeto pode ser declarado como pblico (vis por qualquer um) u vel ou privado (vis somente por membros do projeto) vel Mdulos (ex. wiki, repositrio, monitoramento de t o o quetes, ...) podem ser habilitados ou desabilitados por projeto Suporte para m ltiplos sub-projetos u Gerencia peas relacionadas do projeto como sub-projetos do projeto princ cipal. Controle de acesso baseado em funes ou papis ex co e veis Voc dene seus papis e atribui permisses com um simples click e e o

28

Figura 3.1: Permisso de usurios a a Flex vel sistema de monitoramento de t quetes Dene sua prpria prioridade e tipos de t o quetes Transio de uxo de trabalho pode ser denido para cada tipo ou funo ca ca do t quete atravs de uma interface de administrao (uma congurao e ca ca por omisso carregada durante a instalao da aplicao) a e ca ca

29

Figura 3.2: Lista de t quetes

Figura 3.3: workow Grco de Gantt e calendrio a a Grrico de gantt automtico e calendrio baseado nas datas dos t a a a quetes

30

Figura 3.4: Grco de Gantt a Funcionalidade de rastreamento temporal O tempo pode ser descrito no projeto ou a n de t vel quete Relatrio simples para visualizar tempo gasto por usurio, tipo de t o a quete, categoria ou atividade

Figura 3.5: Tempo gasto Campos personalizados Voc pode denir seu prprio campo personalizado por t e o quete, tempo gasto, projetos e usurio a 31

Diferentes formatos so permitidos: text, date, boolean, integers, dropa down lists and checkboxes Campos personalizados podem ser mostrados na lista de t quetes e usuados como ltro apenas para organizar campos Not cias, documentos e gerenciamento de arquivos Voc pode facilmente postar mensagens e compartilhar arquivos e Wiki por projeto e fruns o Wiki usa sintaxe de texto e links livres dentro do wiki usando conchetes Diferenas e visualizao de anotaes so permitidas c ca co a

Figura 3.6: Editando wiki

32

Navegador de repositrio e visualizao de diferenas o ca c Repositrios pode ser anexados por projeto o Redmine deixa voc navegar entre o contedo, visualizar cada alterao e u ca Visualizador de diferena e anotaes c co Suporta os SCM: http://subversion.tigris.org/Subversion, http:// www.nongnu.org/cvs/CVS, http://www.selenic.com/mercurialMercurial, http://darcs.netDarcs e http://bazaar-vcs.orgBazaar.

Figura 3.7: Anotao ca

33

Figura 3.8: Navegando no cdigo o

Figura 3.9: Diferenas c Feeds & noticaes por email co Atividade do projeto, mudanas do repositrio, not c o cias, t quetes, mudana nos t c quetes so permitidas como Atom feeds a Suporte para autenticao m ltipla com LDAP ca u

34

Redmine deixa voc autenticar usurio com LDAP e a Contas podem ser criadas on-the-y quando o usurio encontrado no a e diretrio (opcional) o Suporte para auto-registro de usurio a Opcionalmente, voc pode permitir usurio de registrarem on-line e a 3 mtodos de ativao de contas so permitidos: automtico (nenhuma e ca a a conrmao requerida), manual (por administradores) ou atravs de um ca e e auto gerador de URL enviado via email Suporte a m ltiplas linguagens u Obrigado aos muitos contribuidores, Redmine ainda est dispon a vel nas seguintes linguagens: 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 Suporte a m ltiplas base de dados u Redmine roda com MySQL, PostgreSQL ou SQLite

3.1.1

Funcionalidades solicitadas

Veja uma lista delas em funcionalidades solicitadas.

36

3.2
3.2.1

Contas
Minha conta

Esta tela permite voc editar as denies da sua conta: ultimo nome, primeiro e co nome, endereo de email, idioma. c Noticaes de email co Se Noticaes de email est habilitado, voc vai receber noticaes soco a e co bre qualquer evento que ocorrer sobre os projetos que pertencem a (t quetes adicionados ou editados, novos documentos, ...). Se no habilitado, voc vai somente receber noticaes sobre os t a e co quetes que voc est envolvido no (autor ou atribu e a do) e sobre eventos que voc est e a monitorando (ex. t quetes, frum). o 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 altenticao externa (LDAP), voc no pode mudar ca e a sua senha no Redmine.

3.2.2

Minha Pgina a

Esta pgina deixa voc mostrar vrias informaes sobre seu projeto. a e a co Para personalizar sua pgina, clique em Personalizar esta pgina. Ento a a a voc pode escolher que informaes quer mostrar e onde mostr-las. e co a

3.2.3

Senha Perdida

Se voc esqueceu sua senha, o procedimento deixar voc escolher uma nova. e e e Na tela de autenticao, voc clica em *Perdi minha senha*. Entre com seu ca e endereo de email e submeta o formulrio. Um email ser enviado para voc c a a e contendo um link que vai permitir voc mudar sua senha. e Note que esta funcionalidade pode ser disabilitada pelo administrador. Tambm, se sua conta usa autenticao externa (LDAP), este procedimento est e ca a indispon vel.

3.2.4

Registrar

Para registrar, voc pode obter uma conta sem a interveno do administrador. e ca Na tela de autenticao, clique em Registrar. Preencha o formulrio e ca a envie-o. Um email ser enviado ` voc. Para ativar sua conta, use o link que a a e est contido neste email. a Note que est funcionalidade pode ser disabilitada pelo administrador. a

37

3.3
3.3.1

Denies do Projeto co
Propriedades

P blico : se est habilitado, o projeto pode ser visualizado por todos os seus u a usurio, inclu a ndo aqueles que no so membro do projeto. se desabilitado, a a somente os membros do projeto tem acesso a ele, de acorco com seu papel. Sub-projeto de : permite voc denir um projeto pai. A hierarquia dos proe jetos limitada a 2 n e veis. Um projeto pai no pode ser um sub-projeto a dele mesmo. Nome : mostra o nome do projeto (deve ser unico). Descrio : descrio que aparece na viso geral do projeto. ca ca a Identicador : usado pela aplicao para vrias coisas (ex. nas URLs). Deve ca a ser unico. Para cada projeto criado, o identicador no pode ser modi a cado. Campos personalizados : Selecione um campo personalizado que voc quer e usar para os t quetes do projeto. Somente o administrador pode denir um novo campo personalizado.

3.3.2

Mdulos o

Esta tela permite voc escolher os mdulos que voc quer usar no projeto. e o e Disabilitando um mdulos no exclui ele. Somente previni usurios de o a a acess-los. Depois de um mdulo disabilitado, voc pode habilit-lo nas cona o e a guraes do projeto. Voc pode por exemplo disabilitar o mdulo de Monco e o itoramento de t quetes para um simples projeto. T quetes existentes no so a a excluidos, voc pode acess-los novamente habilitando o mdulo. e a o

3.3.3

Membros

Est tela deixa voc denir membros do projeto e seus papis. Um usurio a e e a pode ter somente um papel em um projeto (mas diferentes papeis em outros projetos).

3.3.4

Verses o

Verses do projeto permite voc monitorar e planejar mudanas. Voc pode o e c e atribuir para uma verso e visualizar a lista de t a quetes atribu dos para cada verso no planejamento. a

3.3.5

Categoria de t quetes

Categoria de t quetes permite voc organizar seus t e quetes. Categorias por exemplo corresponde a diferentes componentes do seu projeto.

38

3.3.6

Wiki

Cada projeto pode ter um dono para cada wiki. Para ativar isso d um nome e para seu pgina principal e clique em Salvar. a

3.3.7

Repositrio o

Um repositrio (SCM) pode ser associado para cada projeto. Cada repositrio o o congurado, voc pode navegar e visualizar mudanas (changesets). As mue e c danas tambm podem aparecer em Visualizar atividades. c e

3.3.8

Fruns o

Cada projeto pode ter um ou mais fruns de discusso. o a

3.4

Repositrios o

Redmine nativamente suporta integrao com diferentes SCM: Subversion, CVS, ca Mercurial, Darcs, Git, and Bazaar. Note que voc precisa instalar o binrio apropriado para seu servidor Rede a mine e ter certeza que eles esto dispon a veis no PATH (caminho padro para os a binrios). a SCM Subversion CVS Mercurial Bazaar Darcs Git Testado com 1.3 & 1.4 1.12.12 0.9.3 1.0.0.candidate.1 1.0.7 1.5.4.2 Comentrios a 1.3 or higher required 1.12 required, wont work with CVSNT

Por exemplo, se voc quer acesar o repostitrio Subversion no Redmine, voc e o e pode ter que instalar os binrios do svn no servidor Redmine. a

3.4.1

Anexando um repositrio existente para o seu proo jeto

Nas conguraes do projeto, tenha certeza que o mdulo do Repositrio est co o o a habilitado e v para aba Repositrio. Selecione o SCM que corresponde a seu a o repositrio e entre com o caminho ou URL do seu repositrio. o o Importante: Quando voc navega pela primeira fez no repositrio, o Redmine e o atualiza as descries de todos os commits existenes no banco de dados dele. co Isto feito apenas uma vez por repositrio, mas pode demorar (v descansar e o a um pouco) se o seu repositrio tem centenas de commits o Para evitar isso, voc pode faz-lo o-line. Depois de ter declarado seu e e repositrio no Redmine, rode o seguinte comando: o ruby script/runner "Repository.fetch_changesets" -e production 39

Todos os commits vo ser obtidos pelo banco de dados Redmine. a Repositrio Subversion o Protocolos habituais suportados (Ex. http:, svn:, file:), somente entre com a URL do seu repositrio. o Exemplo: http://host/path/to/the/repository Voc pode especicar um nome de usurio e senha se o seu repositrio requer e a o autenticao. ca Nota: se voc quer acessar o repositrio usando svn+ssh://, voc tem que e o e congurar svn+ssh para ser no interativo. Isto requer denir um chave pblia u ca/privada para autenticao ssh. ca Repositrio CVS o Entre: A URL do repositrio (pode ser um caminho ou uma conexo, ex. :pserver). o a O nome do mdulo o Exemplo: :pserver:login:password@host:/path/to/the/repository Repositrio Git o Redmine solicita um bare e local repositrio para permitir navegao. Imagine o ca que voc queira navegar no lista de gerenciamento to-do do projeto Donebox: e a URL clone git://github.com/ook/donebox.git No servidor onde voc e e roda o redmine, cria um diretrio acess pelo usurio rodando no seu servidor o vel a 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 permisso de dono e groupo para do a usurio rails. E claro, voc tem que substituir de acordo com as conguraes a e co do seu servidor (pode ser www-data ou para sysadmin ruins: root). Tenha em mente que este usurio tem que estar apto a rodas comandos git. a Agora o momento para criar seu bare repositrio: e o $ 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 conguraes, abaixo do a co repositrio e escolha git, ento coloque o caminho para o diretrio .git /var/redo a o o mine/git repositories/donebox/. Salve. Procure o seu repositrio na aba: voc pode navegar agora. e Nota: E claro que repositrios git no atualizam por si mesmos. Voc tem o a e que puxar regularmente por suas prprias mo ou por um processo cron que vai o a fazer isso por voc. e

41

3.5

Viso Geral do Projeto a

A viso geral do Projeto vai dar a voc um viso do projeto como um todo. Do a e a lado esquerdo acima na rea Issue tracking voc vai ter um viso de quantos a e a Defeitos, Funcionalidade e Correes esto aberta e fechadas. Em Members co a voc pode ver quem so os membros do projeto em particular que o admine a e istrador. Em Latest news voc pode ver quais so as ultimas not e a cias desse projetos. TODO: Escreva sobre monitoramente de t quetes e conguraes... co

Figura 3.10: Viso Geral do Projeto a Do lado superior direito voc v RedmineLogin|Sign in e RedmineRegise e ter|Register. O RedmineLogin|Sign in usado para autenticar. O RedmineRege ister|Register para registrar, que pode ser disabilitado pelo administrador. TODO: Fazer links para outras reas... TODO: Screenshot sem plubicia dade...

42

3.6

Atividade do Projeto

A pgina de Atividade do Projeto vai mostras o histrico das ultimas ativia o dades em cada projeto. Isto vai incluir mudanas como: c Problemas, Funcionalidade, Correes co Vericaes nos repositrios (Changesets) co o Area de not cias Os cones abaixo so mostrados por padro. Never the less you can activate a a list of changes to the wiki or to the Forums area (Messages). (TODO: Add screenshot) Na lista de t quetes h um espao reservado para Defeito, Funcionalidade e a c Correo? ca Um novo t quete foi criado. T quete foi resolvido. O t quete foi fechado. Uma nota foi adicionada no t quete. Isso signica que foi feito um commit no repositrio. o Not cias foram adicionadas. Uma mensagem no frum foi mudada ou adicionada. o Um comentrio nas mensagens do frum foi adicionado. a o Um pgina wiki foi editada ou criada. a ?? Um novo documento foi adicionado ou mudado. Um novo projeto foi adicionado.

(TODO: Check attachment, and projects ?)

43

3.7

Monitorando t quetes

T quetes a alma do negcio no Redmine. O t e o quete esta ligado ao projeto, pode ser atribu a um usurio, podem ser anexado a uma verso, etc. do a a

3.7.1

Adicionando um novo t quete

Pessoas podem criar um novo t quete quando elas esto em ?? congurado pelo a Administrador do Redmine. (Papel: Tipos de ticket > Novo tipo). Ento criando umnovo t a quete, um dos mais importantes tens o ??, que vai e denir a natureza do t quete. Por padro, Redmine vim com 3 tipos diferentes: a problema, funcionalidade, e suporte.

3.7.2

Atualizando um t quete existente

(TODO: descrever e enviar um screenshot do painel atualizado)

3.7.3

Editando um t quete existente

Para editar um t quete existente, voc tem que ter a permisso no papel Gerene a ciamento de Tickets > Editar tickets. Este direito d a voc um link mais na a e frente do painel Atualizar. Clicando nesse link voc pode editar Assunto e a e Descrio do t ca quete.

Figura 3.11: Link mais

3.8
3.8.1

Lista de tickets
Viso geral a

A lista de tickets fornece um meio de olhar para os tickets abertos para um projeto.

3.8.2

Aplicando e salvando ltros

A lista de tickets mostra tickets abertos por padro. Padro e ?? podem ser a a usados para construir uma requisio customizada. Uma vez que os ltros esto ca a

44

Figura 3.12: Viso geral dos tickets a

prontos, clique em limpar os ltros.

para renovar a lista de tickets. Clique em

para

Figura 3.13: Filtros da lista de tickets aplicados Requisies customizadas podem ser salvas clicando em co . Um formulrio a te permite nome-lo e selecionar as colunas que voc deseja que sejam mostradas a e na lista de tickets para esta requisio (ambos padro e ?? podem ser mostraca a dos). Marcando o atributo p blico faro a requisio vis u a ca vel para todos, do contrrio somente voc o ver. a e a Uma vez salvo, a requisio listada na ??. ca e

3.8.3

Menu de atalhos

Um menu de contextos aparece quando clicado com o boto direito (ALT + a Boto esquerdo para usurios do Opera) em um ticket da lista de tickets. Esse a a menu oferece vrios atalhos para edio rpida, repriorizar, redesignar, copiar, a ca a mover ou deletar o ticket. Note que voc tem que clicar com o boto direito fora do link do e a ticket, do contrrio o menu do contexto padro do navegador mostrado. a a e 45

Figura 3.14: Nova requisio ca

Figura 3.15: Barra lateral de requisies customizadas co

Figura 3.16: Menu de Atalhos

46

3.8.4

Editando multiplos tickets

Da lista de tickets, voc pode editar/mover/deletar multiplos tickets selecioe nando multiplos tickets e clicando com o boto direito na seleo. O ticket a ca pode ser selecionado tanto usando as caixas de seleo ou cliclando nas colunas ca com as teclas Control ou Shift pressionadas. Voc pode tambm usar o pequeno e e marcador no canto superior esquerdo da lista para selecionar/deselecionar todos os tickets.

Figura 3.17: Mltipla edio u ca

3.8.5

Aba lateral

Figura 3.18: Barra lateral A aba lateral contextual ` direita da lista de tickets fornece links para vrias a a coisas diferentes: um link rpido para a lista de tickets padro sem qualquer outro ltro a a aplicado (apenas tickets abertos), o que util quando voc est vendo e e a uma requisio customizada e quer voltar ` lista de tickets padro ca a a

47

um link para ??, que um relatrio de todos os tickets em um n do e o vel projeto (em contraste com a ?? que fornece uma viso geral no n da a vel verso) a um link para ??, que fornece uma viso geral do n do projeto de todos a vel os tickets fechados e procurados, organizados pelas verses do target o links para vrios n a veis de requisies customizadas: co requisies globais (cross-project) co requisises pblicas co u requisies privadas co requisies do projeto atual co requisies pblicas co u requisies privadas co

3.9
3.9.1

O Registro de Alteraes co
Viso Geral a

O Redmine fornece um regitro de alteraes, que fornece uma viso geral de co a n vel-projeto de todos os tickets fechados, organizados por verso alvo. a

Figura 3.19: Registro de mudanas c Considerando o fato de que isto uma viso geral do que mudou em uma e a verso-alvo espec a ca somente tickets fechados que tem o campo verso-alvo a preenchido so mostrados nessa viso geral. a a

48

3.9.2

Barra lateral

A barra lateral contextual ` direita do registro de alteraes fornece diversas a co coisas: caixas de seleo e um boto de conrmao para incluir/excluir tickets de ca a ca tipos de monitoramento espec cos no registro de alteraes (quais tipos co de monitoramento so mostrados aqui com caixas de seleo dependem da a ca ?? individual) links para a verso-alvo congurada do projeto onde cada um liga-se ao a prprio registro de alteraes comeando com a verso-alvo selecionada o co c a

Figura 3.20: Barra direita

49

3.10
3.10.1

Sumrio do Ticket a
Viso Geral a

O sumrio do ticket fornece um relatrio da quantidade de todos os tickets em a o um n vel-projeto (em contraste com a viso geral da verso que fornece uma a a viso geral de n a vel-verso). Este relatrio dividido em diferentes blocos onde a o e cada bloco mostra a quantidade de tickets abertos/fechados/total por: Tipo de monitoramento Prioridade Usurio ao qual o ticket foi designado a Usurio que abriu o ticket (o autor) a Verso a Categoria

Figura 3.21: Sumrio do t a quete

3.10.2

Links saiba mais

Cada tipo de monitoramento, prioridade, usurio designado, autor, verso e a a categoria ligam-se ` ?? que tem o item selecionado como ltro atual. Os nmeros a u dos tickets nos relatrios forncevem links saiba mais para suas respectivas o vistas na ??.

50

3.10.3

Relatrios detalhados o

Cada bloco de relatrio pode ser selecionado para obter-se um relatrio detalo o hado dele. Isso no mostra somente a quantidade de tickets abertos/fechados/a total mas fornece tambm detalhes para todos os outros ?? congurados. A e imagem abaixo mostra o relatrio detalhado das verses. o o

Figura 3.22: Sumrio da verso a a

3.11
3.11.1

Planejamento
Viso geral a

Se voc selecionar o Planejamento voc ter uma viso geral do estado atual do e e a a seu projeto, como se segue:

Figura 3.23: Planejamento L voc pode selecionar quais tickets esto abertos e quais esto fechados. a e a a Se voc est interessado em uma lista detalhada de quais tickets no esto e a a a resolvidos voc pode simplesmente clicar no nmero ` esquerda de aberto, mas e u a se voc quiser saber quais tickets j esto resolvidos simplesmente clique no e a a nmero ` esquerda de fechado. A barra verde indicar quo longe voc est u a a a e a de completar seu milestone (99%).

51

Se voc clicar na verso (0.8 ` direita de e a a ) voc pode obter uma viso e a mais detalhada do estado atual, geral de uma verso espec a ca. Esta a ??. e Voc pode mudar a congurao de um modo em que ver uma rea com e ca a a todos os tickets relacionados diretamente abaixo da milestone. Esse comportamento pode ser mudado como administrador na rea do ??. a

3.11.2

Barra lateral

A barra lateral contextual ` direita do planejamento fornece diversas coisas: a uma caixa de seleo para incluir verses-target completas no planejaca o mento caixas de seleo e um boto de conrmao para incluir/excluir tickets ca a ca de tipos de monitoramento espec cos no planejamento (quais tipos de monitoramento so mostrados aqui com caixas de seleo dependem da a ca ?? individual) links para as verses-target conguradas do projeto onde cada um liga-se o ao prprio planejamento comeando com o target-version selecionado o c

52

3.12

Viso geral da verso a a

A viso geral da verso fornece uma viso detalhada estado atual, geral da a a a verso espec a ca. Isso inclui: uma lista de todos os tickets designados a uma verso espec a ca, incluindo barra de progresso que indica uma porcentagem de abertos/terminados/fechados baseado em %-terminado e nos status dos tickets, visualizados por diferentes cores gradientes o contedo da pgina-wiki que foi congurada para ser anexada ` verso u a a a um bloco que mostra o total do monitoramento de tempo de todo o tempo estimado e gasto do ticket designado para a verso a um bloco que mostra as estat sticas do ticket usando a mesma barra de progresso de ativos/terminados/fechados agrupados por: Designado Aos Usurios a Autores Categorias Prioridades Tipos de Monitoramento Ambos os agrupados por critrio e as prprias estat e o sticas (o nmero de u tickets) fornecem links saiba-mais para a lista de tickets que pr-carrega os e ltros espec cos fornecendo, dessa forma, links rpidos para tickets de um autor a espec co, categoria, etc.

Figura 3.24: Verso a A viso da verso pode ser acessado de ??, clicando na verso espec a a a ca. 53

3.13

Not cias

Na rea de not a cias voc pode publicar novos itens sobre o projeto ou qualquer e assunto desejado. Voc pode dar um t e tulo aos novos itens, um resumo e uma descrio deca talhada. O resumo ser mostrado na rea de Ultimas not a a cias da pgina a ?? enquanto que a descrio ser mostrada se voc clicar no t ca a e tulo (nesse caso Release 0.8.0 release candidate) do item das not cias. Se voc tem a permisso para criar novos itens ento voc pode editar uma e a a e entrada existente de not cias.

Figura 3.25: Editando Not cias

Figura 3.26: Viso Geral das Not a cias

54

Se voc tem permisso para criar novos itens de not e a cias voc tem um sinal e de mais verde no canto direito superior da tela. Se voc clicar nele poder e a adicionar um novo item de not cias. L voc tem que inserir o T a e tulo, Resumo e a Descrio do item das not ca cias.

Figura 3.27: Adicionando Not cias

3.14
3.14.1

Wiki
Criando uma nova pgina wiki a

Como em qualquer wiki, s adicionar um link para uma pgina colocando-o e o a desta forma: [[MinhaNovaPginaWiki]] a Ento salve, e clique nesse link: voc criou uma nova pgina wiki com nome a e a MinhaNovaPginaWiki. Parabns. a e

55

3.15

Acesso

A pgina de Entrar usada para acessa o projeto para o qual voc foi ativado. a e e O link Perdi minha senha s mostrada se o administrador o tiver ativado. oe

Figura 3.28: Acesso

56

3.16

Registrar

A pgina de Registro usada para registrar um novo usurio. Um novo usurio a e a a tem de fornecer informaes sobre seu Login, Password , Nome, Sobrenome co e Email endereo e qual linguagem o usurio gostaria de usar para a interface c a do usurio. a O administrador pode controlar se isso ser mostrado. a

Figura 3.29: Tela de registro

57

Cap tulo 4

Guia do Desenvolvedor
4.1
4.1.1

Download
Ultimas verses estveis 0.7.4 e 0.8.0 (2008-12-30) o a

Lanamentos do Redmine podem ser encontrados em RubyForge. Veja o http: c //www.redmine.org/wiki/redmine/Changelog para detalhes e ?? para instrues co de instalao. ca

4.1.2

Cdigo fonte atual o

Voc pode obter o cdigo fonte atula do Redmine do repositrio Subversion e o o hospedado no Rubyforge. Esse o melhor modo de obter o Redmine se voc e quiser se beneciar das ultimas melhorias. Usando o repositrio SVN voc o e tambm pode atualiz-lo mais facilmente. e a A URL do repositrio : http://redmine.rubyforge.org/svn o e Desenvolvimento Voc pode ?? o ultimo cdigo em desenvolvimento direto da fonte com um dos e o seguintes comandos: svn co http://redmine.rubyforge.org/svn/trunk redmine svn co svn://rubyforge.org/var/svn/redmine/trunk redmine 0.7 & 0.8 Estveis a Voc pode ?? o ultimo cdigo fonte estvel com um dos seguintes comandos: e o a svn co http://redmine.rubyforge.org/svn/branches/0.8-stable redmine-0.8 svn co svn://rubyforge.org/var/svn/redmine/branches/0.8-stable redmine-0.8 Ele criar um diretrio de nome redmine-0.8 e voc poder atualizar sua a o e a cpia do Redmine usando svn update nesse diretrio. o o

58

4.1.3

Fontes alternativas

Redmine Bitnami Stack um instalador que desenvolve Redmine 0.7.3 e tudo que necessrio para rod-lo (Apache, MySQL, Subversion, Ruby, e a a Rails, etc.). Dispon para Windows, Linux, Mac x86 e Mac PPC. vel

4.1.4

Corrigindo defeitos

Se voc obter esse erro enquanto tentava conferir seu cdigo: e o erro "PROPFIND 200 OK" Por favor contate seu administrador de rede e pea-o para habilitar a extenso c a WebDAV em seu proxy.

4.2

Usando Git para contribuir com Redmine

A rvore fonte do Redmine est armazenada no Subversion, e tudo gera feeds a a l dentro de vez em quando. Os que j esto acostumados a usar Git preferem a a a us-lo por suas caracter a sticas de ramicao e juno, e porque voc no precisa ca ca e a ter acesso commit do SVN para realizar um commit. Cuidado: O repositrio git em complete.org no mantido atualizado, sendo o a e que esse texto foi pela ultima vez modicado Segunda, 8 Set 2008. E re comendvel que voc clone GitHub mirror http://github.com/edavis10/ a e redmine/tree/master para o ultimo trabalho em desenvolvimento. Se voc est procurando para instrues do Subversion, elas podem ser ene a co contradas na ??.

4.2.1

Inicializao ca

Se voc ainda no tem Git, veja o Guia de 5 minutos do Git nos links abiaxo e a para informao sobre os downloads. Voc precisar da verso do Git a partir ca e a a da 1.5.x. Para comear, execute estes comandos: c git clone git://git.complete.org/branches/redmine-integration cd redmine-integration git config --add remote.origin.fetch +refs/remotes/svn/\textbf{:refs/remotes/svn/} git fetch

4.2.2

Explorao ca

Voc pode ver todos os ramos que o Git obteve para voc: e e git branch -r | less Voc ver uma sa como essa (muitas linhas foram omitidas): e a da 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 manuteno aos ramos origin (no h ramo correspona ca a a dente do Subversion). Os ramos svn so cpias idnticas do mesmo ramo no a o e repositrio Subversion do Redmine. o Voc basear seu trabalho fora desses ramos. e a

4.2.3

Iniciando Seu Atributo

Com o git, ramos so baratos e junes so fceis, ento voc geralmente a co a a a e comear um novo ramo para cada atributo no qual voc trabalhar. Um unico c a e ramo provavelmente corresponder a um unico ticket no Redmine quando voc a e enviar o patch. Voc poder basear seu patch no trunk do svn. Ento seu ramo ser montado e a a a desta forma: \$ git branch meu-atributo svn/trunk Branch meu-atributo set up to track remote branch refs/remotes/svn/trunk. \$ git checkout meu-atributo A primeira linha criou um ramo chamado my-feature, que ser baseado no a svn/trunk. O segundo comando verica aquele ramo, que quer dizer que a cpia o na qual voc est trabalhando alterada para o ramo, e qualquer commit feito e a e ser postado naquele ramo. a Note que o ato de commitar no envia patch algum para mais ningum; a e assim como o Git distribu e do, os commits so armazenados localmente at a e que voc esteja pronto para jog-los no trunk. e a Voc pode executar git branch para ver em qual ramo voc est ele ter e e a a um asterisco prximo a ele, desta forma: o $ git branch master git my-feature

4.2.4

Trabalhando em seu atributo

Agora que voc criou seu ramo, hora de trabalhar. e e Aqui esto alguns comandos que voc talvez queira usar: a e

60

tarefa Commitar mudanas considerveis c a Adicionar um novo arquivo ao repositrio o Remove um arquivo do repositrio e do diretrio atual o o Renomeia um arquivo no repositrio e diretrio atual o o Visualiza histrico o Pede ajuda

comando git commit -a git add filename git rm filename git mv oldname newname git log git commandname --help

Observe que git command o mesmo que git-command. Voc pode usar e e man git-command para ver a pgina de manual para qualquer comando Git. a

4.2.5

Unindo ao trunk

Se voc est trabalhando em seu atributo j a algum tempo, pode ser que o e a a Subversion tenha atualizado. Idealmente voc deve comparar seu trabalho com e a ultima reviso do trunk, para ento fazer seu patch funcionar com ele. Para a a atualizar seus patches e aplic-los acima do ultimo trunk, faa o seguinte: a c git fetch git rebase svn/trunk

4.2.6

Enviando seu Patch

Quando tiver acabado de trabalhar em seu patch, tenha certeza de commit-lo a ao Git. Ento voc pode gerar dis. a e Voc pode gerar um grande di, que inclua todas as mudanas feitas ao ramo, e c at mesmo se elas foram feitas em mltiplos commits. Execute o seguinte: e u git diff svn/trunk..HEAD > /tmp/feature.diff Isso signica calcule a diferena entre o trunk e o ultimo commit deste ramo, c e armazene-o como di em /tmp/feature.di. Ento v ao redmine.org, crie a a um ticket, e adicione /tmp/feature.di ` ele. a Se voc desejar enviar um patch em cada commit, execute git format-patch svn/trunk. e Voc gerar um arquivo para cada commit, completo com o registro de come a mit. Ento voc poder adicionar cada um desses ao redmine.org. Embora, a e a normalmente, um grande di ser mais usado. a

4.2.7

Links Externos

Git homepage http://www.git.or.cz/ 5-Minute Git Guide http://software.complete.org/site/wiki/GitGuide

4.3

Tutorial de Plugin

Nota: Para seguir esse tutorial, voc necesita executar o Redmine devel r1786 e ou mais recente.

61

4.3.1

Criando um novo Plugin

A criao de um novo plugin pode ser feita usando o gerador de plugin do ca Redmine A sintaxe para esse gerador : e ruby script/generate redmine_plugin <nome_do_plugin> Abra um prompt de comando e cdpara seu diretrio do redmine, ento o a execute o seguinte comando: % ruby script/generate redmine_plugin Enquetes A estrutura do plugin criada em vendor/plugins/redmine_enquetes: e create create create create create create create create create create create create create vendor/plugins/redmine_enquetes/app/controllers vendor/plugins/redmine_enquetes/app/helpers vendor/plugins/redmine_enquetes/app/models vendor/plugins/redmine_enquetes/app/views vendor/plugins/redmine_enquetes/db/migrate vendor/plugins/redmine_enquetes/lib/tasks vendor/plugins/redmine_enquetes/assets/images vendor/plugins/redmine_enquetes/assets/javascripts vendor/plugins/redmine_enquetes/assets/stylesheets vendor/plugins/redmine_enquetes/lang vendor/plugins/redmine_enquetes/README vendor/plugins/redmine_enquetes/init.rb vendor/plugins/redmine_enquetes/lang/en.yml

Edite vendor/plugins/redmine_enquetes/init.rb para ajustar as informaes do plugin (nome, autor, descrio e verso): co ca a <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> Agora reinicie o programa e navegue para http://localhost:3000/admin/info. Depois de logar, voc dever ver um novo plugin na lista de plugins: e a

Figura 4.1: Lista de Plugins

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

Isso cria o modelo de Esquete e o arquivo de migrao correspondente. ca Note que as migraes com data marcada no so suportadas pela engine co a a de plugin atual do Redmine (Engines). Se suas migraes esto nomeadas com co a data amrcada, renomeie-as usando 001, 002, etc. Migre o banco de dados usando o seguinte comando: rake db:migrate_plugins Observe que cada plugin tem seu poprio plano de migraes. r co Edite app/models/enquete g.rb no seu diretrio de plugin para adicionar o o mtodo #vote que ser chamado do nosso controlador: e a <code class="ruby"> class Enquete < ActiveRecord::Base def vote(resposta) increment(resposta == yes ? :yes : :no) end end </code>

4.3.3

Gerando um controlador

Por enquanto, o plugin no faz nada. Ento vamos criar um controlador para a a nosso plugin. Podemos usar o gerador de controlador para isso. A sintaxe : e
ruby script/generate redmine_contolador_de_plugin <nome_do_plugin> <nome_do_controlador> [<actions>]

Volte para o prompt de comando e execute:


% ruby script/generate redmine_controlador_de_plugin Enquetes enquete index vote exists app/controllers/ exists app/helpers/ create app/views/enquetes create test/functional/ create app/controllers/controlador_enquetes.rb create test/functional/controlador_enquetes_teste.rb create app/helpers/ajudante_enquete.rb create app/views/enquete /index.html.erb create app/views/enquete /vote.html.erb

Um controlador ControladorDeEnquete com 2 aes (#index e #vote) co e criado. Edite app/controllers/controlador_enquetes.rb no diretrio redmine_enquetes o para implementar essas 2 aes. co
class ControladorDeEnquetes < ApplicationController unloadable 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

Ento edite app/views/enquetes/index.html.erb que ir mostrar as ena a quetes existentes:


<h2>Enquetes</h2> <% @enquetes.each do |enquete| %> <p> <%= enquete[:question] %>? <%= link_to Yes, {:action => vote, :id => enquete g[:id], :answer => yes}, :method => :post %> (<%= enquete gc[:yes] %>) / <%= link_to No, {:action => vote, :id => enquete g[:id], :answer => no}, :method => :post %> (<%= enquete gc[:no] %>) </p> <% end %>

Voc pode remover vote.html.erb j que nenhuma renderizao realizada e a ca e pela ao correspondente. ca Agora, reinicie seu programa e navegue para http://localhost:3000/enquete. Voc dever ver as 2 enquetes e poder votar nelas: e a a

Figura 4.2: Vecao ca Observe que os resultados da enquete so zerados a cada pedido se voc no a e a executar o programa no modo de produo, j que nosso modelode enquete ca a e armazenado numa varivel de classe nesse exemplo. a

4.3.4

Estendendo menus

Nosso controlador funciona perfeitamente mas os usurios tem de saber a url a para ver a enquete. Usando o plugin API do Redmine, voc pode estender os e menus padro. Ento vamos adicionar um novo item ao menu de programas. a a Estendendo o menu de programas Edite init.rb na raiz do seu diretrio de plugin para adicionar a linha seguinte o no nal do bloco plugin registration:

64

Redmine::Plugin.register :redmine_enquete do [...] menu :application_menu, :enquete, { :controller => enquetes, :action => index }, :caption => Enquetes end

A sintaxe : e menu(nome_do_menu, nome_do_item, url, options={}) Existem 4 menus que voc pode estender: e :top_menu - menu superior esquerdo :account_menu - menu superior direito com links de entrar e sair :application_menu - menu principal mostrado quando o usurio no est a a a dentro do projeto :project_menu - menu principal mostrado quando o usurio est dentro a a do projeto As opes dispon co veis so: a :param - a chave de parmetro que usada para a identicao do projeto a e ca (padro :id) a e :if - uma Proc que chamada antes de renderizar o item, o item pe e mostrado somente se retornar true :caption - o texto explicativo do menu pode ser: um S mbolo string localizado uma String uma Proc que pode tomar o projeto como argumento :before, :after - especica onde o item do menu deve ser inserido (ex. :after => :activity) :last - se marcado para true, o item car no nal do menu (ex. :last => true) a :html_options - uma lista de opes html que so passadas para link_to co a quando renderizando um item do menu Em nosso exemplo, adicionamos um item ao menu do programa o qual est a vazio por padro. Reinicie o programa e v para http://localhost:3000: a a Agora voc pode acessar a enquete clicando na aba de Enquetes da tela de e boas vindas.

65

Figura 4.3: Menu de aplicao ca Estendendo o menu do projeto Agora, vamos considerar que a enquete denida no n do projeto (mesmo e vel que este no o caso em nosso exemplo modelo de enquete). Ento, ao invs, a e a e poder amos adicionar a aba Enquetes ao nosso menu do projeto. Abra init.rb e substitua a linha que foi adicionada logo antes dessas 2 linhas:
Redmine::Plugin.register :redmine_enquete do [...] permission :enquete, {:enquetes => [:index, :vote]}, :public => true menu :project_menu, :enquete, { :controller => enquetes, :action => index }, :caption => Enquetes, :after => :activity, :param => :project_id end

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 aes do e co ControladorDeEnquetes so pblicas. Vamos voltar depois para explicar isso a u com mais detalhes. Reinicie o programa novamente e v para um dos seus projetos: a

Figura 4.4: Menu do projeto Se voc clicar na aba Enquetes, voc dever notar que o menu do projeto no e e a a est mais sendo mostrado. Para fazer o menu do projeto vis a vel, voc temque e inicializar a varivel de instncia do controlador @project. a a Edite seu ControladorDeEnquetes. Para faz-lo: e def index @project = Project.find(params[:project_id]) @enquete = Enquete.find(:all) # @project.enquetes end A identicao do projeto est dispon ca a vel no parmetro :project_id por a causa da opo :param => :project_id na declarao de item do menu acima. ca ca Agora, voc deve ver o menu do projeto enquanto estiver vendo a enquete: e 66

Figura 4.5: Menu do enquete

4.3.5

Adicionando novas permisses o

Por enquanto, qualquer pessoa pode votar na enquete. Vamos faz-la mais cone gurvel trocando a declarao de permisses. Vamos declarar 2 permisses com a ca o o base em projetos, uma para ver a enquete e outra para votar. Essas permisses o no so mais pblicas (a opo :public => true foi removida). a a u ca Edite init.rb para substituir a declarao de permisses anterior com essas ca o 2 linhas: permission :view_enquete , :enquete gcs => :index permission :vote_enquete , :enquete gcs => :vote Reinicie o programa e acesse http://localhost:3000/roles/report:

Figura 4.6: Relatrio de permisses o o Voc agora capaz de dar essas permisses para as funes existentes. e e o co Claro, alguns cdigos precisam ser adicionados ao ControladorDeEnquetes o para as aes serem, de fato, protegidas de acordo com a permisso do usurio co a a atual. Para isso, precisamos somente adicionar o ltro :authorize e ter certeza que a varivel de instncia @project est devidamente congurada antes de a a a chamar esse ltro. E assim que se pareceria a ao #index: ca
class PollsController < ApplicationController unloadable before_filter :find_project, :authorize, :only => :index [...] def index @enquete end [...]

= Poll.find(:all) # @project.enquete gcs

67

private def find_project # a varivel @project deve ser configurada antes de chamar o filtro de autoriza~o a ca @project = Project.find(params[:project_id]) end end

Retomar o projeto atual antes da ao #vote pode ser feito usando um modo ca similar. Depois disso, visualizar e votar nas enquetes somente estar dispon a vel para usurios admin ou usurios que tem uma funo apropriada no projeto. a a ca

4.3.6

Criando um mdulo de projeto o

Por agora, a funcionalidade da enquete adicionada para todos seus projetos. e Mas voc poder querer habilitar enquetes para somente alguns projetos. Ento, e a a vamos criar um mdulo de projeto Enquete. Isso feito incluindo as declarao o e ca de permisses dentro da chamada do #project_module. o Edite init.rb e mude a declao de permisses: ca o project_module :enquete do permission :view_enquetes, :enquetes => :index permission :vote_enquetes, :enquetes => :vote end Reinicie a aplicao e v para uma das suas conguraes do projeto. Clique ca a co na aba Mdulos. Voc dever ver o mdulo Enquetes no nal da lista de mdulos o e a o o (desabilitada por padro): a

Figura 4.7: Denies dos mdulos co o Voc pode agora habilitar/desabilitar enquetes em n de projeto. e vel

4.3.7

Melhorando a visualizao de plugins ca

Adicionando folhas de estilo Vamos comear adicionando uma folha de estilo para nossa visualizao do pluc ca gin. Crie um arquivo chamado voting.css no diretrio assets/stylesheets o do seu plugin

68

a.vote { font-size: 120%; } a.vote.yes { color: green; } a.vote.no { color: red; } Quando iniciar seu programa, as propriedades do plugin so automaticamente a copiadas para public/plugin_assets/redmine_enquete / pela Engine Rails para faz-las dispon e veis atravs do seu servidor web. Ento qualquer mudana e a c nas folhas de estilo ou javascript do plugin requerem um rein do programa. cio Ento, adicione as seguintes linhas ao nal de app/views/enquetes/index.html.erb a para que sua folha de estilo seja inclu no cabealho da pgina pelo Redmine: da c a <% content_for :header_tags do %> <%= stylesheet_link_tag voting, :plugin => redmine_enquetes %> <% end %> Observe que a opo :plugin => redmine_enquetes necessria quando ca e a chamar o ajudante stylesheet_link_tag. Javascripts podem ser inclu dos na visualizao de plugins usando o ajudante ca javascript_include_tag da mesma forma. Congurando o t tulo da pgina a Voc pode congurar o t e tulo HTML de dentro da visualizao usando o ajuca dante html_title helper. Exemplo: <% html_title "Polls" -%>

69

Vous aimerez peut-être aussi