Customizing the Novell exteNd™ Express Portal

Jim Demarest

Senior Manager, Training and Solutions

Novell, Inc.

Portal

LDAP Directory

Content

Mgmt

Work

flow

Trans

coding

Rules

Security User & Directory (SUD) Layer

Director Engine

J2EE App Server

SQL Database

LDAP

SQL

SQL

Novell exteNd Director™

Express Portal Application

Installed and deployed, as part of Express Installation

Contains a number of default settings

Provides “NPS-like” experience

Certain portal changes will require opening this project in the Director Designer

What We'll Not Cover

J2EE, including Portlet Specification

Director Designer & Deployment

Security

Data source integration, including LDAP, eDirectory™, & SSO

What We Will Cover

User Experience

Portal Users' interface

Administrators' interface

Portal Customization

Core portlets

Accessory portlets

URL Customization

Creating the User Experience

Creating the User Experience

Portal users’ interface

Administrators’ interface

Portal Users’ Interface

Personal pages

User determines layout and content, given choices by the administrator

Shared pages

Layout and content determined fixed by an administrator

Common pages

Consistent across all users (generally)

Built with JSP pages or servlets

Personal Pages

Portal Personalizer

Portal portlets

Portal themes

Portal layouts

Demo: Personal Pages

Portal Personalizer

Portal portlets

Portal themes

Portal layouts

Portal Personalizer

Allows portal users to

Maintain personal pages

Add/remove/arrange content on pages

Choose portal layouts

Set default container page

Set default shared page

Choose portal themes

Limited by Security subsystem

Portal Themes

Easily change the overall look and feel of the portal application

Use Cascading Style Sheets (CSS) technology

Core UI takes advantage of the user’s theme
(Login, Layout Selector, Content Selector, and so on)

Predefined themes provided out-of-the-box

Easily create new themes

Wizard & Editors

Predefined Themes

Basic Blue

Titanium

Portal Layouts

Defines a set of sections where users can add components to their pages

Made up of a metadata file and a definition file

Can be represented in XML or XHTML

Easily created or customized through Workbench

Not tightly bound to users’ pages

Many predefined layouts

Some Predefined Layouts

1 Column

One column used primarily for the Wireless Profile

3 Columns

Three equal size columns

Header Nav Content

Header, Navigation bar and content area

2 Columns

Two columns with custom widths

Header Content

Header and content sections

Header Nav Content Footer

Header, Navigation bar, content area and Footer

Exercise 1: Create a Portal User

Create a new portal user ID

Personalize the look and feel of the portal page

Creating the User Experience

Portal users’ interface

Administrators’ interface

Administrators’ Tools

Director Administration Console (DAC)

Portal portlets, pages, and styles

Users

Log and cache configuration

Security

Portal Container Pages

Portal Shared Pages

DAC

Browser-based application

Reference application for J2EE and exteNd Director™

Click Portal Administration link from Portal

DAC Sections

Portlet/Portal

Handles portlets, styles, and categories

Profiles

Handles users, groups, and custom user properties

Configuration

Handles logs and caching

Security

Administers ACLs

Directory

Accesses other security realms

Administration Tools

Migrate Portal data between databases

Content

Handles content management system

Workflow

Handles status of the engine, and queue

Demo: DAC

Access the DAC

Show major parts

Details to come

Portal Container Pages

Include common headers, footers, and so on

Surround shared & personal pages

Categorizable to ease navigation

Based on group or user

Department, or business unit

Easily styled by XSL

Maintained by logging into the Portal with ID from Portal Admin update ACL

Select Portal Administration

Demo: Container Page Administration

Enter Portal as Administrator

Show Shared & Container Page Administration

Focus on Container Page settings

Portal Shared Pages

Push information out to users

Common look and content (portlets) across all users

Categorizeable by Container Page

Flat or hierarchical display, supporting parent/ child relationships

Created/Deleted by admin

Admin grants change authority to other users

Only those users control content/portlets on the shared pages

Portal users can only set preferences on individual portlets on the shared page

Demo: Shared Pages

Show the Shared Page functionality of the Shared & Container Page Administrator

Exercise 2: Create a Shared Page

Login as Admin and create the page and assign to portal user

Login as Portal user to see the page

Delegate administration of the shared page

2

1

3

Portal users’ interface

