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:

NameCharacter SetDescription
htmlUTF-8Rich HTML for HTML 4.0 compliants browsers
wmlUTF-8Format for mobile phones and PDAs compatible with WML 1.1
vxmlUTF-8Format suitable for use with an audio VoiceXML server
xmlXML 1.0
xhtml-basicUTF-8XHTML Basic used in WAP devices

Jetspeed-2 is configured to recognize the following clients:

ClientUser Agent PatternManufacturerPreferred Mime Type
ie5.*MSIE 5.*Microsofthtml
ie6.*MSIE 6.*Microsofthtml
ns4.*Mozilla/4.*Netscapehtml
mozilla.*Mozilla/5.*Mozillahtml
lynxLynx.*GNUhtml
opera7.*Opera/7.*Operahtml
ie5mac.*MSIE 5.*Mac.*Microsofthtml
safari.*Mac.*Safari.*Applehtml
xhtml-basicDoCoMo/2.0.*|KDDI-.*UP\.Browser.*|J-PHONE/5.0.*|Vodafone/1.0/.*N/Axhtml
agentxmlagentxml/1.0.*N/Axml
nokia_genericNokia.*Nokiawml
upUP.*|.*UP\.Browser.*United Planetwml
sonyericssonErcis.*|SonyE.*SonyEricssonwml
wapalizerWapalizer.*Wapalizerwml
klondikeKlondike.*Klondikewml
wml_generic.*WML.*|.*WAP.*|.*Wap.*|.*wml.*N/Awml
vxml_generic.*VoiceXML.*N/Avxml
nuanceNuance.*Nuancevxml

Capabilities and Content Rendering

The media-type is used to locate the appropriate decorations template for the given media-type. See the portal design guide for more information.

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.