SlideShare une entreprise Scribd logo
1  sur  103
customizando o


                                                                             by


                           http://www.flickr.com/photos/dejay181/461011654/        1
Monday, December 7, 2009
2
Monday, December 7, 2009
só lembrando

                     a moda é customizar
                           para deixar o portal com a sua cara




                                                                 3
Monday, December 7, 2009
4
Monday, December 7, 2009
4
Monday, December 7, 2009
Interessado?
                             o/




                  sea@seatecnologia.com.br
                                             5
Monday, December 7, 2009
Criar páginas, configurar layouts, distribuir
                       portlets é apenas a ponta do iceberg...
                                                                     6
Monday, December 7, 2009
Há inúmeras outras possibilidades para
                                 customização do Liferay.




                              http://www.flickr.com/photos/stephenpoff/2761284719/in/set-72157594345940394/   7
Monday, December 7, 2009
O Liferay possui vários níveis de customização.



                                               Customização
                                                   Liferay




                                                  Extension    Código
                           Plugins
                                                 Environment   Fonte




    Portlets               Temas     Layouts


                                                                        8
Monday, December 7, 2009
O Liferay possui vários níveis de customização.



        A primeira                             Customização
  estratégía é através de
                                                   Liferay
          plugins




                                                  Extension                   Código
                           Plugins
                                                 Environment                  Fonte




                                                  Plugins são componentes WAR, facilmente
    Portlets               Temas     Layouts             organizáveis em repositórios.

                                                                                            8
Monday, December 7, 2009
O Liferay possui vários níveis de customização.



                               Quando não          Customização
                           resolver com plugins,
                                                       Liferay
                                vá de EXT




                                                      Extension                   Código
                           Plugins
                                                     Environment                  Fonte




                                                       O ambiente de extensão é mais poderoso
    Portlets                Temas        Layouts          que plugins, porém, mais instrusivo.

                                                                                                 8
Monday, December 7, 2009
O Liferay possui vários níveis de customização.



                                                                          Em último caso,
                                               Customização           modifique o código fonte
                                                   Liferay                   original




                                                  Extension                      Código
                           Plugins
                                                 Environment                     Fonte




                                                     Modificações no código fonte, apesar de
    Portlets               Temas     Layouts          não imporem limites na customização,
                                                    prejudicam a evolução para novas versões.
                                                                                                8
Monday, December 7, 2009
Focaremos na customização por plugins.




                                               Customização
                                                   Liferay




                                                  Extension      Código
                           Plugins
                                                 Environment     Fonte




    Portlets               Temas     Layouts

                                                                          9
Monday, December 7, 2009
Criação de Plugins
                                  temas, layouts e portlets
                           http://www.flickr.com/photos/stephenpoff/2874657376/in/set-72157594345940394/   10
Monday, December 7, 2009
pré-reqs




                           Para iniciar o desenvolvimento de plugins,
                             alguns pré-requisitos são necessários      11
Monday, December 7, 2009
pré-reqs




                           Para iniciar o desenvolvimento de plugins,
                             alguns pré-requisitos são necessários      11
Monday, December 7, 2009
pré-reqs




                           Para iniciar o desenvolvimento de plugins,
                             alguns pré-requisitos são necessários      11
Monday, December 7, 2009
Na página de download
                           do Liferay, existe um link
                               ‘Additional Files’




                                                        12
Monday, December 7, 2009
Baixe o
                           Liferay Plugins SDK




                             Text                13
Monday, December 7, 2009
Baixe o
                           Liferay Plugins SDK




                             Text                13
Monday, December 7, 2009
Descompacte o Plugins
                            SDK e veja a seguinte
                           estrutura de diretórios.




                                                      14
Monday, December 7, 2009
Crie o arquivo
                           build.${usuario}.properties...

                            onde ${usuario} é o nome do usuário
                                    logado na máquina




                                                                  15
Monday, December 7, 2009
Configure no Plugin SDK o
            caminho do servidor Tomcat
            sobre o qual seu Liferay está
                 sendo executado.



                                            16
Monday, December 7, 2009
Portlets              primeiros passos...



Monday, December 7, 2009
Acesse a pasta ‘portlets’
        do Plugin SDK...


  /liferay/liferay-plugins-sdk-5.2.3/portlets $ ./create.sh hello-liferay "Hello Liferay"
  Buildfile: build.xml

  create:
     [unzip] Expanding: /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins-sdk-5.2.3/
  portlets/portlet.zip into /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins-
  sdk-5.2.3/portlets/hello-liferay-portlet
     [mkdir] Created dir: /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins-
  sdk-5.2.3/portlets/hello-liferay-portlet/docroot/WEB-INF/tld
      [copy] Copying 6 files to /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins-
  sdk-5.2.3/portlets/hello-liferay-portlet/docroot/WEB-INF/tld

  BUILD SUCCESSFUL
  Total time: 6 seconds




                                                                                              18
Monday, December 7, 2009
...e utilize o script para
                              criação de um novo
                                    portlet...


  /liferay/liferay-plugins-sdk-5.2.3/portlets $ ./create.sh hello-liferay "Hello Liferay"
  Buildfile: build.xml

  create:
     [unzip] Expanding: /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins-sdk-5.2.3/
  portlets/portlet.zip into /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins-
  sdk-5.2.3/portlets/hello-liferay-portlet
     [mkdir] Created dir: /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins-
  sdk-5.2.3/portlets/hello-liferay-portlet/docroot/WEB-INF/tld
      [copy] Copying 6 files to /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins-
  sdk-5.2.3/portlets/hello-liferay-portlet/docroot/WEB-INF/tld

  BUILD SUCCESSFUL
  Total time: 6 seconds




                                                                                              18
