Posts de April, 2009

[Guilherme Cirne] will_paginate sem carregar ActiveRecord

Tuesday, April 21st, 2009

Update: A solução abaixo não é mais necessária. Criei um fork do will_paginate no meu GitHub com um pequeno patch que habilita o will_paginate mesmo quando não temos o ActiveRecord carregado (obviamente, só habilita as partes que não precisam do ActiveRecord).

Para instalar:

sudo gem install gcirne-will_paginate --source http://gems.github.com

Além disso, fiz um pull request para o mislav aplicar meu patch no repositório dele. Se ele aceitar, teremos essa modificação na gem oficial do will_paginate.

Segue o post original.

O will_paginate é uma excelente gem para fazer paginação no Rails. Por default, ela pagina models do ActiveRecord. Mas também é possível paginar qualquer coleção. Basta usar o método create da classe WillPaginate::Collection.

Em aplicações Rails é possível não carregar determinados componentes do framework que não serão utilizados. Por exemplo, com a linha abaixo no arquivo config/environment.rb desabilitamos o ActiveRecord na nossa aplicação:

Rails::Initializer.run do |config|
  ...
  config.frameworks -= [ :active_record ]
  ...
end

Porém, com essa configuração o will_paginate não funciona, dando o seguinte erro:

undefined method `will_paginate'

Isso ocorre porque, ao carregar, o will_paginate insere alguns métodos em ActiveRecord::Base. Quando o ActiveRecord não está presente, o will_paginate simplesmente não carrega.  Isso é, no mínimo, estranho, já que o will_paginate funciona perfeitamente sem o ActiveRecord. Seria de se esperar que o will_paginate, nessa configuração sem ActiveRecord, carregasse normalmente, porém sem os métodos inseridos em ActiveRecord::Base (obviamente). Mas não é isso que ocorre, como podemos ver na linha abaixo no arquivo lib/will_paginate.rb da gem do will_paginate, responsável por habilitar o will_paginate:

...
if defined?(Rails) and defined?(ActiveRecord) and defined?(ActionController)
  WillPaginate.enable
end

De qualquer forma, a solução é bastante simples. Basta fazer a chamada a WillPaginate.enable_actionpack no arquivo config/environment.rb que tudo funcionará normalmente:

Rails::Initializer.run do |config|
  ...
  config.frameworks -= [ :active_record ]
  ...
  config.gem 'mislav-will_paginate',
    :lib => 'will_paginate', :source => 'http://gems.github.com', :version => '2.3.8'
end

WillPaginate.enable_actionpack

[Guilherme Cirne] will_paginate sem carregar ActiveRecord

Tuesday, April 21st, 2009

Update: A solução abaixo não é mais necessária. Criei um fork do will_paginate no meu GitHub com um pequeno patch que habilita o will_paginate mesmo quando não temos o ActiveRecord carregado (obviamente, só habilita as partes que não precisam do ActiveRecord).

Para instalar:

sudo gem install gcirne-will_paginate --source http://gems.github.com

Além disso, fiz um pull request para o mislav aplicar meu patch no repositório dele. Se ele aceitar, teremos essa modificação na gem oficial do will_paginate.

Segue o post original.

O will_paginate é uma excelente gem para fazer paginação no Rails. Por default, ela pagina models do ActiveRecord. Mas também é possível paginar qualquer coleção. Basta usar o método create da classe WillPaginate::Collection.

Em aplicações Rails é possível não carregar determinados componentes do framework que não serão utilizados. Por exemplo, com a linha abaixo no arquivo config/environment.rb desabilitamos o ActiveRecord na nossa aplicação:


Rails::Initializer.run do |config|
  ...
  config.frameworks -= [ :active_record ]
  ...
end

Porém, com essa configuração o will_paginate não funciona, dando o seguinte erro:

undefined method `will_paginate'

Isso ocorre porque, ao carregar, o will_paginate insere alguns métodos em ActiveRecord::Base. Quando o ActiveRecord não está presente, o will_paginate simplesmente não carrega.  Isso é, no mínimo, estranho, já que o will_paginate funciona perfeitamente sem o ActiveRecord. Seria de se esperar que o will_paginate, nessa configuração sem ActiveRecord, carregasse normalmente, porém sem os métodos inseridos em ActiveRecord::Base (obviamente). Mas não é isso que ocorre, como podemos ver na linha abaixo no arquivo lib/will_paginate.rb da gem do will_paginate, responsável por habilitar o will_paginate:


