JBoss Portal 2.6.6
Next
JBoss
® Portal 2.6.6
Reference Guide
Thomas
Heute
<
theute@jboss.org
>
Julien
Viet
<
julien@jboss.org
>
Roy
Russo
<
roy@jboss.org
>
Boleslaw
Dawidowicz
<
boleslaw dot dawidowicz at redhat dot com
>
Chris
Laprun
<
chris.laprun@jboss.com
>
Release 2.6.6
July 2008
Table of Contents
Please Read: Important Trademark Information
JBoss Portal - Overview
Feature List
Target Audience
Acknowledgments
1. System Requirements
1.1. Minimum System Requirements
1.2. Supported Operating Systems
1.3. JBoss Application Server
1.4. Databases
1.5. Source Building
2. Installation
2.1. The JBoss Portal and JBoss AS Bundle
2.2. Installing the Binary Download
2.2.1. Setting up your Environment
2.2.1.1. Getting the Binary
2.2.1.2. JBoss EAP and JBoss AS Setup
2.2.1.3. Operating System Environment Settings
2.2.1.4. Database Setup
2.2.1.5. Datasource Descriptors
2.2.2. Deploying JBoss Portal
2.3. Installing from the Sources
2.3.1. Getting the Sources
2.3.2. JBoss EAP and JBoss AS Setup
2.3.2.1. JBoss Application Server Setup
2.3.2.2. Operating System Environment Settings
2.3.3. Building and Deploying from the Sources
2.3.4. Database Setup
2.3.5. Datasource Configuration
2.4. Deploying JBoss Portal
3. Customizing your Installation
3.1. Changing the Port
3.2. Changing the Context Path
3.3. Forcing the Database Dialect
3.3.1. Database Dialect Settings for JBoss Portal
3.3.2. DB Dialect Settings for the CMS Component
3.4. Configuring the Email Service
3.5. Configuring proxy settings
3.6. Disabling Dynamic Proxy Un-wrapping
4. Upgrading JBoss Portal 2.4 to 2.6
4.1. Manual Upgrade
4.1.1. Themes
4.1.2. Updating the Database
4.1.3. Portlet Names
4.1.4. 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 Classes
5.2.1.4. Application Descriptors
5.2.1.5. Building your Portlet
5.2.1.6. Deploying your Portlet
5.2.2. An example JavaServer Pages (JSP) portlet
5.2.2.1. Introduction
5.2.2.2. Package Structure
5.2.2.3. Portlet Classes
5.2.2.4. JSP files and the Portlet Tag Library
5.2.2.5. Building your JSP portlet
5.2.2.6. Deploying your JSP portlet
5.2.3. An example Sun JSF Reference Implementation (RI) portlet
5.2.3.1. Introduction
5.2.3.2. Package Structure
5.2.3.3. Application Descriptors
5.2.3.4. Building your JSF portlet
5.2.3.5. Deploying your JSF portlet
5.2.4. An example Apache MyFaces JSF portlet
5.2.4.1. Introduction
5.2.4.2. Package Structure
5.2.4.3. Application Descriptors
5.2.4.4. Building your Apache MyFaces JSF portlet
5.2.4.5. Deploying your Apache MyFaces JSF portlet
6. XML Descriptors
6.1. Changes from previous Releases
6.1.1. The JBoss Portlet DTD
6.1.2. The JBoss Portlet Instance DTD
6.1.3. The JBoss Portal Object DTD
6.1.4. The JBoss Portal App DTD
6.2. Portlet Descriptors
6.2.1. *-object.xml Descriptors
6.2.2. The portlet-instances.xml Descriptor
6.2.3. The jboss-portlet.xml Descriptor
6.2.3.1. Injecting Header Content
6.2.3.2. Injecting Services in the portlet Context
6.2.3.3. Defining extra portlet Information
6.2.3.4. Portlet Session Replication in a Clustered Environment
6.2.4. The portlet.xml Descriptor
6.3. JBoss Portal Descriptors
6.3.1. Datasource Descriptors (portal-*-ds.xml)
6.3.1.1. Datasource Descriptors included in 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. Log in 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 to Portals
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 XML Descriptors
8.3.1. Portal Policy Properties
8.3.2. Page Policy Properties
8.4. Using JSP to Handle Errors
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. Widget Integration
10.1. Introduction
10.2. Widget portlet configuration
11. Portlet Modes
11.1. Admin Portlet Mode
11.1.1. Portlet configuration
11.1.2. Declarative instance security configuration
11.1.3. Instance security configuration with the administration portlet
12. Portal API
12.1. Introduction
12.2. Portal URL
12.3. Portal session
12.4. Portal runtime context
12.5. Portal nodes
12.6. Portal navigational state
12.7. Portal events
12.7.1. Portal node events
12.7.1.1. Portal node event propagation model
12.7.1.2. Portal node event listener
12.7.1.3. Portal node event context
12.7.2. Portal session events
12.7.3. Portal user events
12.8. Examples
12.8.1. UserAuthenticationEvent example
12.8.2. Achieving Inter Portlet Communication with the events mechanism
12.8.3. Link to other pages
13. Clustering Configuration
13.1. Introduction
13.2. Considerations
13.3. JBoss Portal Clustered Services
13.3.1. Portal Session Replication
13.3.2. Hibernate clustering
13.3.3. Identity clustering
13.3.4. CMS clustering
13.4. Setup
13.5. Portlet Session Replication
13.5.1. JBoss Portal configuration
13.5.2. Portlet configuration
13.5.3. Limitations
14. Web Services for Remote Portlets (WSRP)
14.1. Introduction
14.2. Level of support in JBoss Portal
14.3. Deploying JBoss Portal's WSRP services
14.3.1. Considerations to use WSRP when running Portal on a non-default port or hostname
14.3.2. Considerations to use WSRP with SSL
14.4. Making a portlet remotable
14.5. Consuming JBoss Portal's WSRP portlets from a remote Consumer
14.6. Consuming remote WSRP portlets in JBoss Portal
14.6.1. Overview
14.6.2. Configuring a remote producer walk-through
14.6.2.1. Using the configuration portlet
14.6.2.2. Using a WSRP Producer XML descriptor
14.6.2.3. Configuring access to a remote portlet
14.6.3. WSRP Producer descriptors
14.6.3.1. Required configuration information
14.6.3.2. Optional configuration
14.6.4. Examples
14.7. Consumers maintenance
14.7.1. Modifying a currently held registration
14.7.1.1. Registration modification for service upgrade
14.7.1.2. Registration modification on producer error
14.7.2. Consumer operations
14.7.3. Erasing local registration data
14.8. Configuring JBoss Portal's WSRP Producer
14.8.1. Overview
14.8.2. Default configuration
14.8.3. Registration configuration
14.8.3.1. Customization of Registration handling behavior
14.8.4. WSRP validation mode
15. Security
15.1. Securing Portal Objects
15.2. Securing the Content Management System
15.2.1. CMS Security Configuration
15.2.1.1. CMS Super User
15.2.1.2. CMS Security Console
15.3. Authentication with JBoss Portal
15.3.1. Authentication configuration
15.3.2. The portal servlet
15.4. Authorization with JBoss Portal
15.4.1. The portal permission
15.4.2. The authorization provider
15.4.3. Making a programmatic security check
15.4.4. Configuring an authorization domain
16. JBoss Portal Identity Management
16.1. Identity management API
16.1.1. How to obtain identity modules services ?
16.1.2. API changes since 2.4
16.2. Identity configuration
16.2.1. Main configuration file architecture (identity-config.xml)
16.2.1.1. Datasources
16.2.1.2. Modules
16.2.1.3. Options
16.3. User profile configuration
16.4. Identity modules implementations
16.4.1. Database modules
16.4.2. Delegating UserProfile module
16.4.3. Database UserProfile module implementation
17. JBoss Portal Identity Portlets
17.1. Introduction
17.1.1. Features
17.2. Configuration
17.2.1. Captcha support
17.2.2. Lost password
17.2.3. Reset password
17.2.4. jBPM based user registration
17.2.5. The configuration file
17.2.6. Customize e-mail templates
17.3. User interface customization
17.3.1. Example 1: required fields
17.3.2. Example 2: dynamic values (dropdown menu with predefined values)
17.3.3. Example 3: adding new properties
17.3.4. Illustration
17.3.5. Customizing the View Profile page
17.4. Customizing the workflow
17.4.1. Duration of process validity
17.5. Disabling the Identity Portlets
17.5.1. Enabling the Identity Portlets
18. Authentication and Authorization
18.1. Authentication in JBoss Portal
18.1.1. Configuration
18.2. JAAS Login Modules
18.2.1. org.jboss.portal.identity.auth.IdentityLoginModule
18.2.2. org.jboss.portal.identity.auth.DBIdentityLoginModule
18.2.3. org.jboss.portal.identity.auth.SynchronizingLdapLoginModule
18.2.4. org.jboss.portal.identity.auth.SynchronizingLdapExtLoginModule
18.2.5. org.jboss.portal.identity.auth.SynchronizingLoginModule
19. LDAP
19.1. How to enable LDAP usage in JBoss Portal
19.2. Configuration of LDAP connection
19.2.1. Connection Pooling
19.2.2. SSL
19.2.3. ExternalContext
19.3. LDAP Identity Modules
19.3.1. Common settings
19.3.2. UserModule
19.3.2.1. LDAPUserModuleImpl
19.3.2.2. LDAPExtUserModuleImpl
19.3.3. RoleModule
19.3.3.1. LDAPRoleModuleImpl
19.3.3.2. LDAPExtRoleModuleImpl
19.3.4. MembershipModule
19.3.4.1. LDAPStaticGroupMembershipModuleImpl
19.3.4.2. LDAPStaticRoleMembershipModuleImpl
19.3.5. UserProfileModule
19.3.5.1. LDAPUserProfileModuleImpl
19.4. LDAP server tree shapes
19.4.1. Keeping users membership in role entries
19.4.1.1. Example LDIF
19.4.1.2. Example identity configuration
19.4.2. Keeping users membership in user entries
19.4.2.1. Example LDIF
19.4.2.2. Example identity configuration
19.5. Synchronizing LDAP configuration
19.6. Supported LDAP servers
20. Single Sign On
20.1. Overview of SSO in portal
20.2. Using an Apache Tomcat Valve
20.2.1. Enabling the Apache Tomcat SSO Valve
20.2.2. Example of usage
20.3. CAS - Central Authentication Service
20.3.1. Integration steps
20.4. Java Open Single Sign-On (JOSSO)
20.4.1. Integration steps
21. CMS Portlet
21.1. Introduction
21.2. Features
21.3. CMS content
21.3.1. Configuring a window to display CMS content
21.4. CMS Configuration
21.4.1. Display CMS content
21.4.2. Service Configuration
21.4.2.1. Tuning Apache Jackrabbit
21.4.2.2. Changing the url under which the content should be accessible
21.4.3. Configuring the Content Store Location
21.4.3.1. 100% Filesystem Storage
21.4.3.2. 100% Database Storage
21.4.3.3. Mixed Storage
21.5. Localization Support
21.6. CMS Service
21.6.1. CMS Interceptors
22. Portal Workflow
22.1. jBPM Workflow Engine Integration
22.2. CMS Publish/Approve Workflow Service
23. Navigation Tabs
23.1. Explicit ordering of tabs
23.2. Translating tab labels
23.2.1. Method one: Multiple display-name
23.2.2. Defining a resource bundle and supported locales
24. Layouts and Themes
24.1. Overview
24.2. Header
24.2.1. Overview
24.2.1.1. Writing his own JSP pages
24.3. Layouts
24.3.1. How to define a Layout
24.3.2. How to use a Layout
24.3.2.1. Declarative use
24.3.2.2. Programmatic use
24.3.3. Where to place the Descriptor files
24.3.4. Layout JSP tags
24.4. RenderSets
24.4.1. What is a RenderSet
24.4.2. How is a RenderSet defined
24.4.3. How to specify what RenderSet to use
24.5. Themes
24.5.1. What is a Theme
24.5.2. How to define a Theme
24.5.3. How to use a Theme
24.5.4. How to write your own Theme
24.6. Other Theme Functionalities and Features
24.6.1. Content Rewriting and Header Content Injection
24.6.2. Declarative CSS Style injection
24.6.3. Disabling Portlet Decoration
24.7. Theme Style Guide (based on the Industrial theme)
24.7.1. Overview
24.7.2. Main Screen Shot
24.7.3. List of CSS Selectors
24.8. Additional Ajax selectors
25. Ajax
25.1. Introduction
25.2. Ajaxified markup
25.2.1. Ajaxified layouts
25.2.2. Ajaxified renderers
25.3. Ajaxified pages
25.3.1. Drag and Drop
25.3.2. Partial refresh
25.3.2.1. Portal objects configuration
25.3.2.2. Portlet configuration
25.3.2.3. Limitations
25.3.2.3.1. Application scoped session attributes
25.3.2.3.2. Non ajax interactions
26. Troubleshooting and FAQ
26.1. Troubleshooting and FAQ
A. *-object.xml DTD
B. portlet-instances.xml DTD
C. jboss-portlet.xml DTD