Capabilities Overview

Jetspeed-2 capabilities provides a mechanism for mapping the client used to access Jetspeed-2 to media types for page rendering.

Capabilities Definitions

The Jetspeed-2 capability engine maps clients to media types to mime types. Here are some more detailed definitions:

  • Clients: The application that initiates a request to the Jetspeed-2 portal engine. Jetspeed-2 uses the User-Agent to determine the client that initiates a request.
  • Media Type: The type of media requesting the content (HTML, WML, etc.). Content in Jetspeed-2 can be requested by different type of devices through different media.
  • Mime Type: The type of content being requested.

Jetspeed-2 works with the following media types:

Name Character Set Description
html UTF-8 Rich HTML for HTML 4.0 compliants browsers
wml UTF-8 Format for mobile phones and PDAs compatible with WML 1.1
vxml UTF-8 Format suitable for use with an audio VoiceXML server
xml XML 1.0
xhtml-basic UTF-8 XHTML Basic used in WAP devices

Jetspeed-2 is configured to recognize the following clients:

Client User Agent Pattern Manufacturer Preferred Mime Type
ie5 .*MSIE 5.* Microsoft html
ie6 .*MSIE 6.* Microsoft html
ns4 .*Mozilla/4.* Netscape html
mozilla .*Mozilla/5.* Mozilla html
lynx Lynx.* GNU html
opera7 .*Opera/7.* Opera html
ie5mac .*MSIE 5.*Mac.* Microsoft html
safari .*Mac.*Safari.* Apple html
xhtml-basic DoCoMo/2.0.*|KDDI-.*UP\.Browser.*|J-PHONE/5.0.*|Vodafone/1.0/.* N/A xhtml
agentxml agentxml/1.0.* N/A xml
nokia_generic Nokia.* Nokia wml
up UP.*|.*UP\.Browser.* United Planet wml
sonyericsson Ercis.*|SonyE.* SonyEricsson wml
wapalizer Wapalizer.* Wapalizer wml
klondike Klondike.* Klondike wml
wml_generic .*WML.*|.*WAP.*|.*Wap.*|.*wml.* N/A wml
vxml_generic .*VoiceXML.* N/A vxml
nuance Nuance.* Nuance vxml

Capabilities and Content Rendering

The media-type is used to locate the appropriate decorations template for the given media-type.

Capabilities Implementation

The Capabilities component derive a CapabilityMap from the information provided by the User-Agent request header:

cm = capabilities.getCapabilityMap(agent);

This operation occurs at the very beginning of Jetspeed-2 request pipeline processing. Once the CapabilityMap is retrieved, it is added to the Jetspeed-2 org.apache.jetspeed.request.RequestContext and made available to the portal engine for processing the request.

The two pictures below describes the Capabilities interfaces and the relational database model backing the implementation.