SlideShare une entreprise Scribd logo
1  sur  34
Télécharger pour lire hors ligne
If You Know JSF,You Know
    Portals and Portlets
           By: Wesley Hales

           June 1st, 2010
@wesleyhales         vimeo.com/wesleyhales

• JBoss Portlet Bridge Project Lead
• RedHat’s representative on JSR-301 & 329
• RichFaces contributor & GateIn core dev
• Side projects include: wesleyhales.com,
  Firefox Anthem
Take Aways

• Understand what a portlet is and does
• Learn how a JSF application maps to the
  portlet API
• Best practices for working with multiple JSF
  apps within a portal environment
Portlets of Yesterday

• “... looking for a strong Portal Developer
  with experience”.
• JSP’s with awkward portlet API mapping
• Yet another lifecycle to learn
Portlets Just Got Easier
• JSF developers are portlet developers (and
  most don’t even know it)
• With a JSF portlet bridge, you’re not
  required to learn the underlying portlet
  development concepts or APIs.
• But there are a few things that are nice to
  know ;)
Quick Portlet
               Overview
Portlets are...

     • Spec driven (168 & 286)
     • Rendered markup fragments on a page.
     • Different window modes like
       edit, help, and view
Portlet UI
Portals & Portlets

• Portals integrate
  services across
  organizational boundries.
  i.e. - SSO, collaboration and social, etc...
• Portlet windows deliver the data to the
  user and can come from various sources -
  wars/ears/wsrp.
If you really want to
          know...
• Servlets vs. Portlets
 • Wrapping your head around 2 (or more)
    requests.
 • Portlets generate a page with multiple
    portlet windows that can be rendered
    multiple times.
 • All links are generated by the portlet api
What is a Bridge, and why do we
           need one?

•   There are many different bridges to handle
    different web applications.
    •   Wicket
    •   Seam
    •   Spring MVC
    •   JSF
    •   Struts
    •   PHP
Cool Usecases?
• Most larger companies have a need for a
  portal
• Multiple teams working in parallel
• Blended content with legacy apps
• Communication between 2+ wars on same
  page
• leverage existing investments
• Allows JSF 1.2, JSF 2, RichFaces, and Seam
  to run as portlets
• Extensions and components
• Backed by a healthy community,
  documentation, screencasts, and archetypes
Portlet Container

  JSF Portlet                                                                            How the Portlet Bridge
                                                                                         manages the Faces single
                                                                                            request lifecycle
                        Resource Request
        Event Request




                                           Render Request


                                                            Action Request
                                                                                 *See section 5.1 of the Bridge 2.0 spec for full details


                                                                                              Faces Engine

                                                                                                              Apply
                                                                             Bridge Request     Restore                     Process
                                                                                                             Request
                                                                             Processing          View                      Validation
                                                                                                              Values


                                                                                                                            Update
                                                                                                               Invoke
                                                                                                 Render                     Model
                                                                                                             Application
                                                                                                                            Values
Servlet Processing

• Ability to (simultaneously) process
  incoming faces requests via servlet
  container
• Good for debugging
JSF 1.2 Portlets
• Add a portlet.xml and the portlet bridge
  jars to your current JSF application.
• Use the archetype for reference
Working with the portlet API
           through JSF
Environment Based Resolution:

    • FacesContext.ExternalContext (i.e - dispatch(),
       encodeActionURL(), getResponse() ...)
    • EL Variables - (i.e - portletConfig,
       renderResponse, portletPreferences, ... )
Portlets
Supports all Richfaces components (i.e. - upload,
push, etc...)



Automatic script wrapping (via web.xml)
Portlets
*Detailed example of Portlet Application Scope: http://vimeo.com/11484018

Simple SSO config between portal and seam app
(via components.xml)


Portlet Application Scope
JSF 2.0 Portlets
• JSF 2 is currently available as “Tech Preview”
• Add a portlet.xml and the portlet bridge jars
  to your current JSF 2 application.
