Hospedagem Profissional

Hospedagem Profissional
Clique aqui e ganhe US$ 10,00 para testar durante 1 mês a melhor hospedagem: Digital Ocean!

quinta-feira, 31 de maio de 2012

Enviando notificações do Trac pelo Gmail

Recentemente precisei configurar uma instância do Trac para enviar notificações via email utilizando o Gmail.

As notificações serão enviadas toda vez que um ticket for criado, alterado ou fechado.

Edite o arquivo “trac.ini” e no bloco "[notification]” informe a seguinte configuração:

 [notification]  
admit_domains =
always_notify_owner = true
always_notify_reporter = true
always_notify_updater = true
email_sender = SmtpEmailSender
ignore_domains =
mime_encoding = base64
sendmail_path = sendmail
smtp_always_bcc =
smtp_always_cc =
smtp_default_domain =
smtp_enabled = true
smtp_from = sua_conta@gmail.com
smtp_from_name = Trac
smtp_password = sua_senha
smtp_port = 587
smpt_replyto = sua_conta@gmail.com
smtp_server = smtp.gmail.com
smtp_subject_prefix = __default__
smtp_user = sua_conta@gmail.com
ticket_subject_template = $prefix #$ticket.id: $summary
use_public_cc = false
use_short_addr = false
use_tls = true

sexta-feira, 25 de maio de 2012

YoLAB neste sábado, 26/05, na UNIC

yolab0022

Pessoal, estarei participando como palestrante convidado do evento YoLAB da comunidade YODOJO.

O evento será realizado neste Sábado, 26/05/2012, no auditório da UNIC Beira Rio, a partir das 14hs e será de entrada gratuita.

Abaixo o programa:

Apache Solr
William Chitto – @williamchitto

Solr é uma plataforma open source de busca corporativa do projeto Apache Lucene. Suas características principais incluem pesquisa de texto poderoso, realce de ocorrências, pesquisa facetada, clustering dinâmico, integração de bancos de dados, documentos ricos (por exemplo, Word, PDF), e manipulação e pesquisa geoespacial.

Gerenciamento de Configuração e Mudanças com TRAC e SVN
Leandro Silva Ferreira – @i9websolucoes

Trac é uma ferramenta open source e de interface web, escrita em Python, para controle de mudanças em projetos de desenvolvimento de software. O objetivo do software é ajudar o desenvolvedor a rastrear essas mudanças, entender o porquê de cada uma e qual o seu impacto no projeto como um todo.

A ferramenta disponibiliza recursos interessantes como controle de mudanças por sistema de tickets, wiki para documentação colaborativa e referência cruzada entre seus elementos, integração com o SVN, funcionando inclusive como um navegador do repositório, além de acompanhamento da evolução do projeto e notificação via email de modificações em tickets.

GIT
Murillo M Raggiotto – @murillomr7

GIT é um sistema open source de controle de versão distribuído projetado para operar desde projetos pequenos até projetos de grande porte com velocidade e eficiência. Foi inicialmente projetado e desenvolvido por Linus Torvalds para o desenvolvimento do kernel Linux.

Cada diretório de trabalho do Git é um repositório com todos os históricos e habilidade total de controle das revisões, não dependente de acesso a uma rede ou a um servidor central.

 

Então esperamos sua presença! Aproveite o sabadão para dar uma reciclada em seus conhecimentos.

A opinião da gerência tradicional sobre o Agile: desconhecimento ou relutância?

Ótimo artigo de Craig Smith sobre a dificuldade dos meios tradicionais de gestão adotarem ou aceitarem os métodos ágeis.

gerenteUma série de artigos recentes de Steve Denning na Forbes ressaltou os desafios que a comunidade ágil enfrenta para ser aceita pela gerência tradicional.

No primeiro artigo da série, Denning sugere que o segredo mais bem guardado da gestão é o Agile e argumenta que existe uma tendência muito antiga de se ignorar ideias novas e ousadas, aquelas que desafiam a mentalidade do momento, especialmente se vierem de alguma fonte inesperada:

