Demoiselle Framework's Blog

31/05/2011

Componente de E-mail

Filed under: Demoiselle Components — Marlon Carvalho @ 15:41
Tags: ,

O componente de e-mail do Demoiselle passou por uma reestruturação para se adaptar à nova  versão 2.0 do Demoiselle. Mas não foi apenas uma simples adaptação. Na verdade, todo o componente foi reescrito e novas ideias foram incluídas. As versões anteriores contavam apenas com uma “interface” que continha métodos simples para envio de e-mail, como send(from, to, subject, body). Agora, foi aplicada um novo conceito: DSL. Esta sigla significa Domain Specific Language e retrata uma tendência comum em linguagens atuais que consiste, basicamente, em criar um subconjunto da linguagem de forma que facilite a solução de problemas simples e específicos.

Novas funcionalidades também foram adicionadas e poderão ser conferidas a partir de 01/06/2011, data em que lançaremos a versão oficialmente. Confira:

  1. Adicionar anexos através de URL e java.io.File;
  2. Adicionar endereços de BCC e CC;
  3. Adicionar endereços de Reply-To;
  4. Adicionar endereços para confirmação de entrega (Delivery Receipt);
  5. Adicionar endereços para confirmação de leitura (Read Receipt);
  6. Definir a importância do e-mail como alta, baixa ou normal;
  7. Envio de e-mail usando servidores de e-mail seguros (SSL e STARTTLS).
As configurações continuam bem parecidas, pois você continuará usando o arquivo demoiselle.properties para informar qual o servidor usar, login, senha e etc. Contudo, você notará uma grande diferença na codificação para o envio. Veja um exemplo simples abaixo.
public class Teste {

	@Inject
	private Mail mailer;

	public void send() {
		mailer
			.to("somebody@somewhere.com")
			.from("somebody@from.com")
			.body().text("Email 1")
			.attach().url("http://www.frameworkdemoiselle.gov.br/ultimas-noticias/chancelaSerpro.jpg", "logo.jpg").inline()
			.subject("Subject 1")
			.send();
	}
}
O envio de e-mail agora é baseado na interface Mail, que você deve injetar em alguma classe sua. A partir daí, basta usar os métodos da DSL que criamos. As demais opções são tão simples quanto estas do exemplo. Para definir a importância, por exemplo, basta usar mail.importance().high(). Bem intuitivo e não deixa margens para dúvidas.
O componente de e-mail do Demoiselle encontra-se na versão 2.0.0 e sua documentação em DocBook encontra-se em http://demoiselle.sourceforge.net/docs/. O nosso fórum de discussões está em https://sourceforge.net/apps/phpbb/demoiselle/viewtopic.php?f=35&t=118. O Mantis com a proposta do componente encontra-se em https://sourceforge.net/apps/mantisbt/demoiselle/view.php?id=547.

11/02/2011

Criando um componente para o demoiselle

Filed under: Demoiselle Components — Robson Ximenes @ 11:29
Tags: , , ,

Olá pessoal! Muitas vezes o usuários do demoiselle perguntam como fazer para disponibilizar um componente que exista em seu projeto.

O caminho não é complicado! Primeiro é necessário colocar o projeto na estrutura do demoiselle. Para facilitar isto criamos um arquétipo maven para a criação de projetos do tipo componente.

Este exemplo foi feito no eclipse, mas é adaptável para qualquer IDE com suporte ao Maven2+.

Crie um novo projeto do tipo maven:

Criando um novo projeto maven

Criando um novo projeto maven

Aproxima dela você deve prosseguir(Next) para a seleção do arquétipo. Se você já tiver configurado o catalogo do Demoiselle basta seleciona-lo e escolher o arquétipo demoiselle-archetype-component

Selecionando o arquétipo de componente

Selecionando o arquétipo de componente

Obs.: Caso não possua o catalogo configurado basta adicionar um catalogo remoto com o seguinte endereço: http://demoiselle.sourceforge.net/repository/archetype-catalog.xml

Em seguida você deve informar o groupid = br.gov.frameworkdemoiselle e o artifactid com o nome do seu componente.

Configurando o projeto

Configurando o projeto

Então será criado um projeto com a estrutura do demoiselle, com uma classe de exemplo e sua classe de testes. O pom já estará configurado com detalhes do ambiente do demoiselle, bem como um parent contendo dependências de outras bibliotecas(são opcionais, você deve adiciona-las sem versão para usa-las).

Estrutura do projeto de componentes

Estrutura do projeto de componentes

Observem que a estrutura já disponibiliza uma classe de exemplo App.java e sua respectiva classe de testes no mesmo pacote, porém no folder de testes.

É disponibilizado também uma documentação de exemplo para o site maven em src/site.

Você deve explicar todo o funcionamento do componente.

A pasta portal é utilizada apenas no momento de deploy do site do componente para que o mesmo seja categorizado no portal de componentes.

http://demoiselle.sf.net/component

Pronto agora você já pode iniciar seu componente ou apenas mover as classes de um previamente implementado. Vale lembrar que todo novo componente deve ser submetido no http://tracker.frameworkdemoiselle.gov.br na forma de uma feature request, para que o mesmo seja avaliado.

08/10/2010

Liberada a versão 1.0.0 do componente demoiselle-crud

Ontem, dia 07/10/2010, foi liberada a primeira versão do componente demoiselle-crud. Este componente contém uma série de abstrações de telas, da camada de visão, da camada de negócio e da camada de persistência, para quem pretende fazer crud. Juntamente com o componente, foi liberada a primeira versão estável da aplicação Simplify (aplicação do sample que tem o objetivo de demonstrar o uso do demoiselle-crud) e a versão 1.2.0 do archetype-webapp-sample. Esse arquetipo já se encontra disponível no catálogo de arquetipos do demoiselle e ele pode ser usado para se criar uma aplicação já com as configurações básicas necessárias para a utilização do demoiselle-crud. É importante lembrar que quem usar esse arquétipo, estará utilizando a versão 1.2.0 do framework demoiselle.

A documentação de referência do demoiselle-crud pode ser vista aqui.

Está disponível também um passo a passo, mostrando como criar uma aplicação utilizando o demoiselle-crud. Para visualizá-lo, clique aqui

Blog no WordPress.com.