JBoss Portal 2.6.2

Reference Guide

Thomas Heute

Julien Viet

Roy Russo

Release 2.6.2

October 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 the application server
2.3.2.1. Application Server Setup
2.3.2.2. Operating System Environment Setting
2.3.3. Building/Deploying from Sources
2.3.4. Setting up the database
2.3.4.1. Database Setup
2.3.4.2. DataSource Configuration
2.3.5. Starting and running JBoss Portal
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. Setting up the email service
3.5. Setting up proxy settings
3.6. 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. Portlet Class
5.2.1.4. 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 content
5.2.2.3. Portlet Class
5.2.2.4. JSP files and the portlet taglib
5.2.2.5. Building and deploying your portlet
5.2.3. A simple Sun's JSF Reference Implementation (RI) portlet on JBoss AS 4.2.x
5.2.3.1. Introduction
5.2.3.2. Package Content
5.2.3.3. Building and deploying your portlet
5.2.4. A simple MyFaces JSF Portlet on JBoss AS 4.0.5+
5.2.4.1. Introduction
5.2.4.2. Package Content
5.2.4.3. Building and deploying your portlet
5.2.5. Adapting MyFaces JSF Portlet to work on JBoss AS 4.2.x
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. Portlet Modes
10.1. Admin Portlet Mode
10.1.1. Portlet configuration
10.1.2. Declarative instance security configuration
10.1.3. Instance security configuration with the administration portlet
11. Portal API
11.1. Introduction
11.2. Portal URL
11.3. Portal session
11.4. Portal runtime context
11.5. Portal nodes
11.6. Portal navigational state
11.7. Portal events
11.7.1. Portal node events
11.7.1.1. Portal node event propagation model
11.7.1.2. Portal node event listener
11.7.1.3. Portal node event context
11.7.2. Portal session events
11.7.3. Portal user events
11.8. Examples
11.8.1. UserAuthenticationEvent example
11.8.2. Achieving Inter Portlet Communication with the events mechanism
11.8.3. Link to other pages
12. Clustering Configuration
12.1. Introduction
12.2. Considerations
12.3. JBoss Portal Clustered Services
12.3.1. Portal Session Replication
12.3.2. Hibernate clustering
12.3.3. Identity clustering
12.3.4. CMS clustering
12.4. Setup
12.5. Portlet Session Replication
12.5.1. JBoss Portal configuration
12.5.2. Portlet configuration
12.5.3. Limitations
13. Web Services for Remote Portlets (WSRP)
13.1. Introduction
13.2. Level of support in JBoss Portal
13.3. Deploying JBoss Portal's WSRP services
13.3.1. Considerations to use WSRP behind firewall
13.3.2. Considerations to use WSRP when running Portal on a non-default port
13.3.3. Considerations to use WSRP with SSL
13.4. Making a portlet remotable
13.5. Consuming JBoss Portal's WSRP portlets from a remote Consumer
13.6. Consuming remote WSRP portlets in JBoss Portal
13.6.1. Overview
13.6.2. Configuring a remote producer walk-through
13.6.2.1. Using a WSRP Producer XML descriptor
13.6.2.2. Using the configuration portlet
13.6.2.3. Configuring access to a remote portlet
13.6.3. WSRP Producer descriptors
13.6.3.1. Required configuration information
13.6.3.2. Optional configuration
13.6.4. Examples
13.7. Configuring JBoss Portal's WSRP Producer
13.7.1. Overview
13.7.2. Default configuration
13.7.3. Minimal producer configuration
13.7.4. Registration configuration
13.7.4.1. Customization of Registration handling behavior
13.7.4.2. Registration properties
13.7.5. Example
14. Security
14.1. Securing Portal Objects
14.2. Securing the Content Management System
14.2.1. CMS Security Configuration
14.3. Authentication with JBoss Portal
14.3.1. Authentication configuration
14.3.2. The portal servlet
14.4. Authorization with JBoss Portal
14.4.1. The portal permission
14.4.2. The authorization provider
14.4.3. Making a programmatic security check
14.4.4. Configuring an authorization domain
15. JBoss Portal Identity Management
15.1. Identity management API
15.1.1. How to obtain identity modules services ?
15.1.2. API changes since 2.4
15.2. Identity configuration
15.2.1. Main configuration file architecture (identity-config.xml)
15.2.1.1. Datasources
15.2.1.2. Modules
15.2.1.3. Options
15.3. User profile configuration
15.4. Identity modules implementations
15.4.1. Database modules
15.4.2. Delegating UserProfile module
15.4.3. Database UserProfile module implementation
16. JBoss Portal Identity Portlets
16.1. Introduction
16.1.1. Features
16.2. Configuration
16.2.1. Captcha support
16.2.2. Lost password
16.2.3. Reset password
16.2.4. jBPM based user registration
16.2.5. The configuration file
16.2.6. Customize e-mail templates
16.3. User interface customization
16.3.1. Example 1: required fields
16.3.2. Example 2: dynamic values (dropdown menu with predefined values)
16.3.3. Example 3: adding new properties
16.3.4. Illustration
16.3.5. Customizing the View Profile page
16.4. Customizing the workflow
16.4.1. Duration of process validity
16.5. Disabling the Identity Portlets
16.5.1. Enabling the Identity Portlets
17. Authentication and Authorization
17.1. Authentication in JBoss Portal
17.1.1. Configuration
17.2. JAAS Login Modules
17.2.1. org.jboss.portal.identity.auth.IdentityLoginModule
17.2.2. org.jboss.portal.identity.auth.DBIdentityLoginModule
17.2.3. org.jboss.portal.identity.auth.SynchronizingLdapLoginModule
17.2.4. org.jboss.portal.identity.auth.SynchronizingLdapExtLoginModule
17.2.5. org.jboss.portal.identity.auth.SynchronizingLoginModule
18. LDAP
18.1. How to enable LDAP usage in JBoss Portal
18.2. Configuration of LDAP connection
18.2.1. SSL
18.2.2. ExternalContext
18.3. LDAP Identity Modules
18.3.1. Common settings
18.3.2. UserModule
18.3.2.1. LDAPUserModuleImpl
18.3.2.2. LDAPExtUserModuleImpl
18.3.3. RoleModule
18.3.3.1. LDAPRoleModuleImpl
18.3.3.2. LDAPExtRoleModuleImpl
18.3.4. MembershipModule
18.3.4.1. LDAPStaticGroupMembershipModuleImpl
18.3.4.2. LDAPStaticRoleMembershipModuleImpl
18.3.5. UserProfileModule
18.3.5.1. LDAPUserProfileModuleImpl
18.4. LDAP server tree shapes
18.4.1. Keeping users membership in role entries
18.4.1.1. Example LDIF
18.4.1.2. Example identity configuration
18.4.2. Keeping users membership in user entries
18.4.2.1. Example LDIF
18.4.2.2. Example identity configuration
18.5. Synchronizing LDAP configuration
18.6. Supported LDAP servers
19. Single Sign ON
19.1. Overview of SSO in portal
19.2. Using Tomcat Valve
19.2.1. Enabling Tomcat SSO Valve
19.2.2. Example of usage
19.3. CAS - Central Authentication Service
19.3.1. Integration steps
19.4. JOSSO - Java Open Single SignOn
19.4.1. Integration steps
20. CMS Portlet
20.1. Introduction
20.2. Features
20.3. CMS content
20.3.1. Configuring a window to display CMS content
20.4. CMS Configuration
20.4.1. Display CMS content
20.4.2. Service Configuration
20.4.2.1. Tuning Jackrabbit
20.4.2.2. Changing the url under which the content should be accessible
20.4.3. Configuring the Content Store Location
20.4.3.1. 100% Filesystem Storage
20.4.3.2. 100% Database Storage
20.4.3.3. Mixed Storage
20.5. Localization Support
20.6. CMS Service
20.6.1. CMS Interceptors
21. Portal Workflow
21.1. JBPM Workflow Engine Integration
21.2. CMS Publish/Approve Workflow Service
22. Navigation Tabs
22.1. Explicit ordering of tabs
22.2. Internationalizing tab labels
23. Layouts and Themes
23.1. Overview
23.2. Header
23.2.1. Overview
23.2.1.1. Writing his own JSPs
23.3. Layouts
23.3.1. How to define a Layout
23.3.2. How to use a Layout
23.3.2.1. Declarative use
23.3.2.2. Programatic use
23.3.3. Where to place the Descriptor files
23.3.4. Layout JSP-tags
23.4. RenderSets
23.4.1. What is a RenderSet
23.4.2. How is a RenderSet defined
23.4.3. How to specify what RenderSet to use
23.5. Themes
23.5.1. What is a Theme
23.5.2. How to define a Theme
23.5.3. How to use a Theme
23.5.4. How to write your own Theme
23.6. Other Theme Functionalities and Features
23.6.1. Content Rewriting and Header Content Injection
23.6.2. Declarative CSS Style injection
23.6.3. Disabling Portlet Decoration
23.7. Theme Style Guide (based on the Industrial theme)
23.7.1. Overview
23.7.2. Main Screen Shot
23.7.3. List of CSS Selectors
23.8. Additional Ajax selectors
24. Ajax
24.1. Introduction
24.2. Ajaxified markup
24.2.1. Ajaxified layouts
24.2.2. Ajaxified renderers
24.3. Ajaxified pages
24.3.1. Drag and Drop
24.3.2. Partial refresh
24.3.2.1. Portal objects configuration
24.3.2.2. Portlet configuration
24.3.2.3. Limitations
24.3.2.3.1. Application scoped session attributes
24.3.2.3.2. Non ajax interactions
25. Troubleshooting and FAQ
25.1. Troubleshooting and FAQ