• Use the archetype for reference
Sending Events
              Portlet Container

                 Seam Portlet             JSF Portlet


                                  Event




• Bridge provides its own BridgeEventHandler
• Standard Event configuration in portlet.xml
• Can receive or send events from any portlet
   *Detailed example of Sending Events: http://vimeo.com/11484018
Demo
Public Render Parameters
  • Simple way of providing a parameter which
       can be consumed by any portlet
  • BridgePublicRenderParameterHandler
  • Map parameters to any BackingBean member
       (via faces-config.xml)


 *Full example of working with Render Params here: http://vimeo.com/11484018
Changing Portlet Modes Using
      Faces Navigation
Rendering Multiple JSF Apps on
        One Page ?!?
• The bridge takes care of JSF + Portlet
  namespacing
• Shared custom js will require it’s own NS
• Getting the bridge NS:
Other Need to Knows
• Clearing the view history between modes
• Ajax Error Handling
• Redirecting to an External Page or
  Resource


             bit.ly/9fjktn
Getting Started
• Maven Archetypes - bit.ly/9CMKZG
• Eclipse / JBoss Tools support
Getting Involved

• User Forums
• Articles & How Tos
• Jira - Add your enhancement or try to
  handle some created issues
Useful Links

• http://jboss.org/portletbridge
• http://vimeo.com/wesleyhales/videos
• http://jboss.org/gatein

Contenu connexe

Tendances

Java EE 6 Component Model Explained
Java EE 6 Component Model Explained Java EE 6 Component Model Explained
Java EE 6 Component Model Explained
Shreedhar Ganapathy
 
Java EE6 CodeCamp16 oct 2010
Java EE6 CodeCamp16 oct 2010Java EE6 CodeCamp16 oct 2010
Java EE6 CodeCamp16 oct 2010
Codecamp Romania
 
Great Java Application Server Debate
Great Java Application Server DebateGreat Java Application Server Debate
Great Java Application Server Debate
Hamed Hatami
 

Tendances (20)

Overview of Java EE 6 by Roberto Chinnici at SFJUG
Overview of Java EE 6 by Roberto Chinnici at SFJUGOverview of Java EE 6 by Roberto Chinnici at SFJUG
Overview of Java EE 6 by Roberto Chinnici at SFJUG
 
Java EE 6 Component Model Explained
Java EE 6 Component Model Explained Java EE 6 Component Model Explained
Java EE 6 Component Model Explained
 
GlassFish Tool Bundle for Eclipse
GlassFish Tool Bundle for EclipseGlassFish Tool Bundle for Eclipse
GlassFish Tool Bundle for Eclipse
 
OSGi-enabled Java EE Applications using GlassFish at JCertif 2011
OSGi-enabled Java EE Applications using GlassFish at JCertif 2011OSGi-enabled Java EE Applications using GlassFish at JCertif 2011
OSGi-enabled Java EE Applications using GlassFish at JCertif 2011
 
What's next for Java API for WebSocket (JSR 356)
What's next for Java API for WebSocket (JSR 356)What's next for Java API for WebSocket (JSR 356)
What's next for Java API for WebSocket (JSR 356)
 
JBoss AS 7 from a user perspective
JBoss AS 7 from a user perspectiveJBoss AS 7 from a user perspective
JBoss AS 7 from a user perspective
 
Java 7 workshop
Java 7 workshopJava 7 workshop
Java 7 workshop
 
Arun Gupta: London Java Community: Java EE 6 and GlassFish 3
Arun Gupta: London Java Community: Java EE 6 and GlassFish 3 Arun Gupta: London Java Community: Java EE 6 and GlassFish 3
Arun Gupta: London Java Community: Java EE 6 and GlassFish 3
 
Java EE6 CodeCamp16 oct 2010
Java EE6 CodeCamp16 oct 2010Java EE6 CodeCamp16 oct 2010
Java EE6 CodeCamp16 oct 2010
 
Modular EJBs in OSGi - Tim Ward
Modular EJBs in OSGi - Tim WardModular EJBs in OSGi - Tim Ward
Modular EJBs in OSGi - Tim Ward
 