...
if defined?(Rails) and defined?(ActiveRecord) and defined?(ActionController)
  WillPaginate.enable
end

De qualquer forma, a solução é bastante simples. Basta fazer a chamada a WillPaginate.enable_actionpack no arquivo config/environment.rb que tudo funcionará normalmente:


Rails::Initializer.run do |config|
  ...
  config.frameworks -= [ :active_record ]
  ...
  config.gem 'mislav-will_paginate',
    :lib => 'will_paginate', :source => 'http://gems.github.com', :version => '2.3.8'
end

WillPaginate.enable_actionpack

[Rodolfo Carvalho] Palestra de Python e Desenvolvimento Web no FLISOL Rio de Janeiro

Tuesday, April 21st, 2009

No dia 25 de abril de 2009, sábado, acontecerá o Festival Latino Americano de Instalação de Software Livre (FLISOL) na Universidade Estadual do Rio de Janeiro. O evento reunirá grupos locais de expressão na área de Software Livre que conjuntamente disseminarão a filosofia, cultura e conhecimento sobre o movimento de Software Livre.
Com uma recheada grade de palestras, o FLISOL contará também com a presença da PythOnRio representada por Luiz Guilherme Aldabalde que apresentará a palestra técnica “Entendendo Framework Web com Python”.
Definitivamente esta é uma grande oportunidade para aprender e experimentar o que há de mais interessante e inovador em matéria de Software Livre. Compareça! E não deixe de levar o seu computador!

[Original em http://pythonrio.org/palestra-de-python-e-desenvolvimento-web-no-f]

[Igor Macaubas] 4o encontro Scrum user-group Recife: como foi?

Monday, April 20th, 2009

Fiz um relato no blog do Scrum user-group de Recife, falando como foi o nosso 4o encontro. Neste encontro, apresentei o caso de sucesso de implementação do Scrum na Provider Sistemas, empresa que já tinha MPS.BR nível G no início da implementação do Scrum, e terminou no mês de Março/2009 sendo avaliada e subindo o nível da sua avaliação para o nível F.

Para mim, falar desse case foi mais do que uma vitória, pois estive na empresa desde o início do processo de avaliação – tanto para o nível G como para o nível F, e participei ativamente da implantação do Scrum, e da batalha para manter o MPS.BR aderente ao nosso processo!

Confiram o post lá no blog do scrum.org.br!

[Rafael Biriba] Host Tracker: Monitoração de Servidores

Sunday, April 19th, 2009

 

Host Tracker: http://host-tracker.com/

Host Tracker: http://host-tracker.com/

Bom, se você anda atrás de algum programa ou site que faça a monitoração de uptime de seu servidor, lhe apresento o Host Tracker !

O serviço é gratuito, com alguns recursos extras, caso resolva assinar algum plano. Após criar uam conta no site, é possível adicionar servidores para monitoração. Na verdade, basta apontar qualquer URL válida que o host-tracker irá monitorar de tempo em tempo, definido por você !

Ele também um pequeno banner, para você colocar em seu site, como no exemplo abaixo, onde temos a monitoração de rafaelbiriba.com:

server monitor

A imagem é atualizada automaticamente de acordo com o seu uptime real. Clicando no banner, é possível ver detalhes como tempo de monitoração, tempo total de downtime, e etc…

No site ainda é possível configurar os alertas e relatórios ( semanais, mensais e anuais ). Os alertas são os mais importantes, pois avisa quando seu servidor ou seu site está inacessível e ainda mostra em que lugar que não foi possível acessa-lo. Atualmente a host-tracker conta com mais de 30 pontos de verificação, espalhados pelo mundo todo. A lista pode ser visualizada em http://host-tracker.com/our-monitoring-network/

Para quem quiser verificar os planos este é o link: http://host-tracker.com/order-page/, algumas vantagens como relatório diário e verificação de conteúdo podem ser liberadas de acordo com o plano que você escolher ! Experimente um desses planos habilitando o período de teste de 30 dias.

Para ativar a monitoração, primeiro eu recomendo se cadastrar em: http://host-tracker.com/register/ e depois criar um novo monitor. Mas para os apressados, aqui tem um link para criação direto de um banner: http://host-tracker.com/fget_uptime_button/.

Então é isso. Monitore seu site, e saiba exatamente quando ele estiver inacessível. Assim, você poderá correr para resolver o problema, antes mesmo do problema correr para você ! E ainda, coloque o banner em seu site, e mostre a todo mundo, o quão estável é o servidor em que seu site está hospedado !

=)