Monday, December 7, 2009
...informando o nome do
                                     projeto...


  /liferay/liferay-plugins-sdk-5.2.3/portlets $ ./create.sh hello-liferay "Hello Liferay"
  Buildfile: build.xml

  create:
     [unzip] Expanding: /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins-sdk-5.2.3/
  portlets/portlet.zip into /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins-
  sdk-5.2.3/portlets/hello-liferay-portlet
     [mkdir] Created dir: /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins-
  sdk-5.2.3/portlets/hello-liferay-portlet/docroot/WEB-INF/tld
      [copy] Copying 6 files to /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins-
  sdk-5.2.3/portlets/hello-liferay-portlet/docroot/WEB-INF/tld

  BUILD SUCCESSFUL
  Total time: 6 seconds




                                                                                              18
Monday, December 7, 2009
...e o nome do portlet.



  /liferay/liferay-plugins-sdk-5.2.3/portlets $ ./create.sh hello-liferay "Hello Liferay"
  Buildfile: build.xml

  create:
     [unzip] Expanding: /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins-sdk-5.2.3/
  portlets/portlet.zip into /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins-
  sdk-5.2.3/portlets/hello-liferay-portlet
     [mkdir] Created dir: /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins-
  sdk-5.2.3/portlets/hello-liferay-portlet/docroot/WEB-INF/tld
      [copy] Copying 6 files to /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins-
  sdk-5.2.3/portlets/hello-liferay-portlet/docroot/WEB-INF/tld

  BUILD SUCCESSFUL
  Total time: 6 seconds




                                                                                              18
Monday, December 7, 2009
Analise a estrutura de
                             diretórios criada.




                                                    19
Monday, December 7, 2009
/liferay/liferay-plugins-sdk-5.2.3/portlets/hello-liferay-portlet $ ant   deploy
 Buildfile: build.xml

 compile:

 merge:                                                             Faça o deploy automático
   [javac] Compiling 1 source file to /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins-
                                                                        do portlet no Liferay
 sdk-5.2.3/portlets/hello-liferay-portlet/docroot/WEB-INF/classes
                                                                             configurado no arquivo
 merge:                                                                     build.${usuario}.properties

 war:
   [mkdir] Created dir: /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins-sdk-5.2.3/dist

 clean-portal-dependencies:
     [zip] Building zip: /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins-sdk-5.2.3/dist/
 hello-liferay-portlet-5.2.3.1.war

 deploy:
    [copy] Copying 1 file to /liferay/liferay-portal-5.2.3/deploy

 BUILD SUCCESSFUL
 Total time: 24 seconds

                                                                                                          20
Monday, December 7, 2009
13:38:16,945 INFO [AutoDeployDir:183] Processing hello-liferay-portlet-5.2.3.1.war
13:38:19,275 INFO [PortletAutoDeployListener:77] Copying portlets for /Users/alegomes/sea/edu/
liferay/apps/liferay-portal-5.2.3/deploy/hello-liferay-portlet-5.2.3.1.war
(...)
13:39:03,603 INFO [PortletAutoDeployListener:87] Portlets for /Users/alegomes/sea/edu/liferay/apps/
liferay-portal-5.2.3/deploy/hello-liferay-portlet-5.2.3.1.war copied successfully. Deployment will start in a
few seconds.

13:40:40,919 INFO [PortletHotDeployListener:227] Registering portlets for hello-liferay-portlet
13:40:41,587 INFO [PortletHotDeployListener:346] 1 portlet for hello-liferay-portlet is
available for use



                                                                      Acompanhe o
                                                                       resultado do
                                                                     deploy no log do
                                                                     servidor Liferay.
                                                                                                           21
Monday, December 7, 2009
Verifique a presença
                              do portlet no
                           diretório de deploy
                                do Liferay




                             Portlet
                           deployado!

                                                 22
Monday, December 7, 2009
Nosso
                           portlet!



                              Acesse a interface web
                               do portal e verifique a
                              presença do portlet na
                                  lista de portlets
                              disponívéis no servidor.
                                                         23
Monday, December 7, 2009
Nosso
                           portlet!




                                      24
Monday, December 7, 2009
/liferay/liferay-plugins-sdk-5.2.3/portlets/hello-liferay-portlet $ ant   setup-eclipse
 Buildfile: build.xml

 setup-eclipse:
    [java] Loading jar:file:/Volumes/Data/Documents/sea/edu/liferay/apps/liferay-portal-5.2.3/
 tomcat-5.5.27/webapps/ROOT/WEB-INF/lib/portal-impl.jar!/system.properties
    [java] Loading jar:file:/Volumes/Data/Documents/sea/edu/liferay/apps/liferay-portal-5.2.3/
 tomcat-5.5.27/webapps/ROOT/WEB-INF/lib/portal-impl.jar!/portal.properties
    [java] Loading jar:file:/Volumes/Data/Documents/sea/edu/liferay/apps/liferay-portal-5.2.3/
 tomcat-5.5.27/webapps/ROOT/WEB-INF/lib/portal-impl.jar!/com/liferay/portal/tools/
 dependencies/portal-tools.properties
    [java] Loading jar:file:/Volumes/Data/Documents/sea/edu/liferay/apps/liferay-portal-5.2.3/
 tomcat-5.5.27/webapps/ROOT/WEB-INF/lib/portal-impl.jar!/captcha.properties
    [java] 14:07:11,904 INFO [PortalImpl:252] Portal lib directory /Volumes/Data/Documents/
 sea/edu/liferay/apps/liferay-portal-5.2.3/tomcat-5.5.27/webapps/ROOT/WEB-INF/lib/
    [java] Updating /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins-sdk-5.2.3/
 portlets/hello-liferay-portlet/.project
    [java] Updating /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins-sdk-5.2.3/
 portlets/hello-liferay-portlet/.classpath
                                               Crie um projeto
 BUILD SUCCESSFUL                             Eclipse a partir do
 Total time: 24 seconds                      código gerado pelo
                                                 Plugins SDK
                                                                                           25
Monday, December 7, 2009
Importe o projeto
                             do portlet no
                                Eclipse




                                               26
Monday, December 7, 2009
Todo portlet criado
                pelo SDK busca as
                  libs do projeto
                       ‘portal’




                                     27