Java ee introduction
Java ee introductionJava ee introduction
Java ee introduction
 
HowTo Build an OSGI EJB3 Server
HowTo Build an OSGI EJB3 ServerHowTo Build an OSGI EJB3 Server
HowTo Build an OSGI EJB3 Server
 
Java Web Programming [1/9] : Introduction to Web Application
Java Web Programming [1/9] : Introduction to Web ApplicationJava Web Programming [1/9] : Introduction to Web Application
Java Web Programming [1/9] : Introduction to Web Application
 
Java EE 6 workshop at Dallas Tech Fest 2011
Java EE 6 workshop at Dallas Tech Fest 2011Java EE 6 workshop at Dallas Tech Fest 2011
Java EE 6 workshop at Dallas Tech Fest 2011
 
Jspx Jdc2010
Jspx Jdc2010Jspx Jdc2010
Jspx Jdc2010
 
Introduction To J Boss Seam
Introduction To J Boss SeamIntroduction To J Boss Seam
Introduction To J Boss Seam
 
Webapplication ppt prepared by krishna ballabh gupta
Webapplication ppt prepared by krishna ballabh guptaWebapplication ppt prepared by krishna ballabh gupta
Webapplication ppt prepared by krishna ballabh gupta
 
Getting Started with Java EE 7
Getting Started with Java EE 7Getting Started with Java EE 7
Getting Started with Java EE 7
 
Getting Started with Rails on GlassFish (Hands-on Lab) - Spark IT 2010
Getting Started with Rails on GlassFish (Hands-on Lab) - Spark IT 2010Getting Started with Rails on GlassFish (Hands-on Lab) - Spark IT 2010
Getting Started with Rails on GlassFish (Hands-on Lab) - Spark IT 2010
 
Great Java Application Server Debate
Great Java Application Server DebateGreat Java Application Server Debate
Great Java Application Server Debate
 

Similaire à If You Know JSF, You Know Portals and Portlets

Visual Studio 2010 IDE Enhancements - Alex Mackey, Readify
Visual Studio 2010 IDE Enhancements - Alex Mackey, ReadifyVisual Studio 2010 IDE Enhancements - Alex Mackey, Readify
Visual Studio 2010 IDE Enhancements - Alex Mackey, Readify
READIFY
 
[Pilarczyk] Adrenaline programing implementing - SOA and BPM in your application
[Pilarczyk] Adrenaline programing implementing - SOA and BPM in your application[Pilarczyk] Adrenaline programing implementing - SOA and BPM in your application
[Pilarczyk] Adrenaline programing implementing - SOA and BPM in your application
javablend
 
D22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source FrameworksD22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source Frameworks
Sunil Patil
 
D22 portlet development with open source frameworks
D22 portlet development with open source frameworksD22 portlet development with open source frameworks
D22 portlet development with open source frameworks
Sunil Patil
 
Targeting Mobile Platform with MVC 4.0
Targeting Mobile Platform with MVC 4.0Targeting Mobile Platform with MVC 4.0
Targeting Mobile Platform with MVC 4.0
Mayank Srivastava
 
Java EE 與 雲端運算的展望
Java EE 與 雲端運算的展望 Java EE 與 雲端運算的展望
Java EE 與 雲端運算的展望
javatwo2011
 

Similaire à If You Know JSF, You Know Portals and Portlets (20)

vert.x - asynchronous event-driven web applications on the JVM
vert.x - asynchronous event-driven web applications on the JVMvert.x - asynchronous event-driven web applications on the JVM
vert.x - asynchronous event-driven web applications on the JVM
 
Securing JSF Applications Against the OWASP Top Ten
Securing JSF Applications Against the OWASP Top TenSecuring JSF Applications Against the OWASP Top Ten
Securing JSF Applications Against the OWASP Top Ten
 