Administrators’ interface

Section Summary

You should now understand:

Portal Customization

Portal Customization

Core portlets

Accessory portlets

URL customization

Core Portlets

Include

Login

New User

Header

Portal Personalizer

Layout & Theme Pickers

Contained in

WEB-INF/lib/portal_core_resource.jar

Source available in

<exteNd5rdir>\Director\templates\TemplateResources\portal-core-resource\portal_core_resource_src.jar

Most customizable through preferences

Core Portlets (2)

URL specified in portal’s web.xml

Configurable via

Portlet preferences in DAC Portlet Mgmt.

Create your own

From supplied source or scratch

Specify your own URL in web.xml

DAC Portlet Management Section

Portlet Definitions

General Settings

Register new instance

Portlet Registrations

Unregister

Categories

Settings

Preferences

Security

Demo: Core Portlets

Show core portlets in Portlet Management Section of DAC

Exercise 3: Portal Branding

Change two core portlets to change the logo and title

Core portlets

Accessory portlets

URL customization

Portal Customization

Accessory Portlets

Provide content and functionality out of the box

Many were NPS Gadgets

More coming

Most Popular

iFrame Portlet

HTML Portlet

RSS News Portlet

Message Portlet

Bookmark Portlet

ACC

iFrame Portlet

Displays given URL using an iFrame tag

Can post credentials to secured URLs

Used to quickly display content from another source

Create multiple registrations for different content

Preferences

URL

Post to URL?

Params to pass

HTML Portlet

Obtain content from HTML pages

Preferences

URL

Do a Post?

Link destination

Wizard to subdivide pages

HTML

RSS News Portlet

Rich Site Summary format

Dominant format for distributing news headlines and more

Available for many popular news sites, like Slashdot, Forbes, CNet, Yahoo!, Novell

Two main preferences

Number of Items: number of headlines to display

News Feed URL: URL to the RSS document

RSS

Message Portlet

Displays messages on in regular text or HTML

Commonly used in container or shared pages to display messages to users.

Preferences

Message

Height

Width

Bookmark Portlet

Displays a list of favorite URL links

Preferences

Bookmarks (list of URLs)

Number of columns

Bullets?

Header (title)

Shortcut Portlet is similar, but also includes descriptions for each URL

Demo: Accessory Portlets

Open the Portlet Management section of the DAC

Show several of these Accessory portlets, their registrations, and preferences.

Highlight Differences between iFrame and HTML0

Portal Customization

Core portlets

Accessory portlets

URL customization

WAR URL

Portal Path

Container Key

Current

Portal Page

Server name

or DNS

Aggregator servlet

Container

page

Customizing the exteNd Director URL

http://localhost/ExpressPortal/portal/cn/DefaultCntnrPage/MyPage

Exercise 4: Configuring Accessory Portlets

Create a new registration of the RSS News Portlet

Specify settings and preferences

Display the new registration in a portal page

Add an HTML Portlet to your Shared Page

1

2

3

4

Section Summary

Core portlets

Accessory portlets

URL customization

You should now understand:

What We Covered

User Experience

Portal Users' interface

Administrators' interface

Portal Customization

Core portlets

Accessory portlets

URL Customization

Questions & Answers

The Portal subsystem provides the browser interface for users and administrators (via the DAC).

It also provides several development options.

The Portal subsystem provides three main choices for the users’ interface:

The first is pages personalized by each user. Administrators control how much modification the user can make.

The second option is pages created by an administrator that sets up the layout and content. Users can view their shared pages, but cannot change the layout or content of the page.

The third option is creating JSP pages or servlets to create pages for all users. Because you are coding these pages yourself, you can customize them based on a number of factors, including characteristics of the user. Generally, users have no control of these pages.

Portal Personalizer provides the users the ability to choose and arrange their own content.

Portal Portlets are the Java standard for ths fundamental building blocks for a browser interface. Users can choose portlets and specify where they appear on their personal pages.

Portal Themes are based on Cascading Style Sheets (CSS) and allow users to choose a look and feel based on fonts, colors, and images.

Portal Layouts allow users to align their chosen portlets in different ways on their personalized pages.

The Portal Personalizer allows users to maintain the content and look and feel of their Portal pages. Portal Administrators can control various aspects based on portal security. The User Management unit talks more about this.

