JBoss Portal 2.6.0-GA

Reference Guide

Thomas Heute

Julien Viet

Chris Laprun

Release 2.6.0-GA "Ninja"

June 2007


Table of Contents

JBoss Portal - Overview
Feature List
Target Audience
Acknowledgements
1. System Requirements
1.1. Minimum System Requirements
1.2. Supported Operating Systems
1.3. JBoss Application Server
1.4. Database
1.5. Source building
2. Installation
2.1. Installing from Bundled Download
2.1.1. Installing the Bundle
2.2. Installing from Binary Download
2.2.1. Setting up your environment
2.2.1.1. Getting the Binary
2.2.1.2. Application Server Setup
2.2.1.3. Database Setup
2.2.1.4. DataSource Configuration
2.2.2. Deploying JBoss Portal
2.3. Installing from Sources
2.3.1. Getting the Sources
2.3.2. Setting up your environment
2.3.2.1. Application Server Setup
2.3.2.2. Operating System Environment Setting
2.3.2.3. Database Setup
2.3.2.4. DataSource Configuration
2.3.3. Building/Deploying from Sources
3. Customizing your installation
3.1. Changing the port
3.2. Changing the context path
3.3. Forcing the DB dialect
3.3.1. DB Dialect settings for the portal core
3.3.2. DB Dialect settings for the CMS component
3.4. Disabling dynamic proxy unwrapping
4. Upgrading 2.4 - 2.6
4.1. Manual upgrade
4.1.1. Theme
4.1.2. Database
4.1.2.1. Portlet names
4.1.2.2. CMS
5. Portlet Primer
5.1. JSR 168 Overview
5.1.1. Portal Pages
5.1.2. Rendering Modes
5.1.3. Window States
5.1.4. Section Status
5.2. Tutorials
5.2.1. Deploying your first portlet
5.2.1.1. Introduction
5.2.1.2. Package Structure
5.2.1.3. The Portlet Class
5.2.1.4. The Application Descriptors
5.2.1.5. Building your portlet
5.2.1.6. Deploying your portlet
5.2.2. A Simple JSP Portlet
5.2.2.1. Introduction
5.2.2.2. Package Structure
5.2.2.3. The Portlet Class
5.2.2.4. The Application Descriptors
5.2.2.5. JSP files and the portlet taglib
5.2.2.6. Building your portlet
5.2.2.7. Deploying your portlet
5.2.3. A Simple JSF Portlet
5.2.3.1. Introduction
5.2.3.2. Package Structure
5.2.3.3. The Application Descriptors
5.2.3.4. The JSP files
5.2.3.5. Building your portlet
5.2.3.6. Deploying your portlet
6. XML Descriptors
6.1. Changes since previous releases
6.1.1. JBoss Portlet DTD
6.1.2. Portlet Instance DTD
6.1.3. Portal Object DTD
6.1.4. JBoss App DTD
6.2. Portlet Descriptors
6.2.1. *-object.xml
6.2.2. portlet-instances.xml
6.2.3. jboss-portlet.xml
6.2.3.1. Injecting Header Content
6.2.3.2. Injecting Services in the portlet context
6.2.3.3. Portlet Session Replication in a Clustered Environment
6.2.4. portlet.xml
6.3. JBoss Portal Descriptors
6.3.1. Datasource Descriptor (portal-*-ds.xml)
6.3.1.1. Obtaining Datasource Descriptors Binary releases
6.3.1.2. Building Datasource Descriptors from Source
6.3.2. Portlet Debugging (jboss-portal.sar/conf/config.xml)
6.3.3. Login to dashboard
6.4. Descriptor Examples
6.4.1. Defining a new portal page
6.4.2. Defining a new portal instance
7. Portal urls
7.1. Introduction
7.2. Accessing a portal
7.3. Accessing a page
7.4. Accessing CMS Content
8. Error handling configuration
8.1. Error types
8.2. Control policies
8.2.1. Policy delegation and cascading
8.2.2. Default policy
8.2.3. Portal policy
8.2.4. Page policy
8.3. Configuration using the XML descriptors
8.3.1. Portal policy properties
8.3.2. Page policy properties
8.4. Handling errors with JSP
8.5. Configuration using the Portal Management Application
9. Content Integration
9.1. Window content
9.2. Content customization
9.3. Content Driven Portlet
9.3.1. Displaying content
9.3.2. Configuring content
9.3.3. Step by step example of a content driven portlet
9.3.3.1. The Portlet skeleton
9.3.3.2. Overriding the dispatch method
9.3.3.3. Utilities methods
9.3.3.4. The editor
9.3.3.5. Viewing content at runtime
9.3.3.6. Hooking the portlet into the portal
9.4. Configuring window content in deployment descriptor
10. Portal API
10.1. Introduction
10.2. Portal URL
10.3. Portal session
10.4. Portal runtime context
10.5. Portal nodes
10.6. Portal navigational state
10.7. Portal events
10.7.1. Portal node events
10.7.1.1. Portal node event propagation model
10.7.1.2. Portal node event listener
10.7.1.3. Portal node event context
10.7.2. Portal session events
10.7.3. Portal user events
10.8. Examples
10.8.1. UserAuthenticationEvent example
10.8.2. Achieving Inter Portlet Communication with the events mechanism
10.8.3. Link to other pages
11. Clustering Configuration
11.1. Introduction
11.2. Considerations
11.3. JBoss Portal Clustered Services
11.3.1. Portal Session Replication
11.3.2. Hibernate clustering
11.3.3. Identity clustering
11.3.4. CMS clustering
11.4. Setup
11.5. Portlet Session Replication
11.5.1. JBoss Portal configuration
11.5.2. Portlet configuration
11.5.3. Limitations
12. Web Services for Remote Portlets (WSRP)
12.1. Introduction
12.2. Level of support in JBoss Portal
12.3. Deploying JBoss Portal's WSRP services
12.3.1. Considerations to use WSRP behind firewall
12.3.2. Considerations to use WSRP when running Portal on a non-default port
12.3.3. Considerations to use WSRP with SSL
12.4. Making a portlet remotable
12.5. Consuming JBoss Portal's WSRP portlets from a remote Consumer
12.6. Consuming remote WSRP portlets in JBoss Portal
12.6.1. Overview
12.6.2. Configuring a remote producer walk-through
12.6.2.1. Using a WSRP Producer XML descriptor
12.6.2.2. Using the configuration portlet
12.6.2.3. Configuring access to a remote portlet
12.6.3. WSRP Producer descriptors
12.6.3.1. Required configuration information
12.6.3.2. Optional configuration
12.6.4. Examples
12.7. Configuring JBoss Portal's WSRP Producer
12.7.1. Overview
12.7.2. Default configuration
12.7.3. Minimal producer configuration
12.7.4. Registration configuration
12.7.4.1. Customization of Registration handling behavior
12.7.4.2. Registration properties
12.7.5. Example
13. Security
13.1. Securing Portal Objects
13.2. Securing the Content Management System
13.2.1. CMS Security Configuration
13.3. Authentication with JBoss Portal
13.3.1. Authentication configuration
13.3.2. The portal servlet
13.4. Authorization with JBoss Portal
13.4.1. The portal permission
13.4.2. The authorization provider
13.4.3. Making a programmatic security check
13.4.4. Configuring an authorization domain
14. JBoss Portal Identity Management
14.1. Identity management API
14.1.1. How to obtain identity modules services ?
14.1.2. API changes since 2.4
14.2. Identity configuration
14.2.1. Main configuration file architecture (identity-config.xml)
14.2.1.1. Datasources
14.2.1.2. Modules
14.2.1.3. Options
14.3. User profile configuration
14.4. Identity modules implementations
14.4.1. Database modules
14.4.2. Delegating UserProfile module
14.4.3. Database UserProfile module implementation
15. Authentication and Authorization
15.1. Authentication in JBoss Portal
15.1.1. Configuration
15.2. JAAS Login Modules
15.2.1. org.jboss.portal.identity.auth.IdentityLoginModule
15.2.2. org.jboss.portal.identity.auth.DBIdentityLoginModule
15.2.3. org.jboss.portal.identity.auth.SynchronizingLdapLoginModule
15.2.4. org.jboss.portal.identity.auth.SynchronizingLdapExtLoginModule
15.2.5. org.jboss.portal.identity.auth.SynchronizingLoginModule
16. LDAP
16.1. How to enable LDAP usage in JBoss Portal
16.2. Configuration of LDAP connection
16.2.1. SSL
16.2.2. ExternalContext
16.3. LDAP Identity Modules
16.3.1. Common settings
16.3.2. UserModule
16.3.2.1. LDAPUserModuleImpl
16.3.2.2. LDAPExtUserModuleImpl
16.3.3. RoleModule
16.3.3.1. LDAPRoleModuleImpl
16.3.3.2. LDAPExtRoleModuleImpl
16.3.4. MembershipModule
16.3.4.1. LDAPStaticGroupMembershipModuleImpl
16.3.4.2. LDAPStaticRoleMembershipModuleImpl
16.3.5. UserProfileModule
16.3.5.1. LDAPUserProfileModuleImpl
16.4. LDAP server tree shapes
16.4.1. Keeping users membership in role entries
16.4.1.1. Example LDIF
16.4.1.2. Example identity configuration
16.4.2. Keeping users membership in user entries
16.4.2.1. Example LDIF
16.4.2.2. Example identity configuration
16.5. Synchronizing LDAP configuration
16.6. Supported LDAP servers
17. Single Sign ON
17.1. Overview of SSO in portal
17.2. Using Tomcat Valve
17.2.1. Enabling Tomcat SSO Valve
17.2.2. Example of usage
18. CMS Portlet
18.1. Introduction
18.2. Features
18.3. CMS content
18.3.1. Configuring a window to display CMS content
18.4. CMS Configuration
18.4.1. Display CMS content
18.4.2. Service Configuration
18.4.2.1. Tuning Jackrabbit
18.4.2.2. Changing the url under which the content should be accessible
18.4.3. Configuring the Content Store Location
18.4.3.1. 100% Filesystem Storage
18.4.3.2. 100% Database Storage
18.4.3.3. Mixed Storage
18.5. Localization Support
18.6. CMS Service
18.6.1. CMS Interceptors
19. Portal Workflow
19.1. JBPM Workflow Engine Integration
19.2. CMS Publish/Approve Workflow Service
20. Navigation Tabs
20.1. Explicit ordering of tabs
20.2. Internationalizing tab labels
21. Layouts and Themes
21.1. Overview
21.2. Header
21.2.1. Overview
21.2.1.1. Writing his own JSPs
21.3. Layouts
21.3.1. How to define a Layout
21.3.2. How to use a Layout
21.3.2.1. Declarative use
21.3.2.2. Programatic use
21.3.3. Where to place the Descriptor files
21.3.4. Layout JSP-tags
21.4. RenderSets
21.4.1. What is a RenderSet
21.4.2. How is a RenderSet defined
21.4.3. How to specify what RenderSet to use
21.5. Themes
21.5.1. What is a Theme
21.5.2. How to define a Theme
21.5.3. How to use a Theme
21.5.4. How to write your own Theme
21.6. Other Theme Functionalities and Features
21.6.1. Content Rewriting and Header Content Injection
21.6.2. Declarative CSS Style injection
21.6.3. Disabling Portlet Decoration
21.7. Theme Style Guide (based on the Industrial theme)
21.7.1. Overview
21.7.2. Main Screen Shot
21.7.3. List of CSS Selectors
21.8. Additional Ajax selectors
22. Ajax
22.1. Introduction
22.2. Ajaxified markup
22.2.1. Ajaxified layouts
22.2.2. Ajaxified renderers
22.3. Ajaxified pages
22.3.1. Drag and Drop
22.3.2. Partial refresh
22.3.2.1. Portal objects configuration
22.3.2.2. Portlet configuration
22.3.2.3. Limitations
22.3.2.3.1. Application scoped session attributes
22.3.2.3.2. Non ajax interactions
23. Troubleshooting and FAQ
23.1. Troubleshooting and FAQ