Monday, December 7, 2009
Baixar código
                             fonte do
                              Liferay




                                           28
Monday, December 7, 2009
28
Monday, December 7, 2009
Descompacte o
                           código fonte do
                               Liferay
                                             29
Monday, December 7, 2009
Confira a estrutura
        de diretórios
           criada.




30
Monday, December 7, 2009
Crie um novo
   projeto no Eclipse
     para o código
    fonte do Liferay

                           31
Monday, December 7, 2009
Ainda existem
            erros




                           32
Monday, December 7, 2009
33
Monday, December 7, 2009
Remover libs
                           problemáticas




                                           34
Monday, December 7, 2009
35
Monday, December 7, 2009
Adicionar
                           diretório de
                              classes




                                          35
Monday, December 7, 2009
Adicionar
                           diretório de
                              classes




                                          35
Monday, December 7, 2009
Diretório de
          classes
      adicionado às
     libs do projeto
        de portlet




                           36
Monday, December 7, 2009
Acabaram os
                            problemas.




                                         37
Monday, December 7, 2009
Código Java
           do portlet



                           38
Monday, December 7, 2009
Código JSP
           do portlet

                           39
Monday, December 7, 2009
Não se iluda
                                 achando que já sabe tudo




http://www.flickr.com/photos/purplemattfish/3404482191/       40
Monday, December 7, 2009
Invista alguns
             tomates* para
            dominar a teoria
              dos portlets
                           * The Pomodoro Technique




 http://www.flickr.com/photos/stephenpoff/158536767/in/set-72157594345940394/   41
Monday, December 7, 2009
e por falar em tomates...




                                                     Suponha que
                                                    portlets sejam


                                                    tomates
http://www.flickr.com/photos/darwinbell/387755335/                               42
Monday, December 7, 2009
Tomates são guardados
             em caixas.
http://www.flickr.com/photos/chrismar/3631784233/   43
Monday, December 7, 2009
Tomates têm um
                                                         ciclo de vida
                                                          muito bem
                                                           definido.




          eles
        nascem...
http://www.flickr.com/photos/urbanislands/3876172828/                 44
Monday, December 7, 2009
...crescem...


http://www.flickr.com/photos/deborahnaomi/1820652016/                   45
Monday, December 7, 2009
...reproduzem-se...


                           http://www.flickr.com/photos/jp_math54/3819627661/   46
Monday, December 7, 2009
...são colhidos...

http://www.flickr.com/photos/the_ewan/2962762666/   47
Monday, December 7, 2009
...comidos...
                           http://www.flickr.com/photos/gezellig-girl/3784584015/   48
Monday, December 7, 2009
...ou morrem.



http://www.flickr.com/photos/another007/2885665653/   49
Monday, December 7, 2009
Entenda a lógica da programação orientada a
                      componentes do mundo Java




http://www.flickr.com/photos/jp_math54/3819628579/   50
Monday, December 7, 2009
http://www.flickr.com/photos/19684903@N00/346425180/   51
Monday, December 7, 2009
componente é uma peça
             independente de software




http://www.flickr.com/photos/19684903@N00/346425180/   51
Monday, December 7, 2009
componente é uma peça
             independente de software


                                                      todo componente tem um
                                                      ciclo de vida bem definido




http://www.flickr.com/photos/19684903@N00/346425180/                               51
Monday, December 7, 2009
componente é uma peça
             independente de software


                                                      todo componente tem um
                                                      ciclo de vida bem definido

   o ciclo de vida de um
 componente é gerenciado
     por um container



http://www.flickr.com/photos/19684903@N00/346425180/                               51
Monday, December 7, 2009
componente é uma peça
             independente de software


                                                      todo componente tem um
                                                      ciclo de vida bem definido

   o ciclo de vida de um
 componente é gerenciado
     por um container
                                                         a cada transição entre
                                                         fases do ciclo de vida,
                                                             um método do
http://www.flickr.com/photos/19684903@N00/346425180/
                                                        componente é chamado       51
Monday, December 7, 2009
http://www.flickr.com/photos/19684903@N00/346425180/   52
Monday, December 7, 2009
componente são empacotados




http://www.flickr.com/photos/19684903@N00/346425180/   52
Monday, December 7, 2009
componente são empacotados


                                  cada tipo de componente possui seu
                                         próprio tipo de pacote
                                                      WAR, JAR, EAR, SAR, RAR...




http://www.flickr.com/photos/19684903@N00/346425180/                                52
Monday, December 7, 2009
componente são empacotados


                                  cada tipo de componente possui seu
                                         próprio tipo de pacote
                                                      WAR, JAR, EAR, SAR, RAR...



  num pacote de componentes há
classes + recursos + descritor




http://www.flickr.com/photos/19684903@N00/346425180/                                52
Monday, December 7, 2009
componente são empacotados


                                  cada tipo de componente possui seu
                                         próprio tipo de pacote
                                                        WAR, JAR, EAR, SAR, RAR...



  num pacote de componentes há
classes + recursos + descritor

                                                      cada tipo de pacote possui
                                                        seu próprio descritor
                                                       web.xml, ejb-jar.xml, enterprise.xml, -service.xml
http://www.flickr.com/photos/19684903@N00/346425180/                                                         52
Monday, December 7, 2009
Para fazer uma Applet, uma Servlet ou um Midlet...
                                                                 53
Monday, December 7, 2009
...precisamos estender classes da respectiva API.
                                                                   54
Monday, December 7, 2009
Geralmente, essas classes declaram métodos abstratos (ou não)...
                                                              55
Monday, December 7, 2009
...que precisam ser sobrescritos.
                                                               56
Monday, December 7, 2009
Mas, pra quê serve essa
             sobrescrita?

                                 57
Monday, December 7, 2009
Para sabermos quando o componente mudou de estado
                                                        58
Monday, December 7, 2009
O container, responsável pelo ciclo de vida dos
componentes, notifica-os por meio de métodos de callback
     sempre que houver uma transição de estado.
                                                      59