[Tiago Motta] Esperando o resultado de uma chamada assíncrona no Watir

Thursday, April 16th, 2009

Em alguns casos quando uma determinada requisição assíncrona demora para retornar, o teste de aceitação implementado com Watir pode falhar. Principalmente quando os testes estão rodando em alguma ferramenta de integração contínua.

Para evitar essa falha irritante, o usual é colocar alguns sleeps após as ações que disparam as chamadas ajax. Contudo, isso não garante que o teste não vá falhar, especialmente se o sleep for baixo. Em contrapartida se forem colocado muitos sleeps altos poderá haver uma demora muito grande para rodar todos os testes.

Uma solução possível é esperar que um determinado elemento html seja inserido ou removido da página para então continuar executando os testes. Para isso implementei um método genérico que recebe um bloco de verificação. Veja o exemplo de uso dele:

espera { @browser.text.include? 'Ajax retornado' }

O código do método é bem simples e está descrito abaixo. Ele recebe um bloco assumindo que quando este retornar verdadeiro significa que a espera deve terminar, caso contrário ele continuará esperando e verificando, com um timeout de 30 segundos.

def espera  Timeout::timeout(30) do    while not yield      sleep 1     end  endend

[Christiane Melcher] Seminário INFO: Redes Sociais – “O poder dos aplicativos”

Thursday, April 16th, 2009

No dia 30 de março eu fui a São Paulo participar do Seminário de Redes Sociais da Revista INFO Exame numa mesa redonda sobre “O Poder dos Aplicativos nas Redes Sociais”.

apresentação dos participantes

Participantes da mesa:

Christiane Melcher – arquiteta de informação da Globo.com, Guilherme Stocco – gerente de desenvolvimento da Microsoft Brasil, Rogério Bonfim – CEO da VirtualNET, Vitor Prado – diretor da HiperSocial. Mediadora: Débora Fortes – diretora de redação da revista INFO.

Foi muito legal ser convidada para um evento como esse para falar do case do aplicativo Amazonia.vc, que a equipe de aplicativos de jornalismo (equipe A3) da Globo.com, desenvolveu para o Orkut e lançou em setembro de 2008 em parceria com o pessoal do Fantástico. Quer saber mais? Veja esse post aqui.

case: aplicativo Amazonia.vc

Quando lançado, o projeto alcançou 1 milhão de protestos nas primeiras 17 horas no ar e hoje, 6 meses depois, são 45 milhões de protestos.

Essa integração entre aplicativo, portal e tv fazem toda a diferença. Pela primeira na Globo.com levamos dados de um aplicativo social para um portal tipicamente editorial, o globoamazonia.com. Tanto o mapa interativo com os pontos de desmatamento e queimadas, quanto o ranking de protestos dos usuários são puxados diretamente do app.

twitter + app + amazonia + pesquisa

Depois do lançamento disponibilizamos um mashup do twitter no aplicativo e fizemos um módulo administrativo onde os editores podem colocar notícias com foto ou vídeo georeferenciadas no mapa que também aparecem no mapa do app e do portal Globo Amazônia. A tv continua fazendo reportagens em programas como Fantástico, Profissão Repórter e Globo Repórter e em telejornais como Jornal da Globo, Globo Rural e Jornal Nacional. Além disso também exibe o ABC da Amazônia, pequenas “vinhetas” distribuídas pela programação da Globo.

Falar de um projeto como esse sendo reconhecido como case e representar toda a equipe da Globo.com responsável pelo projeto, foi uma honra!

páginas mais acessadas no orkut

Além de falar sobre o Amazonia.vc, também falei de alguns pontos importantes para se levar em consideração ao projetar um aplicativo em uma rede social. É preciso levar em consideração o ranking de páginas mais acessadas no Orkut, onde o primeiro lugar é o álbum de fotos, o segundo o scrapbook e em terceiro o perfil. Por isso, é fundamental para o sucesso do projeto pensar em todas as “partes” que compõem um aplicativo, não só no canvas (página do aplicativo em sí). É preciso pensar como o aplicativo será exibido no perfil dos usuários que o instalaram, afinal, essa é uma porta de entrada muito importante porque as pessoas que entram no perfil de alguém com o aplicativo instalado são possíveis usuários do app. Por isso esse pedacinho do app no perfil é tão importante.