Visual Studio 2010 IDE Enhancements - Alex Mackey, Readify
Visual Studio 2010 IDE Enhancements - Alex Mackey, ReadifyVisual Studio 2010 IDE Enhancements - Alex Mackey, Readify
Visual Studio 2010 IDE Enhancements - Alex Mackey, Readify
 
Sprint Portlet MVC Seminar
Sprint Portlet MVC SeminarSprint Portlet MVC Seminar
Sprint Portlet MVC Seminar
 
Virtual classroom
Virtual classroomVirtual classroom
Virtual classroom
 
[Pilarczyk] Adrenaline programing implementing - SOA and BPM in your application
[Pilarczyk] Adrenaline programing implementing - SOA and BPM in your application[Pilarczyk] Adrenaline programing implementing - SOA and BPM in your application
[Pilarczyk] Adrenaline programing implementing - SOA and BPM in your application
 
Jsf Framework
Jsf FrameworkJsf Framework
Jsf Framework
 
Implementing portlets using Web Scripts
Implementing portlets using Web ScriptsImplementing portlets using Web Scripts
Implementing portlets using Web Scripts
 
D22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source FrameworksD22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source Frameworks
 
D22 portlet development with open source frameworks
D22 portlet development with open source frameworksD22 portlet development with open source frameworks
D22 portlet development with open source frameworks
 
Introduction To JBoss Seam 2.1
Introduction To JBoss Seam 2.1Introduction To JBoss Seam 2.1
Introduction To JBoss Seam 2.1
 
Java Enterprise Edition 6 Overview
Java Enterprise Edition 6 OverviewJava Enterprise Edition 6 Overview
Java Enterprise Edition 6 Overview
 
Webcenter Portlal training...
Webcenter Portlal training...Webcenter Portlal training...
Webcenter Portlal training...
 
Java EE 6 & GlassFish v3 at Vancouver JUG, Jan 26, 2010
Java EE 6 & GlassFish v3 at Vancouver JUG, Jan 26, 2010Java EE 6 & GlassFish v3 at Vancouver JUG, Jan 26, 2010
Java EE 6 & GlassFish v3 at Vancouver JUG, Jan 26, 2010
 
Introducing spring
Introducing springIntroducing spring
Introducing spring
 
Targeting Mobile Platform with MVC 4.0
Targeting Mobile Platform with MVC 4.0Targeting Mobile Platform with MVC 4.0
Targeting Mobile Platform with MVC 4.0
 
Spring Portlet MVC
Spring Portlet MVCSpring Portlet MVC
Spring Portlet MVC
 
Development of web apps based on JSF (TU Vienna)
Development of web apps based on JSF (TU Vienna)Development of web apps based on JSF (TU Vienna)
Development of web apps based on JSF (TU Vienna)
 
Java EE 與 雲端運算的展望
Java EE 與 雲端運算的展望 Java EE 與 雲端運算的展望
Java EE 與 雲端運算的展望
 
Plugin-able POS Solutions by Javascript @HDM9 Taiwan
Plugin-able POS Solutions by Javascript @HDM9 TaiwanPlugin-able POS Solutions by Javascript @HDM9 Taiwan
Plugin-able POS Solutions by Javascript @HDM9 Taiwan
 

Dernier

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Dernier (20)

CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 