… Há apenas uma década, aconteceu um conjunto de grandes avanços na área de gestão, que possibilitaram às equipes de desenvolvimento de software trabalhar de forma disciplinada e com inovação contínua, algo impensável de se obter com os métodos de gerenciamento tradicionais... Infelizmente, estas descobertas gerenciais não foram feitas pelas "pessoas certas", ou seja, acadêmicos nas escolas de negócio ou gerentes muito bem pagos em grandes corporações. As descobertas foram feitas por pessoas que você imaginaria como as mais improváveis para resolver um problema de cunho gerencial: os nerds.

Denning observa que referências ao Agile, no campo gerencial, são raras ou obscuras:

...O mundo gerencial continua em estado de negação sobre as descobertas dos métodos ágeis. Você pode explorar as páginas do Harvard Business Review e dificilmente encontrará quaisquer referências, mesmo que indiretas, para as soluções que a filosofia ágil oferece aos problemas gerenciais da atualidade.

Comentando o artigo, Kurt Haüsler levantou a questão de que talvez seja melhor introduzir estas ideias por meio de abordagens que façam mais sentido para gerentes não técnicos. Denning respondeu com a seguinte sugestão:

… Ignorar a experiência gerencial de milhares de equipes de desenvolvimento mundo afora é o que não faz sentido. Uma ideia melhor é uma ideia melhor, mesmo que vinda das pessoas "erradas". As abordagens encontradas em "além do orçamento", teoria da complexidade, gerenciamento enxuto (lean) e rightshifting (eficácia do trabalho baseado em conhecimento) estão obviamente relacionadas ao desenvolvimento ágil de software, mas não está tão claro assim que estas abordagens estejam obtendo algum sucesso em alterar o paradigma tradicional de comando e controle.

Yves Hanoulle respondeu nos comentários com uma visão diferente:

Isto me lembra da "Lei da geléia": Quanto mais se espalha uma ideia, mais fina ela fica. Foi o que aconteceu com o modelo cascata de desenvolvimento. A maior parte das pessoas implementando cascata nunca leu o documento Royce (caso tivessem lido, estariam utilizando mais iterações). Pela minha experiência, CFO's (diretores financeiros) e a alta gerência não são aqueles que se sentem ameaçados pelo Agile. Quando se tem a chance de explicar a filosofia ágil a estas pessoas, elas normalmente entendem (e concordam com a ideia) rapidamente. É por esta razão que existe a necessidade de se ter mais publicações sobre o paradigma ágil na literatura gerencial.

Em seu segundo artigo, Steve Denning entrevistou Rod Colling para tentar responder à questão do porquê o C-Suite (grupo de diretores que tem a palavra Chefe em seus cargos) não consegue compreender a gestão ágil. Rod admitiu ter sido surpreendido pelo paradigma ágil, mas conseguiu perceber que existem três princípios comuns entre o novo paradigma gerencial e o gerenciamento ágil:

    • Foco no que entrega valor e é importante para o cliente.
    • Preocupação em haver processos de equipes ao invés de tarefas distribuídas.
    • Reconhecimento de que o trabalho é fundamentalmente um aprendizado iterativo.

Rod continua explicando por que os líderes e diretores simplesmente são incapazes de compreender as abordagens ágeis:

… Quando você explica a abordagem ágil para os líderes sêniors da organização, há dificuldade para compreendê-la. A noção prática de poder é quase que exclusivamente a noção de se estar no comando. No novo modelo de gestão, o poder deixa de estar no conceito de "comando" e move-se para o sentido de "conexão". Isto significa que não é necessário estar no comando para exercitar o poder. O que é interessante a respeito das novas organizações é que elas tendem a ser mais poderosas que as antigas.

Craig R. Chapman comentou dizendo que este problema vem de longa data:

