Skip to main content


Advanced topics


The Website engine is powered by Berlioz, a light-weight Web Framework which uses URI patterns to match URLs, XSLT for rendering and XML for content.

On its Berlioz does little more than provide a Web framework. However, the Website Engine also includes Bastille, a library that provides common functions such as caching, indexing, login and reading XML and PSML files.

Purpose & application

The Website Engine is designed to provide a high-end Web platform so that PageSeeder data can be made accessible though the Web without going via PageSeeder.

The Website engine is particularly useful when there are different classes of users that need to access the same data.

Common use case: Electronic publishing

Authors and editors can use PageSeeder so that they can take advantage of the rich data modeling and editing capabilities and built-in permission model of PageSeeder.

When data is ready to published, it is pushed through the Publisher to the Website Engine so that access to their publications can be accessed by the general public with dedicated layouts for various devices.

This website follows this model: PageSeeder developers use PageSeeder for authoring and publish the documentation when it is ready for general consumption.

Comparison with Layout Manager

The built-in Layout Manager in PageSeeder which controls the PageSeeder user interface is already highly configurable and uses a similar architecture to Berlioz based on URI patterns and XSLT for rendering.

However, it has been designed to be tightly integrated with PageSeeder and therefore imposes restrictions on the general layout, in particular the navigation and page structure. It is also difficult and possibly undesirable to turn off some of PageSeeder user interface components

When to use the layout manager

The layout manager is the preferred choice when a new user interface component needs to complement the existing PageSeeder user interface such as a customized report, predefined search results, a custom block, etc.

The layout manager is also the only option when an existing component needs to be customized for example by using a specific style (CSS), behavior (JavaScript) or structure (XSLT). But developers should be careful not to customize the interface to heavily or it may become to diagnose issues.

It is also possible a use the layout manager to create an entirely new layout that make intensive use of PageSeeder functions because they are directly accessible to the layout components, but it imposes a lot of restrictions on the URLs and should only be done by experienced developers.

When to use the website engine

It is preferable to use the website engine whenever a completely new layout needs to be provided. The Website engine has the advantage of offering a blank canvas and lower learning curve than the layout manager.

If the audience for the Website have no reason to be exposed to PageSeeder, then the Website engine provides a much more flexible framework than then layout manager.

If the life cycle of the data is different from that on PageSeeder, the Website engine is also a good choice, this enables editors and authors to edit and review the content collaboratively on PageSeeder at their convenience and to only push the data out to the Website when the editorial review has been completed.

Created on , last edited on