Portal Site Management

24
Site Management in Jetspeed-2 Roger Ruttimann Jetspeed-2 Enterprise Portals

description

Contact David Sean Taylor for more information or training.taylor at apache.org

Transcript of Portal Site Management

Page 1: Portal Site Management

Site Management in

Jetspeed-2

Roger Ruttimann

Jetspeed-2 Enterprise Portals

Page 2: Portal Site Management

November, 2005 2

Overview

Site Structure

Folder, Menus, PSML and portlets

Using Site Manger

Demo

Agenda

Page 3: Portal Site Management

November, 2005 3

Site Structure

Pages in PSML format are stored in folders

Pages reference portlets and define security constraints, layouts, decorators for portlets.

Metadata in folders to define the display order

Detailed documentation inhttp://portals.apache.org/jetspeed-2/guides/guide-psml.html

Overview

Page 4: Portal Site Management

November, 2005 4

Folders

PSML and metadata files are organized in a folder structure

Site Management

<folder> <!-- folder description --> <title>Root Folder</title> <metadata name="title" xml:lang="fr">Répertoire racine</metadata> <metadata name="title" xml:lang="es">Carpeta raiz</metadata> <!-- order of documents in folder --> <document-order>Jetspeed2.link</document-order> <document-order>Jetspeed2Wiki.link</document-order> <document-order>apache_portals.link</document-order> <document-order>apache.link</document-order>

Page 5: Portal Site Management

November, 2005 5

Menus

Menus can be defined for folders and pages

<!-- portal site menus --> <menu name="page-navigations"> <separator> <text>Top Pages</text> <metadata name="text" xml:lang="fr">Page haut</metadata> <metadata name="text" xml:lang="es">Páginas más populares</metadata> </separator> <options>/Administrative</options> <separator> <text>Profiled Pages</text> <metadata name="text" xml:lang="es">Páginas del Perfil</metadata> </separator> <options regexp="true">/p[0-9][0-9][0-9].psml</options> <separator> <text>Non Java Pages</text> <metadata name="text" xml:lang="es">Ejemplos sin java</metadata> </separator> <options>/non-java</options> </menu>

Page 6: Portal Site Management

November, 2005 6

Security

Security constraint in each page<!-- security constraints --> <security-constraints> <security-constraints-ref>public-view</security-constraints-ref> </security-constraints>

Page 7: Portal Site Management

November, 2005 7

Security Constraint Definitions

Global page.security file:

<security-constraints-def name="admin">

<security-constraint>

<roles>admin</roles>

<permissions>view, edit</permissions>

</security-constraint>

</security-constraints-def>

<global-security-constraints-ref>admin</global-security-constraints-ref>

Page 8: Portal Site Management

November, 2005 8

PSML

Description of a page. Content can be defined in fragments.

Allows to define layouts, decorators, links, menus, metadata and portlets

By default PSML are persisted as files on the file system

Simple configuration change to persist the PSML to the database instead of the file system.

Site Management

Page 9: Portal Site Management

November, 2005 9

Use Database persistence for PSML pages

Running J2 in a clustered environment requires pages to be in a database.

Changing PageManger to use database:– Comment out Update the spring assembly page-manager.xml. Comment out

CastorXmlPageManger section:

<bean id="org.apache.jetspeed.page.PageManager"

name="pageManager"

class="org.apache.jetspeed.page.psml.CastorXmlPageManager">

Page Manger

Page 10: Portal Site Management

November, 2005 10

Portlets

PSML pages reference portlets

Define decorators and positions of the portlets in the page

Site Management

<fragment id="100393" type="layout" name="jetspeed-layouts::VelocityOneColumn"> <fragment id="100939" type="portlet" name="j2-admin::LocaleSelector"> <property layout="OneColumn" name="row" value="0"/> </fragment> <fragment id="100345" type="layout" name="jetspeed-layouts::VelocityTwoColumns"> <property layout="OneColumn" name="row" value="1"/> <property layout="TwoColumns" name="sizes" value="33%,66%"/> <fragment id="100121" type="portlet" name="j2-admin::LoginPortlet"> <property layout="TwoColumns" name="row" value="0"/> <property layout="TwoColumns" name="column" value="0"/> </fragment> <fragment id="100171" type="portlet" name="demo::UserInfoTest"> <property layout="TwoColumns" name="row" value="0"/> <property layout="TwoColumns" name="column" value="1"/> </fragment> </fragment> </fragment>