Os problemas de percepção e incapacidade de entender a postura ágil mostraram-se um obstáculo antigo que impede uma verdadeira transformação da indústria de software. Às vezes, a gerência precisa de um espelho para mostrar-lhes o quão impraticáveis e quão danosas são suas práticas atuais e como elas contribuem para uma confusão entre as características do nosso trabalho e a forma como o executamos. A mudança de postura precisa começar a acontecer na organização como um todo, para realinhar os trabalhadores e os gerentes. Isto significa abraçar o empreendedorismo e aceitar os riscos e as mudanças, mesmo em organizações bem estabelecidas.

Em resposta a esta discussão, Steve Denning deu um desfecho à série com um olhar sobre "O julgamento contra o Agile: As dez objeções perenes da gestão" (seis delas com base em um artigo de 2009 chamado "As limitações do desenvolvimento ágil" escrita por Bruno Collet). As dez objeções e o resumo dos seus pensamentos chave são os seguintes:

1. "O Agile é apenas para as estrelas"

Ao ser confrontado com a escolha entre o alto desempenho e a mediocridade, a gerência tradicional escolhe a segunda.

2. "O Agile não se enquadra em nossa cultura organizacional"

No mercado dos dias atuais, ou as empresas mudam sua cultura ou morrem. A cultura das empresas deve ser ágil.

3. "O Agile apenas funciona para pequenos projetos, os nossos são grandes"

Já existem soluções óbvias para se lidar com projetos grandes, dividindo-se o trabalho em um número de subprojetos relativamente menores e independentes em que cada parte pode ser implementada por uma equipe ágil.

4. "O Agile requer que as equipes estejam no mesmo lugar, mas as nossas são distribuídas"

Apesar de ser verdade que ter as equipes no mesmo local é o ideal, caso estejam distribuídas, pode-se usar tecnologias para manter a comunicação aberta e contínua.

5. "O Agile é fraco em processos gerenciais"

A não ser que você escolha uma metodologia ágil que já atenda a todos os processos necessários, é importante juntá-la com outra que supra os processos não cobertos.

6. "O sistema de recompensas individuais de nossa empresa não se encaixa no Agile"

É o sistema de recompensas que está errado, não o Agile. Mude o sistema.

7. "O Agile é algo passageiro"

Não se trata de uma solução para todos os problemas... O Agile é a solução para um problema particular, ou seja, a reaproximação de uma execução disciplinada com a criatividade e a inovação.

8. "Há ideias melhores que o Agile"

Em vez de entrar nessa briga, prefira buscar os aspectos comuns entre estes movimentos e junte forças para obter um resultado mais efetivo.

9. "Nada de novo aqui"

Todos os componentes individuais do Agile já existem há algum tempo. O que é novo é juntar todos estes elementos de uma maneira coerente e integrada.

10. "Não é uma comparação justa?"

Introduzir Agile (de verdade) significa expor todos os truques encobertos que os gerentes, em hierarquias tradicionais, utilizam sobre seus subordinados para manter o poder.

Yves Stalgies, de forma bastante elegante, finalizou o assunto com seu comentário:

… O Agile é um modo de pensar, não um método; e isto é extremamente importante. O que é necessário é uma mudança na maneira de se pensar. A mentalidade ágil é muito comum no desenvolvimento de software e agora é a mentalidade da gestão que deve mudar. A mentalidade ágil e a vontade de encantar o cliente são as chaves das empresas bem sucedidas.

Steve Denning, em seu livro "O guia do líder para a Gerência Radical", explora com mais detalhes os aspectos nos quais o gerenciamento tradicional deve mudar (O InfoQ publicou um review, escrito por Shane Hastie, bastante profundo deste livro).

Será que a adoção do Agile está sendo mais sufocada pela ignorância ou pela relutância da gerência tradicional? Quais ações podemos tomar, como uma comunidade, para mudar estas percepções?

 

Fonte: Por Craig Smith , traduzido por Leonardo Campos em InfoQ

quinta-feira, 24 de maio de 2012

1ª Semana de Tecnologia UNIVAG (I SEMATEC)