Each theme is based on a CSS file that contains the same class names with different parameters. You can create a new theme, in the Director Designer, by copying an existing theme and changing the class parameters. There is also a wizard to create an empty theme.

Now, that we’ve seen the Portal from a User’s point of view, let’s look at it from an Administrator’s view.

These tools provide most of the administration and maintenance of the exteNd Director framework. The DAC is a browser-based tool. Portal Container and Shared Pages are maintained via logging into the Portal using an ID with GroupPageAdmin access. The other big administrative task that these don’t cover is the J2EE deployment (discussed in the preceding unit).

The DAC is a J2EE application built using exteNd Director, including the Portal subsystem itself.

exteNd Composer provides an administration console, as well. We include it here, as part of the Administrators’ Tools and will cover it in more detail, when we introduce Composer.

The Director Administration Console (DAC) provides and interface for administrating the Portal interface. It also sections for Content Management, and Workflow Management, if those subsystems are used in the application.

The Portal Administration link appears on the upper right of the Portal page for users, with administrative access.

Later units cover the different pieces of the DAC -- for example, the Security unit discusses the details of administering ACLs.

The Content and Workflow sections are not included in the Novell exteNd 5 Professional Edition. These require the Enterprise Edition and are covered in the Advanced Director Development course.

The Content section of the DAC replaces the PMC, used in previous Director releases.

Portal Administrators can maintain Container Pages with common content and formatting. The Container Pages are first created by logging into the Portal as a user with access to the PortalAdmin update ACL. The PortalAdmin user should see the Portal Administration link in the upper right. From there, the administrator will get links to Shared Page Administration, Container Page Administration, and the DAC.

By default, Portal users can choose the current container page.

One customer wanted a particular group of users to see the same set of content immediately after their first login. This is one example of a Shared Page.

These portlets create a basic Portal UI. You used these portlets in Exercise 1 when you created your first portal user and added the portlets to your first user page. Most core portlets are customizable through the DAC.

These portlets create a basic Portal UI. You used these portlets in Exercise 1 when you created your first portal user and added the portlets to your first user page. Most core portlets are customizable through the DAC.

This section displays all the portlets deployed in this Portal application. These are referred to as Portal Definitions. For each definition, you can register as many instances as necessary. Different instances, called Portlet Registrations, can have different settings. For example, a News Portlet Definition may have many registrations. Each registration may have a different title, indicating a different news source or subject. A Message portlet may have many registrations for different messages.

These Accessory Portlets provide portal functionality and content, right out of the box. Many were originally created a Novell Portal Services Gadgets. However, they now follow the Portlet standard. Let’s talk about some of the most common portlets that are included in exteNd Director.

The IFrame portlet is one of the most commonly used portlets, as it allows portal administrators to quickly display content from another source without having to code a separate portlet. You specify the URL and new session is created to that URL and displayed in the Portlet. This allows the user to navigate that site, without leaving their Portal page.

This portlet is similar to the IFrame portlet, except the content is aggregated with the rest in the BODY tag of the Portal page. Obviously, an IFrame tag isn’t used. The wizard allows you to grab pieces of HTML from a page. For example, you can subdivide a news site to display only the sports section of the page, based on TABLE or DIV tags.

For samples of RSS news feeds you may want to check out http://newsisfree.com/

Used to display a common message to all users. Examples include a quote of the day, system status, reminders or notices.

Developers often want to customize different pieces of the URL for different reasons. You can dissect the URL and figure out where to go to change different pieces. Here’s the sample URL:

http://localhost/ExpressPortal/portal/cn/DefaultCntnrPage/MyPage

Here’s how the URL breaks down:

http://<server>/<WAR_URL>/<aggregatorServlet>/<PortalCntnrKey>/<ContainerPage>/<PortalPage>

The server name is the workstation ID, IP address, or (normally) the DNS name.

The WAR’s URL is defined in the Deployment Plan

The Aggregator Servlet is identified in the deployment descriptor. Also in the web.xml is the Portal Path Container key, specified as the context param “PortalPathContainerlKey”.

The container page is defaulted in the web.xml, but can be changed by the portal user, out of the box.

Finally, the last part of the URL is the current portal page. This is the shared or personal page that the user is currently viewing.

DHO346-Customizing the Express Portal

2003-12-08T12:43:39