Jetspeed-2 Page Structured Markup Language 2

(PSML-2)

Revision	Author	Comment
0.1	David Tayl	Initial draft

Table of Contents

1.Introduction	1

Glossary	1

2.PSML XML Schema	2

File structure and location of layout information	2

Graphical overview	3

Introduction

PSML: the Portlet Structured Markup Language, was introduced in Jetspeed-1. See:

http://portals.apache.org/jetspeed-1/psml.html

PSML is an abstract model for defining layouts of portlet pages and fragments.

PSML-2 is the not compatible with Jetspeed-2 PSML. PSML-2 has been extended to support a generalized fragment model, external fragment references, page and subpages. PSML-2 is also designed to work in multi-threaded aggregators and normalized database schemas.

The purpose of this document is to:

Define the New PSML Model

Describe the Page Manager component architecture and its implementations. Unlike in J1, the default component Page Manager will store PSML in a normalized database.

Glossary

Her a list of terms and definitions used in the layout and decorator handling specifications:

Term	Description
Layout	Defines the fashion in which grouping of Fragments will organized relative to the final, aggregated content of a request to the portal. A Page is an example of a grouping of Fragments.
PSML	An abstract model for defining layouts of portlet pages and fragments
Layout-decorator	Frame around page
Fragment	Content whose source is that of a dynamic nature e.g. generated by a Porlet or a Page The content of a Fragment should not be manipulated by a Decoration.
Decoration	Any static or semi-static markup surrounding a dynamically generated Fragment. Decoration does not have access to alter a Fragment's generated mark up.
Page	An aggregate of Fragments. A Page is considered to be type of Fragment and generates immutable markup as such.
Page decorator	A type of decoration specifically designed decorate a Page's generated markup. Page markup consists of that Page's Layout and Fragments.
Portlet decorator	A type of decoration specifically designed decorate a Portlet's generated markup.

PSML Schema

PSML can be stored in the database or in XML files. The final default implementation will store PSML in a relational database. The XML implementation does not currently reference an XML Schema, but just a Castor mapping.

Both implementations share the same common object model.

Common Model

The following picture shows the graphical overview (what's on the screen) and what elements (layouts/decorators) are involved. For simplicity we use Jetspeed as the Layout.

PSML Database Schema

The database schema differs from PSML-1 in one important area: the database schema represents the PSML model in full fidelity.

Jetspeed-2 development documentation

Page 3 of 3

Roger Ruttimann

2004-05-14T14:58:24

David Sean Taylor