Monday, December 7, 2009
No fundo, é tudo a mesma coisa.
                                                             60
Monday, December 7, 2009
Inclusive
      portlets



                           61
Monday, December 7, 2009
Inclusive
      portlets
                            Invocado pelo container
                           quando alguma submissão
                               de dados é feita ao
                                  componente.




                                                      61
Monday, December 7, 2009
Inclusive
      portlets


                Invocado pelo container quando
                há a necessidade de reconstruir
                 a visualização do componente
                                                  61
Monday, December 7, 2009
62
Monday, December 7, 2009
Dessa forma,
temos...
                           63
Monday, December 7, 2009
portlet
                                                       componente de software que gera
                                                             fragmentos HTML
                                                                em um portal
   http://www.flickr.com/photos/spisharam/2742433355/                                     64
Monday, December 7, 2009
portlet container
                             ambiente gerenciador de
                           portlets e seus ciclos de vida



                                http://www.flickr.com/photos/fensterbme/241478156/   65
Monday, December 7, 2009
Portlets
   geram fragmentos de
          HTML

                           portlets são agrupados
                                 em pacotes
                                 WAR
                                             pacotes WAR são deployados em
                                              Portlet Containers             66
Monday, December 7, 2009
um pacote WAR de portlets contém...




                                   my-portlet.war


Classes + Recursos + Descritor
                                                                 67
Monday, December 7, 2009
Descritores podem ser...

                                Padrões
                                 web.xml
                                portlet.xml



           my-portlet.war   Proprietários
                            liferay-portlet.xml
                            liferay-display.xml
                                                       68
Monday, December 7, 2009
O mais importante é se lembrar que
portlets ≠ servlets


                                 69
Monday, December 7, 2009
Portlets têm

                           modos
                           definem a função do portlet no instante


Monday, December 7, 2009
View


                               Edit




Monday, December 7, 2009
                           ?   Help
                                      71
Liferay
                                          Extension

                           configuration
                              mode

                                                      72
Monday, December 7, 2009
Liferay
                                           Extension

                           look and feel
                              mode

                                                       73
Monday, December 7, 2009
Portlets têm

               estados
                     definem o tamanho da tela que estão ocupando


Monday, December 7, 2009
normal


                                    75
Monday, December 7, 2009
maximizado


                                        76
Monday, December 7, 2009
minimizado




                                        77
Monday, December 7, 2009
Portlet 2.0
                                   Eventos
                                    AJAX
                                    Filtros
                                     IPC
                           http://jcp.org/en/jsr/detail?id=286   78
Monday, December 7, 2009
Interessado?
                             o/




                  sea@seatecnologia.com.br
                                             79
Monday, December 7, 2009
Q&A
Monday, December 7, 2009

Contenu connexe

En vedette

En vedette (8)

Roadshow Liferay no Brasil 2010
Roadshow Liferay no Brasil 2010Roadshow Liferay no Brasil 2010
Roadshow Liferay no Brasil 2010
 
Loomio how to Series - Creating a new Group of People
Loomio how to Series - Creating a new Group of PeopleLoomio how to Series - Creating a new Group of People
Loomio how to Series - Creating a new Group of People
 
Sem tesão não há solução
Sem tesão não há soluçãoSem tesão não há solução
Sem tesão não há solução
 
Loomio how to Series - Working on a Discussion
Loomio how to Series - Working on a DiscussionLoomio how to Series - Working on a Discussion
Loomio how to Series - Working on a Discussion
 
Liferay 6.2 theme premium
Liferay 6.2 theme premiumLiferay 6.2 theme premium
Liferay 6.2 theme premium
 
Gerentes em Crise existencial - Existimos no Universo Ágil?
Gerentes em Crise existencial - Existimos no Universo Ágil?Gerentes em Crise existencial - Existimos no Universo Ágil?
Gerentes em Crise existencial - Existimos no Universo Ágil?
 
Java Profiling Tools
Java Profiling ToolsJava Profiling Tools
Java Profiling Tools
 
4. Liferay JSP Portlets
4. Liferay JSP Portlets4. Liferay JSP Portlets
4. Liferay JSP Portlets
 

Similaire à 3. Liferay Customization

Apresentação jogo do baú 1
Apresentação jogo do baú 1Apresentação jogo do baú 1
Apresentação jogo do baú 1
Eric Monte Lima
 
Java 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral DetalhadoJava 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral Detalhado
Regis Magalhães
 

Similaire à 3. Liferay Customization (20)

Framework 7 pdf
Framework 7 pdfFramework 7 pdf
Framework 7 pdf
 
Criando aplicativos multimídia com director 7 tambein engloba versoes 5, 6...
Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6...Criando aplicativos multimídia com director  7   tambein engloba versoes 5, 6...
Criando aplicativos multimídia com director 7 tambein engloba versoes 5, 6...
 
Apresentação jogo do baú 1
Apresentação jogo do baú 1Apresentação jogo do baú 1
Apresentação jogo do baú 1
 
Apresentação realidade aumentada para aplicações web e mobile
Apresentação   realidade aumentada para aplicações web e mobileApresentação   realidade aumentada para aplicações web e mobile
Apresentação realidade aumentada para aplicações web e mobile
 
Resolvendo problemas do dia a-dia com o windows server
Resolvendo problemas do dia a-dia com o windows serverResolvendo problemas do dia a-dia com o windows server
Resolvendo problemas do dia a-dia com o windows server
 
Edição de Vídeos para Redes Sociais com Adobe Premiere
Edição de Vídeos para Redes Sociais com Adobe PremiereEdição de Vídeos para Redes Sociais com Adobe Premiere
Edição de Vídeos para Redes Sociais com Adobe Premiere
 
Palestra Netbeans 6 Campus Party
Palestra Netbeans 6 Campus PartyPalestra Netbeans 6 Campus Party
Palestra Netbeans 6 Campus Party
 
Video na web
Video na webVideo na web
Video na web
 
Sistemas operacionais 12
Sistemas operacionais 12Sistemas operacionais 12
Sistemas operacionais 12
 