Page 11: Portal Site Management

November, 2005 11

Site Manager

Site Manager part of the admin portlets

Site Manger Portlet allows users to add and edit pages

Adding portlets need to go to the page and enter edit mode

Ongoing work for an Ajax based Customizer. Will include the page creation and the portlet configuration in one page.

Site Management

Page 12: Portal Site Management

November, 2005 12

Site Manager Portlet

Page 13: Portal Site Management

November, 2005 13

Demo

The demo shows the following:

Create new page

Add portlets

Change layouts and configure portlets

Site Management

Page 14: Portal Site Management

November, 2005 14

Jetspeed Desktop

Jetspeed Desktop

The Jetspeed desktop combines server-side Jetspeed AJAX services with client-side services. It is a key change to the way Jetspeed presents its data. With the Jetspeed portal, it’s a server-centric application, with all requests and user interaction going back to the server. The user experience is driven by the HTTP page paradigm.

The Jetspeed Desktop solution is a client-side solution. The user interface is controlled by the client-side:

1. Aggregation of portlets

2. Customization

With the Jetspeed Desktop, the server side does what it does best: handles the portal model, user information and persistence of state.

Page 15: Portal Site Management

November, 2005 15

Jetspeed Desktop Aggregation

Jetspeed Desktop

Each portlet makes its own HTTP request for its own content. The request delivers the content for only that one portlet. The portlet aggregation component is moved to the client side, making ‘AJAX’ requests for each portlet’s content on the page.

This may lead to an overall slightly slower response time for the first hit on a page due to the increased number of HTTP requests, but subsequent interaction is usually much more responsive.

The “portlet pipeline” is used to make the AJAX requests.

Page 16: Portal Site Management

November, 2005 16

The Desktop today

• The desktop is undergoing a lot of new development and changing just about everyday. Still early in development cycle…

Jetspeed Desktop

Page 17: Portal Site Management

November, 2005 17

Jetspeed Desktop Customization

Jetspeed Desktop

Customization is well-suited for the Desktop solution. Customization should always be available, if you have secured access. The customization changes are persisted over the Jetspeed AJAX API to the server, but all client interaction such as drag and drop or best handled on the client-side. Here we right-click on the tab menu to get the portlet-selector:

Page 18: Portal Site Management

November, 2005 18

Jetspeed Desktop Portlet Selector

• The Jetspeed Desktop Portlet Selector supports drag and drop of portlets onto the desktop. The Portlet Selector is a light-weight popup window (not a real browser popup):

Jetspeed Desktop

Page 19: Portal Site Management

November, 2005 19

Desktop Drag and Drop

• Dropping the portlet on the page (better suited for a demo…):

Jetspeed Desktop

Page 20: Portal Site Management

November, 2005 20

Moving and Resizing

• Portlets can also be moved or resized (better suited for a demo…):

Jetspeed Desktop

Page 21: Portal Site Management

November, 2005 21

Themes

• The desktop still uses PSML as its instructions for which portlets appear on the page. However, page and portlet decorators are no longer relevant on the desktop. Instead we use “themes”. There are currently 2 themes available (tigris, blue)

Jetspeed Desktop

Page 22: Portal Site Management

November, 2005 22

Desktop System Portlets

• Portlet Selector – select then drag and drop portlets

• My Portal (edit your view of the site) i.e. folders pages, links **

• My Admin – same as My Portal, but manage the whole site **

• Portlet Finder – like the Portlet Selector, allows you to search **

• My Dashboards – alternative to Jetspeed standard menus **

• My Desktop – manage your desktop, change themes, colour, skins **

** NOT YET WRITTEN

Jetspeed Desktop

Page 23: Portal Site Management

November, 2005 23

Future Directions

• We are exploring development of the system administrative portlets with client-side widgets and DOJO

Jetspeed Desktop

Page 24: Portal Site Management

November, 2005 24

Google Map Portlet

Jetspeed Desktop