Jira, Confluence, Bamboo, Clover, Crowd e Greenhopper

yanaga

É com grata satisfação que anuncio à toda a comunidade que fomos agraciados com as licenças opensource da Jira, Confluence, Bamboo, Clover e Crowd da Atlassian e com a licença opensource do Greenhopper da GreenPepperSoftware. Obter estas licenças prova que estamos no caminho certo, pois prova no mínimo o reconhecimento por estas empresas. Esperamos doar muito mais à comunidade para justificar esta confiança.

Latest comments across all posts

Recent Posts

post Jazz: MVC bean binding

yanaga

Mais um projeto disponibilizado: jazz 1.0-SNAPSHOT (por enquanto!). O Jazz já é um velho conhecido da Ínsula T.I. e de outros desenvolvedores que tiveram a oportunidade de nos conhecer.

Tudo começou com a chatice de montar uma tela em Swing e declarar todos os campos (JTextField, JLabel, JList, JComboBox etc). Em seguida os beans do modelo (na época já usávamos o Hibernate) e a tediosa conversão/validação de um lado para o outro. Os Controllers davam muito trabalho. Funcionava assim:

String nome = nomeField.getText();
if ("".equals(nome)) {
	//erro de validação
} else {
	pessoaFisica.setNome(nome);
}

Agora imaginem ficar digitando tudo isso para beans com 20 propriedades! Era óbvio que haveria algum modo melhor de executar essas tarefas. E ainda havia o contrário: pegar as propriedades do Model e colocá-las de volta na View.

No Jazz atual pode-se resolver este problema assim:

(Na View):

public class View {
	@Binding(beanType=Controller.class, property="pessoaFisica.nome")
	private JTextField nomeField = new JTextField();

	@Binding(beanType=Controller.class, property="pessoaFisica.endereco.cidade")
	private JList cidadeList = new JList();
}

(No Controller):


@Controller
public class Controller {
	private PessoaFisica pessoaFisica = new PessoaFisica();

	public void salvarPessoa() {
		//aqui dentro todas as propriedades de pessoaFisica já foram atualizadas com as propriedades
		//de nomeField e cidadeList.
	}
	//depois que o método é finalizado, todas as propriedades que possuem "binding" de pessoaFisica são
	//atualizadas de volta em nomeField e cidadeList.
}

Melhorou, não? Tudo isso utilizando Annotations, e o framework de AOP do Spring 2.5. Ainda está na versão 1.0-SNAPSHOT porque estamos testando e verificando se ficou algum bug para trás. Também falta a documentação (coisa chata de se fazer), pois ainda não encontramos a ferramenta adequada para isso… estou pensando em utilizar o Confluence.


post Primeiro projeto: arena-io 1.0 disponibilizado

yanaga

Iniciando a nossa via crucis, conseguimos disponibilizar o primeiro projeto do openinsula.org: o arena-io 1.0. Já desenvolvemos vários projetos em que era necessário manipular os famigerados arquivos texto com formato fixo. Quem já trabalhou com siglas como CNAB240 e CNAB400 sabe do que estamos falando. Ao invés de ficar concatenando Strings com o famoso StringBuilder, resolvemos fazer diferente… surgiu então o arena-io. Ele disponibiliza uma série de ferramentas para agilizar a criação, leitura e validação de arquivos em formato texto nas mais diferentes sintaxes. É capaz inclusive de validar as linhas dos arquivos utilizando expressões regulares.

A página do projeto por enquanto utiliza o skin padrão do Maven. Pretendemos customizá-lo o quanto antes, mas estamos em processo de adaptação e reestilização da nossa identidade visual. O www.insula.com.br, o blog.insula.com.br e o www.openinsula.org serão reestilizados antes, com certeza. Procuro uma boa ferramenta para gerar a documentação em formato HTML e PDF. Se alguém conhecer alguma, estou aberto a sugestões!


post Bem vindos ao nosso blog oficial!

yanaga

Saudações caros visitantes.

É com muito prazer que iniciamos mais uma etapa da nossa jornada. Disponibilizamos todos os software desenvolvidos internamente na Ínsula T.I. através do nosso novíssimo projeto openinsula.org. Escolhemos as licenças LGPL para as bibliotecas e AGPL para os sistemas de um modo geral. Esta é uma antiga promessa que agora oficialmente concretiza-se.

Nosso blog oficial também foi reformulado. Antes utilizávamos o Drupal, que cumpre satisfatoriamente as funções de gerenciador de conteúdo, mas deixa a desejar na parte do blog. Decidimos então partir para o Wordpress, que sem dúvida é uma ferramenta muita mais adequada para este caso.

Muitas outras modificações e novidades ainda estão por vir. Infelizmente não temos o tempo e o pessoal necessário para implementá-las de modo mais rápido, mas aos poucos as coisas vão acontecendo.

Aguardem. Dessa vez este será o primeiro de muitos posts que estão por vir.

Older Posts

Jira, Confluence, Bamboo, Clover, Crowd e Greenhopper

Jazz: MVC bean binding

Primeiro projeto: arena-io 1.0 disponibilizado

Bem vindos ao nosso blog oficial!