O texto e imagem do app no diretório de aplicativos também devem ser claros e vendedores. Além disso, também é preciso pensar em como as funcionalidades serão exibidas no caso de usuários do tipo viewer e owner. Viewer é considerado o usuário que está olhando a página do aplicativo instalado no perfil de outra pessoa e não no seu próprio e o owner é o usuário que está vendo a página do aplicativo em seu próprio perfil. Para facilitar o entendimento, vamos dar um exemplo. Imagina eu, Chris, entrando no perfil do Eduardo e vendo o Amazonia.vc dele. Ao entrar na tab “protestos”, eu devo ler “Protestos do Eduardo”. Já, ao entrar na mesma tab do meu aplicativo, instalado no meu perfil, devo ler “Meus protestos”. Um exemplo simples de mudança de label. Mas, vale lembrar que além de textos diferentes, a visualização dos dados e até as funcionalidades também podem ser diferentes. Logo, a complexidade vai aumentando com as diferenças e o tratamento que o sistema deve dar a elas.

qualquer app precisa ser fácil de usar

Para completar, um app precisa ser viral e simples, fácil de usar. Não adianta o usuário entrar e não entender nada e sair na hora que entrou porque não conseguiu fazer nada. No caso de Amazônia, a viralidade era discutida, por ser um app de cunho social. Porém, como a causa era nacional e importante, e tinha um apelo social (protestos), acabou funcionando bem mais até do que a equipe imaginava.

As novas funcionalidade de integração do MSN com aplicativos, outros apps como “Eu Vou” e “Eleições 2008”, a participação da classe C nas redes sociais, e como fazer do app um negócio também foram temas abordados na mesa.


[Christiane Melcher] Seminário INFO: Redes Sociais – “O poder dos aplicativos”

Thursday, April 16th, 2009

No dia 30 de março eu fui a São Paulo participar do Seminário de Redes Sociais da Revista INFO Exame numa mesa redonda sobre “O Poder dos Aplicativos nas Redes Sociais”.

apresentação dos participantes

Participantes da mesa:

Christiane Melcher – arquiteta de informação da Globo.com, Guilherme Stocco – gerente de desenvolvimento da Microsoft Brasil, Rogério Bonfim – CEO da VirtualNET, Vitor Prado – diretor da HiperSocial. Mediadora: Débora Fortes – diretora de redação da revista INFO.

Foi muito legal ser convidada para um evento como esse para falar do case do aplicativo Amazonia.vc, que a equipe de aplicativos de jornalismo (equipe A3) da Globo.com, desenvolveu para o Orkut e lançou em setembro de 2008 em parceria com o pessoal do Fantástico. Quer saber mais? Veja esse post aqui.

case: aplicativo Amazonia.vc

Quando lançado, o projeto alcançou 1 milhão de protestos nas primeiras 17 horas no ar e hoje, 6 meses depois, são 45 milhões de protestos.

Essa integração entre aplicativo, portal e tv fazem toda a diferença. Pela primeira na Globo.com levamos dados de um aplicativo social para um portal tipicamente editorial, o globoamazonia.com. Tanto o mapa interativo com os pontos de desmatamento e queimadas, quanto o ranking de protestos dos usuários são puxados diretamente do app.

twitter + app + amazonia + pesquisa

Depois do lançamento disponibilizamos um mashup do twitter no aplicativo e fizemos um módulo administrativo onde os editores podem colocar notícias com foto ou vídeo georeferenciadas no mapa que também aparecem no mapa do app e do portal Globo Amazônia. A tv continua fazendo reportagens em programas como Fantástico, Profissão Repórter e Globo Repórter e em telejornais como Jornal da Globo, Globo Rural e Jornal Nacional. Além disso também exibe o ABC da Amazônia, pequenas “vinhetas” distribuídas pela programação da Globo.

Falar de um projeto como esse sendo reconhecido como case e representar toda a equipe da Globo.com responsável pelo projeto, foi uma honra!

páginas mais acessadas no orkut