logo.univag
Organização:

Curso de Sistemas de Informação e Tecnologia em Análise e Desenvolvimento de Sistemas

 

24/05/2012

  • Palestra1 – Virtualização
  • Palestra2 – SCRUM
  • Palestra3 - Governança de TI
  • Palestra4 - A Relação entre Empreendedorismo e Inovação

25/05/2012

  • Mini-Curso1 – Introdução à programação para Android
    (Também no dia 26/05/2012)
  • Mini-Curso2 – Modelagem de Processos com BizAgi
  • Mini-Curso3 – VOIP
  • Mini-Curso4 – Criação de Personagem 3D
    (Também no dia 26/05/2012)

Investimento

  • Palestras – R$ 20,00 (Por 2 palestras pois serão simultâneas)
  • Mini-Cursos – R$ 20,00

INSCRIÇÕES NA HORA DO EVENTO

Observações:

  1. Todas as inscrições destes cursos serão realizadas na Coordenação de Sistemas de Informação com as atendentes.
  2. Os cursos normalmente têm entre 25 e 30 vagas, exceto as palestras da I SemaTec.
  3. Serão expedidos certificados para todos os cursos/eventos contabilizando como atividades complementares, desde que o participante tenha 75% ou mais de presença.

quarta-feira, 23 de maio de 2012

Bizagi: BPM Simplificado

turbine_bizO BizAgi é uma plataforma para modelagem e automação de processos que vem se destacando no mercado de BPM mundial.

São fornecidos separadamente duas versões do software, o BizAgi Process Modeler para mapeamento de processos, e o BizAgi Suite (Enterprise ou Xpress) para a automação de processos.

O BizAgi Process Modeler é uma ferramenta gratuita e simples, que permite modelar, documentar e publicar processos de negócio de forma rápida e objetiva.

bizagi

Para a confecção dos processos nessa ferramenta é utilizada a notação BPMN (Business Process Modeling Notation), mantida pela OMG.

Na tarefa de criar estes modelos o Process Modeler da BizAgi é a ferramenta ideal para aprender a modelar. Ela suporta integralmente a BPMN. Tem as principais estruturas, core elements, full elements e atributos.

A ferramenta permite ainda exportar os gráficos para diversos tipos de formatos, tais como: imagem, PDF, Visio, Word e XPDL além de poder publicar diretamente em modelos Web (Html), Wiki ou no Microsoft SharePoint.

Descrição segundo o fabricante: O BizAgi Process Modeler é a forma mais fácil de utilizar um modelador de processos do mercado. Desenhe e documente seus processos de uma forma rápida e direta. Com comportamento "intelisense" e com um visual único, você poderá modelar os processos rapidamente sem esperar longas rotinas de validação.

Já o BizAgi Suite, é uma ferramenta que permite automatizar os processos mapeados de forma a transformar os workflows criados no modelador em uma aplicação web completa.

bizagi_bpm_suite_xpress-345561-1278638211

O BizAgi Suite é oferecido em duas versões:

  • Enterprise, versão paga para aplicações de missão crítica com funcionalidades de alto desempenho e segurança como clusterização por exemplo, sendo implementada em duas plataformas, a .NET e a JEE, ficando a cargo do cliente a escolha.
  • Xpress, versão de avaliação para utilização de até 50 usuários e com limitações nas funcionalidades de missão crítica, porém totalmente funcional na automação dos processos.

segunda-feira, 21 de maio de 2012

Clássicos em Códigos - IBM Plataforma Jazz

Para divulgar a Plataforma Jazz e mostrar seus benefícios a IBM buscou uma forma diferente de falar e interagir com os programadores. Foi um desafio divertido onde eles usaram o que sabem fazer de melhor: programar. Saiba como foi o Concurso Cultural Clássicos em Código que já ganhou 2 prêmios, Effie e ABEMD.
Saiba mais da plataforma no link

http://www-03.ibm.com/marketing/br/news/events/plataformarational/index.shtml

