Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

This pertains to uPortal 3.3 and later

Rendering Pipeline Overview

The rendering pipeline uses a combination of XML Streaming APIs (StAX) and a custom Character Streaming API which mimics the StAX APIs but handles character and portal specific data. The rendering pipeline is comprised of small components each with a specific function. These components use a common input and output API allowing the runtime pipeline to be easily modified. Also all components are cache aware and can return a CacheKey that represents their current state for a request. This allows caching components to short-circuit the rendering pipeline when the output from a lower-level component is already in cache.

Key Components

While the rendering pipeline has over 17 components there are only a few that are really interesting.

XSLTComponent

Generic XSLT engine that works with StAX XMLEvent streams. The XSL Template is provided via an injected TransformerSource and a TransformerConfigurationSource can be injected to provide properties and parameters to the Transformer. There are structure and theme specific implementations of these interfaces that allow the same XSLTComponent to be re-used for each needed XSL Transformation in the pipeline.

StAXSerializingComponent

Detailed Pipeline Diagram

The diagram below represents the actual default uPortal rendering pipeline configuration.

  • No labels