Java 01 Java Visao Geral
Java 01 Java Visao GeralJava 01 Java Visao Geral
Java 01 Java Visao Geral
 
Java 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral DetalhadoJava 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral Detalhado
 
Performance e otimização no wordpress
Performance e otimização no wordpressPerformance e otimização no wordpress
Performance e otimização no wordpress
 
Windows 7 e suas Edições
Windows 7 e suas EdiçõesWindows 7 e suas Edições
Windows 7 e suas Edições
 
Apresenta..
Apresenta..Apresenta..
Apresenta..
 
Html5 Aula 5
Html5 Aula 5Html5 Aula 5
Html5 Aula 5
 
O Básico para criar Sites Otimizados em Elementor
O Básico para criar Sites Otimizados em ElementorO Básico para criar Sites Otimizados em Elementor
O Básico para criar Sites Otimizados em Elementor
 
Otimize sua web page e web components
Otimize sua web page e web componentsOtimize sua web page e web components
Otimize sua web page e web components
 
Implementação de PCs, parte 3 de 4: Criação e manipulação de imagem de instal...
Implementação de PCs, parte 3 de 4: Criação e manipulação de imagem de instal...Implementação de PCs, parte 3 de 4: Criação e manipulação de imagem de instal...
Implementação de PCs, parte 3 de 4: Criação e manipulação de imagem de instal...
 
Internetcus
InternetcusInternetcus
Internetcus
 
X Bemobi Tech Talk - Maven
X Bemobi Tech Talk - MavenX Bemobi Tech Talk - Maven
X Bemobi Tech Talk - Maven
 

Plus de SEA Tecnologia

A escola do século XXI deve ser ágil, enxuta e empreendedora.
A escola do século XXI deve ser ágil, enxuta e empreendedora.A escola do século XXI deve ser ágil, enxuta e empreendedora.
A escola do século XXI deve ser ágil, enxuta e empreendedora.
SEA Tecnologia
 
Open data, scraping e thacks com Software Livre
Open data, scraping e thacks com Software LivreOpen data, scraping e thacks com Software Livre
Open data, scraping e thacks com Software Livre
SEA Tecnologia
 
Roadshow Brasília Novas funcionalidades Liferay 6
Roadshow Brasília Novas funcionalidades Liferay 6Roadshow Brasília Novas funcionalidades Liferay 6
Roadshow Brasília Novas funcionalidades Liferay 6
SEA Tecnologia
 
Pra você, desenvolver software é atividade intelectual?
Pra você, desenvolver software é atividade intelectual?Pra você, desenvolver software é atividade intelectual?
Pra você, desenvolver software é atividade intelectual?
SEA Tecnologia
 
Jopr Plugin Development
Jopr Plugin DevelopmentJopr Plugin Development
Jopr Plugin Development
SEA Tecnologia
 
Arsenal de ferramentas para performance tuning
Arsenal de ferramentas para performance tuningArsenal de ferramentas para performance tuning
Arsenal de ferramentas para performance tuning
SEA Tecnologia
 

Plus de SEA Tecnologia (20)

Loomio how to Series - Creating a new Discussion
Loomio how to Series - Creating a new DiscussionLoomio how to Series - Creating a new Discussion
Loomio how to Series - Creating a new Discussion
 
Contratos de desenvolvimento de software para governo blue pill or red pill?
Contratos de desenvolvimento de software para governo  blue pill or red pill?Contratos de desenvolvimento de software para governo  blue pill or red pill?
Contratos de desenvolvimento de software para governo blue pill or red pill?
 
#Fail
#Fail#Fail
#Fail
 
Os benefícios e desafios da participação pública digital
Os benefícios e desafios da participação pública digitalOs benefícios e desafios da participação pública digital
Os benefícios e desafios da participação pública digital
 
A escola do século XXI deve ser ágil, enxuta e empreendedora.
A escola do século XXI deve ser ágil, enxuta e empreendedora.A escola do século XXI deve ser ágil, enxuta e empreendedora.
A escola do século XXI deve ser ágil, enxuta e empreendedora.
 
Lean Startup
Lean StartupLean Startup
Lean Startup
 
Open Data
Open DataOpen Data
Open Data
 
Open data, scraping e thacks com Software Livre
Open data, scraping e thacks com Software LivreOpen data, scraping e thacks com Software Livre
Open data, scraping e thacks com Software Livre
 
Agilidade dos projetos à empresa, uma história de Intracontágio
Agilidade dos projetos à empresa, uma história de IntracontágioAgilidade dos projetos à empresa, uma história de Intracontágio
Agilidade dos projetos à empresa, uma história de Intracontágio
 
Roadshow Brasília Novas funcionalidades Liferay 6
Roadshow Brasília Novas funcionalidades Liferay 6Roadshow Brasília Novas funcionalidades Liferay 6
Roadshow Brasília Novas funcionalidades Liferay 6
 
Empreendimentos em Rede
Empreendimentos em RedeEmpreendimentos em Rede
Empreendimentos em Rede
 
Cozinha
CozinhaCozinha
Cozinha
 
Pra você, desenvolver software é atividade intelectual?
Pra você, desenvolver software é atividade intelectual?Pra você, desenvolver software é atividade intelectual?
Pra você, desenvolver software é atividade intelectual?
 
Jopr Plugin Development
Jopr Plugin DevelopmentJopr Plugin Development
Jopr Plugin Development
 
JMX Management Tools
JMX Management ToolsJMX Management Tools
JMX Management Tools
 
Hotspot tools
Hotspot toolsHotspot tools
Hotspot tools
 
Unix Monitoring Tools
Unix Monitoring ToolsUnix Monitoring Tools
Unix Monitoring Tools
 
Benchmarking Tools
Benchmarking ToolsBenchmarking Tools
Benchmarking Tools
 
Arsenal de ferramentas para performance tuning
Arsenal de ferramentas para performance tuningArsenal de ferramentas para performance tuning
Arsenal de ferramentas para performance tuning
 