If You Know JSF, You Know Portals and Portlets

  • 1. If You Know JSF,You Know Portals and Portlets By: Wesley Hales June 1st, 2010
  • 2. @wesleyhales vimeo.com/wesleyhales • JBoss Portlet Bridge Project Lead • RedHat’s representative on JSR-301 & 329 • RichFaces contributor & GateIn core dev • Side projects include: wesleyhales.com, Firefox Anthem
  • 3. Take Aways • Understand what a portlet is and does • Learn how a JSF application maps to the portlet API • Best practices for working with multiple JSF apps within a portal environment
  • 4. Portlets of Yesterday • “... looking for a strong Portal Developer with experience”. • JSP’s with awkward portlet API mapping • Yet another lifecycle to learn
  • 5.
  • 6. Portlets Just Got Easier • JSF developers are portlet developers (and most don’t even know it) • With a JSF portlet bridge, you’re not required to learn the underlying portlet development concepts or APIs. • But there are a few things that are nice to know ;)
  • 7. Quick Portlet Overview Portlets are... • Spec driven (168 & 286) • Rendered markup fragments on a page. • Different window modes like edit, help, and view
  • 9.
  • 10. Portals & Portlets • Portals integrate services across organizational boundries. i.e. - SSO, collaboration and social, etc... • Portlet windows deliver the data to the user and can come from various sources - wars/ears/wsrp.
  • 11. If you really want to know... • Servlets vs. Portlets • Wrapping your head around 2 (or more) requests. • Portlets generate a page with multiple portlet windows that can be rendered multiple times. • All links are generated by the portlet api
  • 12. What is a Bridge, and why do we need one? • There are many different bridges to handle different web applications. • Wicket • Seam • Spring MVC • JSF • Struts • PHP
  • 13. Cool Usecases? • Most larger companies have a need for a portal • Multiple teams working in parallel • Blended content with legacy apps • Communication between 2+ wars on same page • leverage existing investments
  • 14. • Allows JSF 1.2, JSF 2, RichFaces, and Seam to run as portlets • Extensions and components • Backed by a healthy community, documentation, screencasts, and archetypes
  • 15. Portlet Container JSF Portlet How the Portlet Bridge manages the Faces single request lifecycle Resource Request Event Request Render Request Action Request *See section 5.1 of the Bridge 2.0 spec for full details Faces Engine Apply Bridge Request Restore Process Request Processing View Validation Values Update Invoke Render Model Application Values
  • 16. Servlet Processing • Ability to (simultaneously) process incoming faces requests via servlet container • Good for debugging
  • 17. JSF 1.2 Portlets • Add a portlet.xml and the portlet bridge jars to your current JSF application. • Use the archetype for reference
  • 18. Working with the portlet API through JSF Environment Based Resolution: • FacesContext.ExternalContext (i.e - dispatch(), encodeActionURL(), getResponse() ...) • EL Variables - (i.e - portletConfig, renderResponse, portletPreferences, ... )
  • 19.
  • 20.
  • 21. Portlets Supports all Richfaces components (i.e. - upload, push, etc...) Automatic script wrapping (via web.xml)
  • 22. Portlets *Detailed example of Portlet Application Scope: http://vimeo.com/11484018 Simple SSO config between portal and seam app (via components.xml) Portlet Application Scope
  • 23. JSF 2.0 Portlets • JSF 2 is currently available as “Tech Preview” • Add a portlet.xml and the portlet bridge jars to your current JSF 2 application. • Use the archetype for reference
  • 24. Sending Events Portlet Container Seam Portlet JSF Portlet Event • Bridge provides its own BridgeEventHandler • Standard Event configuration in portlet.xml • Can receive or send events from any portlet *Detailed example of Sending Events: http://vimeo.com/11484018
  • 25.
  • 26. Demo
  • 27. Public Render Parameters • Simple way of providing a parameter which can be consumed by any portlet • BridgePublicRenderParameterHandler • Map parameters to any BackingBean member (via faces-config.xml) *Full example of working with Render Params here: http://vimeo.com/11484018
  • 28.
  • 29. Changing Portlet Modes Using Faces Navigation
  • 30. Rendering Multiple JSF Apps on One Page ?!? • The bridge takes care of JSF + Portlet namespacing • Shared custom js will require it’s own NS • Getting the bridge NS:
  • 31. Other Need to Knows • Clearing the view history between modes • Ajax Error Handling • Redirecting to an External Page or Resource bit.ly/9fjktn
  • 32. Getting Started • Maven Archetypes - bit.ly/9CMKZG • Eclipse / JBoss Tools support
  • 33. Getting Involved • User Forums • Articles & How Tos • Jira - Add your enhancement or try to handle some created issues
  • 34. Useful Links • http://jboss.org/portletbridge • http://vimeo.com/wesleyhales/videos • http://jboss.org/gatein