Customize the user interface
For information regarding the presentation of specific document types, see PSML document styles (CSS).
There are several ways to customize PageSeeder's user interface and this document outlines some of the options.
For developer tutorials on this topic, click User Interface Customizations.
For further technical information, see Understanding the Layout Manager or Layout Manager Config 1.4.
We no longer recommend customizing the PageSeeder user interface, but if it is a MUST, find what is needed here.
Several key components that used to make up the layout API are being deprecated or obsoleted. If the layout has been customized layout, make sure to check the release notes before upgrading !
PageSeeder UI components (pages, blocks & dialogs) are defined in the layout config. They are also powered by servlets and generators.
Following are recommended guidelines for creating user interface customizations. The purpose of these guidelines are to help developers avoid implementing customizations that are problematic to upgrade.
In the steps below page id can be substituted for block id or dialog id.
Layout/config.xmlcreate new page ids, do not override existing page ids.
- To override an existing URL, use a new page id but copy the
<url>element(s) from the existing page.
- Copy XSLT code you need from default, do not import XSLT from default. Importing XSLT can also create incompatibilities with future releases.
This will automatically load those files with your customization.
- When removing functionality from the UI, create the customizations as a perspective (previously known as Style View). The perspective, e.g.
mystyle.xyzcan be set as the default by adding / creating the following file:
with the following statements:
This approach will keep the standard perspective accessible. Making the Standard Perspective current can be done by simply adding the following parameter to any standard PageSeeder URL:
- If a layout customization is intended for the PageSeeder server instead of a Project, set it as the
custom folderin Template Properties (e.g.
For information on creating a Custom Style CSS see PageSeeder CSS. To install a custom CSS for a particular Project, follow the steps below:
Create a [project] folder under:
Copy the CSS and images folders to:
Only the CSS/image files that are to be customized should be copied or created. It is good practice to import the original PageSeeder CSS file and then only override the desired CSS styles.
Custom CSS as the default
To install a Custom CSS as the PageSeeder Server default for all Groups, first install it for a project as described above and then follow the steps below:
Restart the PageSeeder Service and the new style should be the default.
Customizing the config.xml
PageSeeder's Understanding the Layout Manager provides a powerful mechanism for customizing the User Interface.
To view a customization, there are two Layout Tools in the Developer Tools.
Following are simple examples of how to use the
The config.xml file can be overridden for a specific perspective. Doing so requires the configuration file to be valid against the
layout-config-override DTD and located in the following location:
The override DTD is essentially the same as the default DTD except that it enforces constraints for overriding, which are:
- If the
<navigation>tag is present, it will override the default navigation. If a
<section>is specified but left empty and there is a default section with the same title, the default
<subsection>elements will be used.
<page>components can be defined.
- Any component (block, blockset, tree or page) specified in the custom configuration file will override the default component with the same ID. This is not recommended, it is better to create new components.
Overriding an existing component follows these rules:
<url>patterns are ignored when a override url is specified, otherwise the default patterns are used.
<servlet>elements are ignored where a corresponding servlet definition is present in the override. An empty servlet tag (
<servlet />) will force "no servlet definition".
<script>tag is treated the same way as the servlet tag:. For "no script", use
<blockset-ref>tags should be included in the component. The default tags are never used.
- if a
<tree-ref>tag is present, all default tree-ref are ignored, otherwise the default definitions are used.
<url-parameter>elements are ignored for any overrides with the same name.
PageSeeder uses XSLT stylesheets to generate the HTML interface from the underlying XLink data. These are stored in the folder structure under:
To customize the stylesheets, the .xsl files must be stored in the same folder structure but with the project name as a qualifier:
The XSLT stylesheets can be modified directly on the server using the View Bundle page in the Developer tools.
Created on , last edited on