Commit 583e551cd1a5305949c02ceb66e02c7bb7080993

Authored by Emerson Oliveira
1 parent 0b451500
Exists in master

Adição de capítulo sobre o Demoiselle Properties no Guia de Referência.

documentation/reference/pt-BR/authorgroup.xml
... ... @@ -34,4 +34,8 @@
34 34 <firstname>Wilson</firstname>
35 35 <surname>Guimarães</surname>
36 36 </author>
  37 + <author>
  38 + <firstname>Emerson</firstname>
  39 + <surname>Oliveira</surname>
  40 + </author>
37 41 </authorgroup>
... ...
documentation/reference/pt-BR/master.xml
... ... @@ -42,6 +42,7 @@
42 42 <xi:include href="templates.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
43 43 <xi:include href="security.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
44 44 <!-- <xi:include href="paginacao.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> -->
  45 + <xi:include href="properties.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
45 46 </part>
46 47 <!-- parte 2 -->
47 48 <!-- <part id="2">-->
... ... @@ -52,4 +53,4 @@
52 53 <!-- apêndices -->
53 54 <xi:include href="instalacao.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
54 55  
55   -</book>
56 56 \ No newline at end of file
  57 +</book>
... ...
documentation/reference/pt-BR/paginacao.xml
... ... @@ -36,9 +36,11 @@
36 36  
37 37 <section>
38 38 <title>Códigos de suporte</title>
  39 + <!--
39 40 <para>
40 41 // TODO: explicar Pagination e PaginationContext
41 42 </para>
  43 + -->
42 44 <para>
43 45 Veremos na seção seguinte como implementar a paginação em uma aplicação Java.
44 46  
... ... @@ -69,7 +71,7 @@ public class PaginationContext {
69 71  
70 72 public Pagination getPagination(Class<?> clazz) { ... }
71 73  
72   - public Pagination getPagination(Class<?> clazz, boolean create) { ... }
  74 + public Pagination get -->Pagination(Class<?> clazz, boolean create) { ... }
73 75  
74 76 }
75 77  
... ... @@ -147,30 +149,6 @@ frameworkdemoiselle.pagination.max_page_links=10
147 149  
148 150 <section>
149 151 <title>Implementação na aplicação</title>
150   - <!--
151   - <para>
152   - A fim de utilizar o mecanismo inerente do <emphasis>Demoiselle Framework</emphasis>, é preciso simplesmente anotar os métodos
153   - contendo as instruções desejadas com <literal>@Startup</literal>, para a <emphasis>inicialização</emphasis>, ou
154   - <literal>@Shutdown</literal>, para a <emphasis>finalização</emphasis>.
155   - </para>
156   - <tip>
157   - <para>
158   - O mecanismo de inicialização do <emphasis>Demoiselle Framework</emphasis> é independente da natureza da aplicação Java, isto é,
159   - visa tanto aplicações do tipo Web quanto do tipo desktop (ex: Swing).
160   - </para>
161   - </tip>
162   - <para>
163   - As instruções contidas em um método anotado com <literal>@Startup</literal> serão executadas automaticamente quando a aplicação
164   - Java for inicializada, seja ela hospedada em um contêiner Web ou executada através de um método <literal>main()</literal>.
165   - Nenhum outro arquivo ou classe precisa ser definido. A anotação <literal>@Startup</literal> permite a indicação do argumento
166   - <literal>priority</literal>, um número inteiro que serve para definir a prioridade de execução do respectivo método na existência
167   - de mais de um inicializador para a aplicação.
168   - </para>
169   - <para>
170   - De maneira análoga, um método anotado com <literal>@Shutdown</literal> será executado no momento de finalização de uma aplicação,
171   - obedecendo também à ordem de prioridade definida com o argumento <literal>priority</literal>.
172   - </para>
173   - -->
174 152 <para>
175 153 Eis um exemplo de implementação de paginação em uma aplicação:
176 154 </para>
... ... @@ -198,7 +176,7 @@ frameworkdemoiselle.pagination.max_page_links=10
198 176 </note>
199 177 </section>
200 178  
201   - <section>
  179 +<!--<section>