Além de falar sobre o Amazonia.vc, também falei de alguns pontos importantes para se levar em consideração ao projetar um aplicativo em uma rede social. É preciso levar em consideração o ranking de páginas mais acessadas no Orkut, onde o primeiro lugar é o álbum de fotos, o segundo o scrapbook e em terceiro o perfil. Por isso, é fundamental para o sucesso do projeto pensar em todas as “partes” que compõem um aplicativo, não só no canvas (página do aplicativo em sí). É preciso pensar como o aplicativo será exibido no perfil dos usuários que o instalaram, afinal, essa é uma porta de entrada muito importante porque as pessoas que entram no perfil de alguém com o aplicativo instalado são possíveis usuários do app. Por isso esse pedacinho do app no perfil é tão importante.

O texto e imagem do app no diretório de aplicativos também devem ser claros e vendedores. Além disso, também é preciso pensar em como as funcionalidades serão exibidas no caso de usuários do tipo viewer e owner. Viewer é considerado o usuário que está olhando a página do aplicativo instalado no perfil de outra pessoa e não no seu próprio e o owner é o usuário que está vendo a página do aplicativo em seu próprio perfil. Para facilitar o entendimento, vamos dar um exemplo. Imagina eu, Chris, entrando no perfil do Eduardo e vendo o Amazonia.vc dele. Ao entrar na tab “protestos”, eu devo ler “Protestos do Eduardo”. Já, ao entrar na mesma tab do meu aplicativo, instalado no meu perfil, devo ler “Meus protestos”. Um exemplo simples de mudança de label. Mas, vale lembrar que além de textos diferentes, a visualização dos dados e até as funcionalidades também podem ser diferentes. Logo, a complexidade vai aumentando com as diferenças e o tratamento que o sistema deve dar a elas.

qualquer app precisa ser fácil de usar

Para completar, um app precisa ser viral e simples, fácil de usar. Não adianta o usuário entrar e não entender nada e sair na hora que entrou porque não conseguiu fazer nada. No caso de Amazônia, a viralidade era discutida, por ser um app de cunho social. Porém, como a causa era nacional e importante, e tinha um apelo social (protestos), acabou funcionando bem mais até do que a equipe imaginava.

As novas funcionalidade de integração do MSN com aplicativos, outros apps como “Eu Vou” e “Eleições 2008”, a participação da classe C nas redes sociais, e como fazer do app um negócio também foram temas abordados na mesa.


[Christiane Melcher] Seminário INFO: Redes Sociais - “O poder dos aplicativos”

Thursday, April 16th, 2009

No dia 30 de março eu fui a São Paulo participar do Seminário de Redes Sociais da Revista INFO Exame numa mesa redonda sobre “O Poder dos Aplicativos nas Redes Sociais”.

apresentação dos participantes

Participantes da mesa:

Christiane Melcher - arquiteta de informação da Globo.com, Guilherme Stocco - gerente de desenvolvimento da Microsoft Brasil, Rogério Bonfim - CEO da VirtualNET, Vitor Prado - diretor da HiperSocial. Mediadora: Débora Fortes - diretora de redação da revista INFO.

Foi muito legal ser convidada para um evento como esse para falar do case do aplicativo Amazonia.vc, que a equipe de aplicativos de jornalismo (equipe A3) da Globo.com, desenvolveu para o Orkut e lançou em setembro de 2008 em parceria com o pessoal do Fantástico. Quer saber mais? Veja esse post aqui.

case: aplicativo Amazonia.vc

Quando lançado, o projeto alcançou 1 milhão de protestos nas primeiras 17 horas no ar e hoje, 6 meses depois, são 45 milhões de protestos.

Essa integração entre aplicativo, portal e tv fazem toda a diferença. Pela primeira na Globo.com levamos dados de um aplicativo social para um portal tipicamente editorial, o globoamazonia.com. Tanto o mapa interativo com os pontos de desmatamento e queimadas, quanto o ranking de protestos dos usuários são puxados diretamente do app.

twitter + app + amazonia + pesquisa

Depois do lançamento disponibilizamos um mashup do twitter no aplicativo e fizemos um módulo administrativo onde os editores podem colocar notícias com foto ou vídeo georeferenciadas no mapa que também aparecem no mapa do app e do portal Globo Amazônia. A tv continua fazendo reportagens em programas como Fantástico, Profissão Repórter e Globo Repórter e em telejornais como Jornal da Globo, Globo Rural e Jornal Nacional. Além disso também exibe o ABC da Amazônia, pequenas “vinhetas” distribuídas pela programação da Globo.