sexta-feira, 18 de maio de 2012

Componente Data para JBoss Seam com RichFaces e Facelets

Pessoal, tive que queimar um pouco de fosfato por esses dias para construir um componente de data para o JBoss Seam que atendesse aos seguintes requisitos:

  • Campo Data com Calendário permitindo o ator clicar numa data específica e navegar por entre os anos e meses de cada um;
  • Esse mesmo campo, deveria permitir que o usuário digitasse uma data qualquer caso assim preferisse;
  • Caso a data fosse digitada, essa deveria ser formatada automaticamente com uma máscara seguindo o padrão dd/MM/yyyy;
  • Aceitar somente números caso fosse digitado manualmente;

Bom, primeiramente utilizei o plugin MaskedInput do JQuery para trabalhar com a máscara, o download pode ser feito em http://digitalbush.com/projects/masked-input-plugin/

Seguinte o padrão do JBoss Seam com Facelets, incluí no arquivo template.xhtml a seguinte linha.

 <a:loadScript src="/js/jquery.maskedinput-1.3.min.js" />  
Após isso, criei o arquivo campoData.xhtml (componente) conforme o código a seguir:
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:s="http://jboss.com/products/seam/taglib"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:rich="http://richfaces.org/rich"
xmlns:a4j="http://richfaces.org/a4j">
<ui:composition>
<rich:calendar id="#{id}"
value="#{value}"
datePattern="dd/MM/yyyy"
enableManualInput="true"
todayControlMode="hidden"
inputClass="calendario_#{id}"
showWeeksBar="false"
showApplyButton="false"
popup="true"
required="#{required}"
disabled="#{disabled}"
reRender="#{idDecorate}">
<a4j:support event="oninputblur"
ajaxSingle="true"
reRender="#{idDecorate}"
onsubmit="if(this.value == '__/__/____'){this.value=''};"/>
</rich:calendar>
<rich:jQuery selector=".calendario_#{id}" timing="onload" query="mask('99/99/9999')"/>
</ui:composition>
</html>
Depois criei um arquivo de componentes personalizado para minha aplicação chamado componentes-i9web.xml
 <?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE facelet-taglib PUBLIC
"-//Sun Microsystems, Inc.//DTD Facelet Taglib 1.0//EN"
"facelet-taglib_1_0.dtd">
<facelet-taglib>
<namespace>http://www.i9web.com.br/componentes</namespace>
<tag>
<tag-name>campoData</tag-name>
<source>../layout/campoData.xhtml</source>
</tag>
</facelet-taglib>
E nas páginas onde utilizado, faço o import do componente :
 <!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:s="http://jboss.com/products/seam/taglib"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:a="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:p="http://primefaces.prime.com.tr/ui"
xmlns:i9="http://www.i9web.com.br/componentes"
template="/layout/template.xhtml">
E no campo, fica assim:
 <s:decorate id="dDataNascimento" template="/layout/edit.xhtml">  
<ui:define name="label">Data Nascimento</ui:define>
<i9:campoData
value="#{userHome.instance.dtaNascimento}"
id="dataNascimento"
idDecorate="dDataNascimento"
required="true"
requiredMessage="Obrigatório"/>
</s:decorate>

sexta-feira, 11 de maio de 2012

Conheça as novas funcionalidades do JBPM5 WebDesigner 2.0

 

Este vídeo apresenta algumas das novas funcionalidades adicionadas ao jBPM5 Web Designer 2.0, incluíndo:

  1. Integração com o projeto jbpmmigration. Permite aos usuários migrarem seus processos baseados em jPDL 3.2 para BPMN2;
  2. Habilidade de visualizar processos em vários formatos como BPMN2, JSON, PNG, PDF, ERDF e SVG;
  3. Instalação padrão do jBPM Service Nodes na criação de processos;
  4. Integração com repositório de serviços jBPM;
  5. Validação visual dos processos.

Para saber mais, visite o site do projeto em http://www.jboss.org/jbpm/components/designer