A arte do tuning
A arte do tuningA arte do tuning
A arte do tuning
 

Dernier

Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
Natalia Granato
 

Dernier (6)

ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 

3. Liferay Customization

  • 1. customizando o by http://www.flickr.com/photos/dejay181/461011654/ 1 Monday, December 7, 2009
  • 3. só lembrando a moda é customizar para deixar o portal com a sua cara 3 Monday, December 7, 2009
  • 6. Interessado? o/ sea@seatecnologia.com.br 5 Monday, December 7, 2009
  • 7. Criar páginas, configurar layouts, distribuir portlets é apenas a ponta do iceberg... 6 Monday, December 7, 2009
  • 8. Há inúmeras outras possibilidades para customização do Liferay. http://www.flickr.com/photos/stephenpoff/2761284719/in/set-72157594345940394/ 7 Monday, December 7, 2009
  • 9. O Liferay possui vários níveis de customização. Customização Liferay Extension Código Plugins Environment Fonte Portlets Temas Layouts 8 Monday, December 7, 2009
  • 10. O Liferay possui vários níveis de customização. A primeira Customização estratégía é através de Liferay plugins Extension Código Plugins Environment Fonte Plugins são componentes WAR, facilmente Portlets Temas Layouts organizáveis em repositórios. 8 Monday, December 7, 2009
  • 11. O Liferay possui vários níveis de customização. Quando não Customização resolver com plugins, Liferay vá de EXT Extension Código Plugins Environment Fonte O ambiente de extensão é mais poderoso Portlets Temas Layouts que plugins, porém, mais instrusivo. 8 Monday, December 7, 2009
  • 12. O Liferay possui vários níveis de customização. Em último caso, Customização modifique o código fonte Liferay original Extension Código Plugins Environment Fonte Modificações no código fonte, apesar de Portlets Temas Layouts não imporem limites na customização, prejudicam a evolução para novas versões. 8 Monday, December 7, 2009
  • 13. Focaremos na customização por plugins. Customização Liferay Extension Código Plugins Environment Fonte Portlets Temas Layouts 9 Monday, December 7, 2009
  • 14. Criação de Plugins temas, layouts e portlets http://www.flickr.com/photos/stephenpoff/2874657376/in/set-72157594345940394/ 10 Monday, December 7, 2009
  • 15. pré-reqs Para iniciar o desenvolvimento de plugins, alguns pré-requisitos são necessários 11 Monday, December 7, 2009
  • 16. pré-reqs Para iniciar o desenvolvimento de plugins, alguns pré-requisitos são necessários 11 Monday, December 7, 2009
  • 17. pré-reqs Para iniciar o desenvolvimento de plugins, alguns pré-requisitos são necessários 11 Monday, December 7, 2009
  • 18. Na página de download do Liferay, existe um link ‘Additional Files’ 12 Monday, December 7, 2009
  • 19. Baixe o Liferay Plugins SDK Text 13 Monday, December 7, 2009
  • 20. Baixe o Liferay Plugins SDK Text 13 Monday, December 7, 2009
  • 21. Descompacte o Plugins SDK e veja a seguinte estrutura de diretórios. 14 Monday, December 7, 2009
  • 22. Crie o arquivo build.${usuario}.properties... onde ${usuario} é o nome do usuário logado na máquina 15 Monday, December 7, 2009
  • 23. Configure no Plugin SDK o caminho do servidor Tomcat sobre o qual seu Liferay está sendo executado. 16 Monday, December 7, 2009
  • 24. Portlets primeiros passos... Monday, December 7, 2009
  • 25. Acesse a pasta ‘portlets’ do Plugin SDK... /liferay/liferay-plugins-sdk-5.2.3/portlets $ ./create.sh hello-liferay "Hello Liferay" Buildfile: build.xml create: [unzip] Expanding: /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins-sdk-5.2.3/ portlets/portlet.zip into /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins- sdk-5.2.3/portlets/hello-liferay-portlet [mkdir] Created dir: /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins- sdk-5.2.3/portlets/hello-liferay-portlet/docroot/WEB-INF/tld [copy] Copying 6 files to /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins- sdk-5.2.3/portlets/hello-liferay-portlet/docroot/WEB-INF/tld BUILD SUCCESSFUL Total time: 6 seconds 18 Monday, December 7, 2009
  • 26. ...e utilize o script para criação de um novo portlet... /liferay/liferay-plugins-sdk-5.2.3/portlets $ ./create.sh hello-liferay "Hello Liferay" Buildfile: build.xml create: [unzip] Expanding: /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins-sdk-5.2.3/ portlets/portlet.zip into /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins- sdk-5.2.3/portlets/hello-liferay-portlet [mkdir] Created dir: /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins- sdk-5.2.3/portlets/hello-liferay-portlet/docroot/WEB-INF/tld [copy] Copying 6 files to /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins- sdk-5.2.3/portlets/hello-liferay-portlet/docroot/WEB-INF/tld BUILD SUCCESSFUL Total time: 6 seconds 18 Monday, December 7, 2009
  • 27. ...informando o nome do projeto... /liferay/liferay-plugins-sdk-5.2.3/portlets $ ./create.sh hello-liferay "Hello Liferay" Buildfile: build.xml create: [unzip] Expanding: /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins-sdk-5.2.3/ portlets/portlet.zip into /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins- sdk-5.2.3/portlets/hello-liferay-portlet [mkdir] Created dir: /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins- sdk-5.2.3/portlets/hello-liferay-portlet/docroot/WEB-INF/tld [copy] Copying 6 files to /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins- sdk-5.2.3/portlets/hello-liferay-portlet/docroot/WEB-INF/tld BUILD SUCCESSFUL Total time: 6 seconds 18 Monday, December 7, 2009
  • 28. ...e o nome do portlet. /liferay/liferay-plugins-sdk-5.2.3/portlets $ ./create.sh hello-liferay "Hello Liferay" Buildfile: build.xml create: [unzip] Expanding: /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins-sdk-5.2.3/ portlets/portlet.zip into /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins- sdk-5.2.3/portlets/hello-liferay-portlet [mkdir] Created dir: /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins- sdk-5.2.3/portlets/hello-liferay-portlet/docroot/WEB-INF/tld [copy] Copying 6 files to /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins- sdk-5.2.3/portlets/hello-liferay-portlet/docroot/WEB-INF/tld BUILD SUCCESSFUL Total time: 6 seconds 18 Monday, December 7, 2009
  • 29. Analise a estrutura de diretórios criada. 19 Monday, December 7, 2009
  • 30. /liferay/liferay-plugins-sdk-5.2.3/portlets/hello-liferay-portlet $ ant deploy Buildfile: build.xml compile: merge: Faça o deploy automático [javac] Compiling 1 source file to /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins- do portlet no Liferay sdk-5.2.3/portlets/hello-liferay-portlet/docroot/WEB-INF/classes configurado no arquivo merge: build.${usuario}.properties war: [mkdir] Created dir: /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins-sdk-5.2.3/dist clean-portal-dependencies: [zip] Building zip: /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins-sdk-5.2.3/dist/ hello-liferay-portlet-5.2.3.1.war deploy: [copy] Copying 1 file to /liferay/liferay-portal-5.2.3/deploy BUILD SUCCESSFUL Total time: 24 seconds 20 Monday, December 7, 2009
  • 31. 13:38:16,945 INFO [AutoDeployDir:183] Processing hello-liferay-portlet-5.2.3.1.war 13:38:19,275 INFO [PortletAutoDeployListener:77] Copying portlets for /Users/alegomes/sea/edu/ liferay/apps/liferay-portal-5.2.3/deploy/hello-liferay-portlet-5.2.3.1.war (...) 13:39:03,603 INFO [PortletAutoDeployListener:87] Portlets for /Users/alegomes/sea/edu/liferay/apps/ liferay-portal-5.2.3/deploy/hello-liferay-portlet-5.2.3.1.war copied successfully. Deployment will start in a few seconds. 13:40:40,919 INFO [PortletHotDeployListener:227] Registering portlets for hello-liferay-portlet 13:40:41,587 INFO [PortletHotDeployListener:346] 1 portlet for hello-liferay-portlet is available for use Acompanhe o resultado do deploy no log do servidor Liferay. 21 Monday, December 7, 2009
  • 32. Verifique a presença do portlet no diretório de deploy do Liferay Portlet deployado! 22 Monday, December 7, 2009
  • 33. Nosso portlet! Acesse a interface web do portal e verifique a presença do portlet na lista de portlets disponívéis no servidor. 23 Monday, December 7, 2009
  • 34. Nosso portlet! 24 Monday, December 7, 2009
  • 35. /liferay/liferay-plugins-sdk-5.2.3/portlets/hello-liferay-portlet $ ant setup-eclipse Buildfile: build.xml setup-eclipse: [java] Loading jar:file:/Volumes/Data/Documents/sea/edu/liferay/apps/liferay-portal-5.2.3/ tomcat-5.5.27/webapps/ROOT/WEB-INF/lib/portal-impl.jar!/system.properties [java] Loading jar:file:/Volumes/Data/Documents/sea/edu/liferay/apps/liferay-portal-5.2.3/ tomcat-5.5.27/webapps/ROOT/WEB-INF/lib/portal-impl.jar!/portal.properties [java] Loading jar:file:/Volumes/Data/Documents/sea/edu/liferay/apps/liferay-portal-5.2.3/ tomcat-5.5.27/webapps/ROOT/WEB-INF/lib/portal-impl.jar!/com/liferay/portal/tools/ dependencies/portal-tools.properties [java] Loading jar:file:/Volumes/Data/Documents/sea/edu/liferay/apps/liferay-portal-5.2.3/ tomcat-5.5.27/webapps/ROOT/WEB-INF/lib/portal-impl.jar!/captcha.properties [java] 14:07:11,904 INFO [PortalImpl:252] Portal lib directory /Volumes/Data/Documents/ sea/edu/liferay/apps/liferay-portal-5.2.3/tomcat-5.5.27/webapps/ROOT/WEB-INF/lib/ [java] Updating /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins-sdk-5.2.3/ portlets/hello-liferay-portlet/.project [java] Updating /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins-sdk-5.2.3/ portlets/hello-liferay-portlet/.classpath Crie um projeto BUILD SUCCESSFUL Eclipse a partir do Total time: 24 seconds código gerado pelo Plugins SDK 25 Monday, December 7, 2009
  • 36. Importe o projeto do portlet no Eclipse 26 Monday, December 7, 2009
  • 37. Todo portlet criado pelo SDK busca as libs do projeto ‘portal’ 27 Monday, December 7, 2009
  • 38. Baixar código fonte do Liferay 28 Monday, December 7, 2009
  • 40. Descompacte o código fonte do Liferay 29 Monday, December 7, 2009
  • 41. Confira a estrutura de diretórios criada. 30 Monday, December 7, 2009
  • 42. Crie um novo projeto no Eclipse para o código fonte do Liferay 31 Monday, December 7, 2009
  • 43. Ainda existem erros 32 Monday, December 7, 2009
  • 45. Remover libs problemáticas 34 Monday, December 7, 2009
  • 47. Adicionar diretório de classes 35 Monday, December 7, 2009
  • 48. Adicionar diretório de classes 35 Monday, December 7, 2009
  • 49. Diretório de classes adicionado às libs do projeto de portlet 36 Monday, December 7, 2009
  • 50. Acabaram os problemas. 37 Monday, December 7, 2009
  • 51. Código Java do portlet 38 Monday, December 7, 2009
  • 52. Código JSP do portlet 39 Monday, December 7, 2009
  • 53. Não se iluda achando que já sabe tudo http://www.flickr.com/photos/purplemattfish/3404482191/ 40 Monday, December 7, 2009
  • 54. Invista alguns tomates* para dominar a teoria dos portlets * The Pomodoro Technique http://www.flickr.com/photos/stephenpoff/158536767/in/set-72157594345940394/ 41 Monday, December 7, 2009
  • 55. e por falar em tomates... Suponha que portlets sejam tomates http://www.flickr.com/photos/darwinbell/387755335/ 42 Monday, December 7, 2009
  • 56. Tomates são guardados em caixas. http://www.flickr.com/photos/chrismar/3631784233/ 43 Monday, December 7, 2009
  • 57. Tomates têm um ciclo de vida muito bem definido. eles nascem... http://www.flickr.com/photos/urbanislands/3876172828/ 44 Monday, December 7, 2009
  • 59. ...reproduzem-se... http://www.flickr.com/photos/jp_math54/3819627661/ 46 Monday, December 7, 2009
  • 61. ...comidos... http://www.flickr.com/photos/gezellig-girl/3784584015/ 48 Monday, December 7, 2009
  • 63. Entenda a lógica da programação orientada a componentes do mundo Java http://www.flickr.com/photos/jp_math54/3819628579/ 50 Monday, December 7, 2009
  • 65. componente é uma peça independente de software http://www.flickr.com/photos/19684903@N00/346425180/ 51 Monday, December 7, 2009
  • 66. componente é uma peça independente de software todo componente tem um ciclo de vida bem definido http://www.flickr.com/photos/19684903@N00/346425180/ 51 Monday, December 7, 2009
  • 67. componente é uma peça independente de software todo componente tem um ciclo de vida bem definido o ciclo de vida de um componente é gerenciado por um container http://www.flickr.com/photos/19684903@N00/346425180/ 51 Monday, December 7, 2009
  • 68. componente é uma peça independente de software todo componente tem um ciclo de vida bem definido o ciclo de vida de um componente é gerenciado por um container a cada transição entre fases do ciclo de vida, um método do http://www.flickr.com/photos/19684903@N00/346425180/ componente é chamado 51 Monday, December 7, 2009
  • 71. componente são empacotados cada tipo de componente possui seu próprio tipo de pacote WAR, JAR, EAR, SAR, RAR... http://www.flickr.com/photos/19684903@N00/346425180/ 52 Monday, December 7, 2009
  • 72. componente são empacotados cada tipo de componente possui seu próprio tipo de pacote WAR, JAR, EAR, SAR, RAR... num pacote de componentes há classes + recursos + descritor http://www.flickr.com/photos/19684903@N00/346425180/ 52 Monday, December 7, 2009
  • 73. componente são empacotados cada tipo de componente possui seu próprio tipo de pacote WAR, JAR, EAR, SAR, RAR... num pacote de componentes há classes + recursos + descritor cada tipo de pacote possui seu próprio descritor web.xml, ejb-jar.xml, enterprise.xml, -service.xml http://www.flickr.com/photos/19684903@N00/346425180/ 52 Monday, December 7, 2009
  • 74. Para fazer uma Applet, uma Servlet ou um Midlet... 53 Monday, December 7, 2009
  • 75. ...precisamos estender classes da respectiva API. 54 Monday, December 7, 2009
  • 76. Geralmente, essas classes declaram métodos abstratos (ou não)... 55 Monday, December 7, 2009
  • 77. ...que precisam ser sobrescritos. 56 Monday, December 7, 2009
  • 78. Mas, pra quê serve essa sobrescrita? 57 Monday, December 7, 2009
  • 79. Para sabermos quando o componente mudou de estado 58 Monday, December 7, 2009
  • 80. O container, responsável pelo ciclo de vida dos componentes, notifica-os por meio de métodos de callback sempre que houver uma transição de estado. 59 Monday, December 7, 2009
  • 81. No fundo, é tudo a mesma coisa. 60 Monday, December 7, 2009
  • 82. Inclusive portlets 61 Monday, December 7, 2009
  • 83. Inclusive portlets Invocado pelo container quando alguma submissão de dados é feita ao componente. 61 Monday, December 7, 2009
  • 84. Inclusive portlets Invocado pelo container quando há a necessidade de reconstruir a visualização do componente 61 Monday, December 7, 2009
  • 86. Dessa forma, temos... 63 Monday, December 7, 2009
  • 87. portlet componente de software que gera fragmentos HTML em um portal http://www.flickr.com/photos/spisharam/2742433355/ 64 Monday, December 7, 2009
  • 88. portlet container ambiente gerenciador de portlets e seus ciclos de vida http://www.flickr.com/photos/fensterbme/241478156/ 65 Monday, December 7, 2009
  • 89. Portlets geram fragmentos de HTML portlets são agrupados em pacotes WAR pacotes WAR são deployados em Portlet Containers 66 Monday, December 7, 2009
  • 90. um pacote WAR de portlets contém... my-portlet.war Classes + Recursos + Descritor 67 Monday, December 7, 2009
  • 91. Descritores podem ser... Padrões web.xml portlet.xml my-portlet.war Proprietários liferay-portlet.xml liferay-display.xml 68 Monday, December 7, 2009
  • 92. O mais importante é se lembrar que portlets ≠ servlets 69 Monday, December 7, 2009
  • 93. Portlets têm modos definem a função do portlet no instante Monday, December 7, 2009
  • 94. View Edit Monday, December 7, 2009 ? Help 71
  • 95. Liferay Extension configuration mode 72 Monday, December 7, 2009
  • 96. Liferay Extension look and feel mode 73 Monday, December 7, 2009
  • 97. Portlets têm estados definem o tamanho da tela que estão ocupando Monday, December 7, 2009
  • 98. normal 75 Monday, December 7, 2009
  • 99. maximizado 76 Monday, December 7, 2009
  • 100. minimizado 77 Monday, December 7, 2009
  • 101. Portlet 2.0 Eventos AJAX Filtros IPC http://jcp.org/en/jsr/detail?id=286 78 Monday, December 7, 2009
  • 102. Interessado? o/ sea@seatecnologia.com.br 79 Monday, December 7, 2009