Falar de um projeto como esse sendo reconhecido como case e representar toda a equipe da Globo.com responsável pelo projeto, foi uma honra!

páginas mais acessadas no orkut

Além de falar sobre o Amazonia.vc, também falei de alguns pontos importantes para se levar em consideração ao projetar um aplicativo em uma rede social. É preciso levar em consideração o ranking de páginas mais acessadas no Orkut, onde o primeiro lugar é o álbum de fotos, o segundo o scrapbook e em terceiro o perfil. Por isso, é fundamental para o sucesso do projeto pensar em todas as “partes” que compõem um aplicativo, não só no canvas (página do aplicativo em sí). É preciso pensar como o aplicativo será exibido no perfil dos usuários que o instalaram, afinal, essa é uma porta de entrada muito importante porque as pessoas que entram no perfil de alguém com o aplicativo instalado são possíveis usuários do app. Por isso esse pedacinho do app no perfil é tão importante.

O texto e imagem do app no diretório de aplicativos também devem ser claros e vendedores. Além disso, também é preciso pensar em como as funcionalidades serão exibidas no caso de usuários do tipo viewer e owner. Viewer é considerado o usuário que está olhando a página do aplicativo instalado no perfil de outra pessoa e não no seu próprio e o owner é o usuário que está vendo a página do aplicativo em seu próprio perfil. Para facilitar o entendimento, vamos dar um exemplo. Imagina eu, Chris, entrando no perfil do Eduardo e vendo o Amazonia.vc dele. Ao entrar na tab “protestos”, eu devo ler “Protestos do Eduardo”. Já, ao entrar na mesma tab do meu aplicativo, instalado no meu perfil, devo ler “Meus protestos”. Um exemplo simples de mudança de label. Mas, vale lembrar que além de textos diferentes, a visualização dos dados e até as funcionalidades também podem ser diferentes. Logo, a complexidade vai aumentando com as diferenças e o tratamento que o sistema deve dar a elas.

qualquer app precisa ser fácil de usar

Para completar, um app precisa ser viral e simples, fácil de usar. Não adianta o usuário entrar e não entender nada e sair na hora que entrou porque não conseguiu fazer nada. No caso de Amazônia, a viralidade era discutida, por ser um app de cunho social. Porém, como a causa era nacional e importante, e tinha um apelo social (protestos), acabou funcionando bem mais até do que a equipe imaginava.

As novas funcionalidade de integração do MSN com aplicativos, outros apps como “Eu Vou” e “Eleições 2008”, a participação da classe C nas redes sociais, e como fazer do app um negócio também foram temas abordados na mesa.


[Emerson Macedo] JBehave Brasil - BDD em Java no nosso idioma

Wednesday, April 15th, 2009

No mês passado, resolvi aplicar BDD em um projeto Java que estava desenvolvendo. Atualmente, existem ferramentas em outras linguagens que podem ser usadas para esse fim. Por uma série de razões, resolvi usar o JBehave para resolver o meu problema nesse projeto em específico (lembre-se, não existe bala de prata). Acontece que o JBehave é todo em Inglês e não dá suporte a i18n.

Quando comecei a usa-lo no meu projeto, logo percebi que usar em inglês não seria legal, pois o projeto só fazia sentido no Brasil e portanto o interessante era escrever os cenários em português. A partir desse momento, comecei a escrever algumas classes pra fornecer esse suporte. Felizmente, as classes Scenario e Steps permitem fácil extensão para resolver esse problema. Após as modificações necessárias, o arquivo de cenário passou a se chamar nome.cenario e o texto no arquivo ficou da seguinte forma:


Cenário: Nome em português do Brasil

Dado que eu quero rodar o Jbehave em português do Brasil
Quando eu usar o meu idioma
Então tudo deve funcionar perfeitamente

Feito isso, achei legal disponibilizar uma biblioteca para que outros desenvolvedores que precisem usar o JBehave no nosso idioma possam faze-lo de forma trivial. Nesse momento nasceu o projeto jbehave-br, extraido desse projeto e disponibilizado no GitHub aqui. O projeto é muito simples e pequeno, com o objetivo de resolver especificamente esse problema e nada mais.

Depois de criar o projeto, pervebi que seria simples modifica-lo para posteriormente suportar qualquer idioma. Em breve estarei liberando essa nova versão. Por conta disso o projeto talvez mude de jbehave-br para outro nome.