202 180 <title>Um exemplo usando PrimeFaces</title>
203 181 <para>
204 182 Eis um interessante caso de uso de paginação: ????.
... ... @@ -259,6 +237,7 @@ public class AuditMB extends AbstractListPageBean&lt;Audit, Long&gt; {
259 237 value="#{auditMB.lazyModel}" lazy="true" paginator="true"
260 238 rows="#{auditMB.pageSize}" pageLinks="#{auditMB.maxPageLinks}">]]></programlisting>
261 239 </section>
  240 + -->
262 241  
263 242 <section>
264 243 <title>Referências</title>
... ... @@ -267,7 +246,7 @@ public class AuditMB extends AbstractListPageBean&lt;Audit, Long&gt; {
267 246 <listitem>Implementing Search Result Pagination in a Web Application (http://www.developer.com/java/other/article.php/3696226/)</listitem>
268 247 <listitem>A Pagination Technique Using Spring (http://www.developer.com/java/web/article.php/10935_3830886_1/)</listitem>
269 248 <listitem>Spring JDBC Pagination Tutorial (http://www.codefutures.com/tutorials/spring-pagination/)</listitem>
270   - <listitem>PrimeFaces DataTable - Lazy Loading (http://www.primefaces.org/showcase/ui/datatableLazy.jsf)</listitem>
  249 + <!-- <listitem>PrimeFaces DataTable - Lazy Loading (http://www.primefaces.org/showcase/ui/datatableLazy.jsf)</listitem> -->
271 250 </itemizedlist>
272 251 </section>
273 252  
... ...
documentation/reference/pt-BR/properties.xml 0 → 100644
... ... @@ -0,0 +1,188 @@
  1 +<?xml version='1.0' encoding="utf-8"?>
  2 +<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
  3 + "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ ]>
  4 +<chapter id="properties">
  5 +
  6 + <title>Demoiselle Properties</title>
  7 +
  8 + <para>
  9 + Em um projeto com o <emphasis>Demoiselle Framework</emphasis>, algumas propriedades e configurações
  10 + do <emphasis>Framework</emphasis> podem ser ajustadas no arquivo <literal>demoiselle.properties</literal>.
  11 + Além disso, a partir da versão 2.3.0 também é nesse arquivo que devem ser definidas as estratégias de
  12 + <emphasis>Transação</emphasis>, <emphasis>Autorização</emphasis> e <emphasis>Autenticação</emphasis>.
  13 + </para>
  14 + <para>
  15 + A seguir listamos as propriedades e configurações do <emphasis>Demoiselle Framework</emphasis> que o usuário pode modificar,
  16 + acompanhados de alguns exemplos ilustrativos. Também mostraremos como escolher as estratégias para
  17 + <emphasis>Transação</emphasis>, <emphasis>Autorização</emphasis> e <emphasis>Autenticação</emphasis>, oferecidas pelo
  18 + <emphasis>Demoiselle</emphasis>.
  19 + </para>
  20 +
  21 + <section>
  22 + <title>Configurações do Core</title>
  23 + <para>
  24 + <itemizedlist>
  25 + <listitem>
  26 + <para>
  27 + <literal>frameworkdemoiselle.pagination.page.size</literal> - Configura o número de linhas que será
  28 + exibido na grade de uma página. Por padrão, esse número é 10.
  29 + </para>
  30 + <para>
  31 + Exemplo de configuração: <literal>frameworkdemoiselle.pagination.page.size = 15</literal>, ajusta em 15
  32 + a quantidade de linhas em uma grade
  33 + </para>
  34 + </listitem>
  35 + <listitem>
  36 + <para>
  37 + <literal>frameworkdemoiselle.pagination.max.page.links</literal> - Configura a quantidade de links que
  38 + será exibido em uma página. Por padrão, esse valor é 5.
  39 + </para>
  40 + <para>
  41 + Exemplo de configuração: <literal>frameworkdemoiselle.pagination.max.page.links = 20</literal>, configura em 20
  42 + o número de links que podem ser exibidos em uma página.
  43 + </para>
  44 + </listitem>
  45 + <listitem>
  46 + <para>
  47 + <literal>frameworkdemoiselle.security.enabled</literal> - Configura a habilitação das funcionalidades do
  48 + <emphasis>Demoiselle</emphasis> relacionadas a segurança (como autenticação de usuário e verificação de
  49 + permissão de acesso à recursos). Por padrão, essas funcionalidades ficam habilitadas.
  50 + </para>
  51 + <para>
  52 + Exemplo de configuração: <literal>frameworkdemoiselle.security.enabled = false</literal>, desabilita as
  53 + funcionalidades de segurança do <emphasis>Demoiselle</emphasis>.
  54 + </para>
  55 + </listitem>
  56 + </itemizedlist>
  57 + </para>
  58 + </section>
  59 +
  60 + <section>
  61 + <title>Configurações da extensão JSF</title>
  62 + <para>
  63 + <itemizedlist>
  64 + <listitem>
  65 + <para>
  66 + <literal>frameworkdemoiselle.security.login.page</literal> - Configura a página de login. Por padrão, a página
  67 + configurada é <emphasis>“/login”</emphasis>.
  68 + </para>
  69 + <para>
  70 + Exemplo de configuração: <literal>frameworkdemoiselle.security.login.page = “/inicial”</literal>, configura a
  71 + página <emphasis>“/inicial”</emphasis> como a página de login.
  72 + </para>
  73 + </listitem>
  74 +
  75 + <listitem>
  76 + <para>
  77 + <literal>frameworkdemoiselle.security.redirect.after.login</literal> - Configura a página que será acessada após
  78 + o login. Por padrão, a página configurada é <emphasis>“/index”</emphasis>.
  79 + </para>
  80 + <para>
  81 + Exemplo de configuração: <literal>frameworkdemoiselle.security.redirect.after.login = "/menu"</literal>, configura
  82 + a página <emphasis>“/menu”</emphasis> para ser acessada no redirecionamento após o login do usuário.
  83 + </para>
  84 + </listitem>
  85 +
  86 + <listitem>
  87 + <para>
  88 + <literal>frameworkdemoiselle.security.redirect.after.logout</literal> - Configura a página para a qual a aplicação
  89 + será direcionada após o logout do usuário. Por padrão, a página configurada é <emphasis>“/login”</emphasis>.
  90 + </para>
  91 + <para>
  92 + Exemplo de configuração: <literal>frameworkdemoiselle.security.redirect.after.logout = "/index"</literal>, configura
  93 + a página "/index" para ser acessada no redirecionamento após o logout do usuário.
  94 + </para>
  95 + </listitem>
  96 +
  97 + <listitem>
  98 + <para>
  99 + <literal>frameworkdemoiselle.security.redirect.enebled</literal> - Configura a habilitação do redirecionamento da página
  100 + após <emphasis>login</emphasis> e <emphasis>logout</emphasis>. Por padrão, o valor dessa propriedade é <emphasis>true</emphasis>.
  101 + </para>
  102 + <para>
  103 + Exemplo de configuração: <literal>frameworkdemoiselle.security.redirect.enebled = false</literal>, desabilita os
  104 + redirecionamentos de páginas após <emphasis>login</emphasis> e <emphasis>logout</emphasis>.
  105 + </para>
  106 + </listitem>
  107 +
  108 + <listitem>
  109 + <para>
  110 + <literal>frameworkdemoiselle.handle.application.exception</literal> - Define se a extensão vai capturar ou não alguma exceção
  111 + lançada pela aplicação. Por padrão, essa configuração vem marcada como “true”, que diz para a extensão capturar a exceção.
  112 + </para>
  113 + <para>
  114 + Exemplo de configuração: <emphasis>frameworkdemoiselle.handle.application.exception = false</emphasis>, desabilita a captura
  115 + de exceções lançadas pela aplicação.
  116 + </para>
  117 + </listitem>
  118 +
  119 + <listitem>
  120 + <para>
  121 + <literal>frameworkdemoiselle.handle.aplication.exception.page</literal> - Configura a página para a qual a aplicação será
  122 + direcionada em caso de exceção. Por padrão, a página configurada é <emphasis>“/application_error”</emphasis>.
  123 + </para>
  124 + <para>
  125 + Exemplo de configuração: <emphasis>framework.handle.aplication.exception.page = “/exception_x_page”</emphasis>, redireciona a
  126 + aplicação para a página <emphasis>/exception_x_page</emphasis> caso ocorra alguma exceção.
  127 + </para>
  128 + </listitem>
  129 + </itemizedlist>
  130 + </para>
  131 + </section>
  132 +
  133 + <section>
  134 + <title>Configurações da Extensão JPA</title>
  135 + <para>
  136 + <itemizedlist>
  137 + <listitem>
  138 + <para>
  139 + <literal>frameworkdemoiselle.persistence.unit.name</literal> - Quando é definida mais de uma unidade de persitencia
  140 + no arquivo <literal>persistence.xml</literal>, muitas vezes é conveniente escolher uma unidade padrão, ao invés de
  141 + definir as unidades individualmente em cada <emphasis>Entity Manager</emphasis>. Esse parametro é utilizado para
  142 + indicar qual é a unidade de persistência que deve ser utilizada quando no <emphasis>Entity Manager</emphasis> não
  143 + houver essa definição.
  144 + </para>
  145 + <para>
  146 + Exemplo de configuração: <literal>frameworkdemoiselle.persistence.unit.name = database1-ds</literal>, configura a
  147 + unidade de persistencia <literal>database1-ds</literal> como padrão da aplicação.
  148 + </para>
  149 + </listitem>
  150 + </itemizedlist>
  151 + </para>
  152 + </section>
  153 +
  154 + <section>
  155 + <title>Escolhendo Estratégias</title>
  156 + <para>
  157 + Para escolher as estratégias de <emphasis>Transação</emphasis>, <emphasis>Autorização</emphasis> e <emphasis>Autenticação</emphasis>
  158 + devem ser configuradas as propriedades: <literal>frameworkdemoiselle.transaction.class</literal>,
  159 + <literal>frameworkdemoiselle.security.authorizer.class</literal> e <literal>frameworkdemoiselle.security.authenticator.class</literal>
  160 + , respectivamente.
  161 + </para>
  162 + <para>
  163 + Para utilizar as estratégias fornecidas pelo próprio <emphasis>Framework Demoiselle</emphasis>, você deve configurar essas
  164 + propriedades da seguinte forma:
  165 + <itemizedlist>
  166 + <listitem>
  167 + <para>
  168 + <literal>frameworkdemoiselle.transaction.class = br.gov.frameworkdemoiselle.transaction.JPATransaction</literal>,
  169 + para transações <emphasis>JPA</emphasis>, e <literal>frameworkdemoiselle.transaction.class =
  170 + br.gov.frameworkdemoiselle.transaction.JTATransaction</literal>, para transações <emphasis>JTA</emphasis>;
  171 + </para>
  172 + </listitem>
  173 + <listitem>
  174 + <para>
  175 + <literal>frameworkdemoiselle.security.authorizer.class = br.gov.serpro.inscricao.security.Autorizador</literal>;
  176 + </para>
  177 + </listitem>
  178 + <listitem>
  179 + <para>
  180 + <literal>frameworkdemoiselle.security.authenticator.class = br.gov.serpro.inscricao.security.Autenticador</literal>.
  181 + </para>
  182 + </listitem>
  183 + </itemizedlist>
  184 + As instruções para você construir e utilizar sua própria estratégia estãodescritas nos capítulos <link linkend="transacao">Transação</link>
  185 + e <link linkend="security">Segurança</link>.
  186 + </para>
  187 + </section>
  188 +</chapter>
... ...