WebPagePortlet


Class Name : org.apache.jetspeed.portal.portlets.WebPagePortlet


Description

Present a web page in a portlet.

The web page will be loaded by the Jetspeed server, not the user's web browser, and maintained by the cache subsystem. Since Jetspeed is loading the page, no information from the user's browser, like cookies, will be provided to the web server.

The WebPagePortlet will convert, or delete, some of the HTML tags so the resulting page can be presented in a portlet.

Supported Media Types

Description of Media Types.

  • html

Element: parameter

Parameter that control the how the web page is converted into a portlet.

This element is optional.

Parameters common to many portlets.

Parameter NameDescription
dont_remove_applet <APPLET> tag. Used to include a Java Applet. The space allocate on the web page for the applet will be available for other HTML tags, thus the appearance of the resulting page will be different.
If not present, "no" is the default value
ValueDescription
yesInclude the Java applets in the portlet
noRemove Java applets
dont_remove_head<HEAD> tag.
If not present, "no" is the default value
ValueDescription
yesThe <HEAD> tags are retained
noThe <HEAD> tags is removed
dont_remove_meta<META> tag.
If not present, "no" is the default value
ValueDescription
yes<META> tags are retained
no<META> tags are removed
dont_remove_noscript<NOSCRIPT> tag.
If not present, "no" is the default value
ValueDescription
yes<NOSCRIPT>tags are retained
no<NOSCRIPT> tags are removed
dont_remove_onsomething<Retain onBlur, onChange, ... attributes> in tag.
If not present, "no" is the default value
ValueDescription
yesRetain attributes
noRemove attributes
dont_remove_object<OBJECT> tag.
If not present, "no" is the default value
ValueDescription
yes<OBJECT>tags are retained
no<OBJECT> tags are removed
dont_remove_script<SCRIPT> tag.
If not present, "no" is the default value
ValueDescription
yes<SCRIPT> tags are retained
no<SCRIPT> tags are removed
dont_remove_style<STYLE> tag.
If not present, "no" is the default value
ValueDescription
yes<STYLE> tags are retained
no<STYLE> tags are removed
open_in_popupOpen links in a new window
If not present, "no" is the default value
ValueDescription
yesLinks are opened in a pop-up browser window
noLinks are opened in a the current browser window
usernameUsername for HTTP Basic Authentication
If not present, then basic HTTP authentication is not used.
passwordPassword for HTTP Basic Authentication
If not present, then basic HTTP authentication is not used.

Element: url

Contains the URL of the web page to be displayed.

This element is required.

General information about of URL.

Good URLs:

<url>http://jakata.apache.org/jetspeed</url>
Basic URL
<url>http://search.yahoo.com/bin/search?p=jetspeed</url>
1 Parameter passed
<url>http://search.yahoo.com/search?p=jetspeed&amp;n=100</url>
2 Parameter passed

Bad URLs:

<url>index.html</url>
No protocol, http:// or hostname
<url>http://search.yahoo.com/search?p=jetspeed&n=100</url>
Contains & instead of &amp;.

Example of Registry Entry

The example will place the results of a Yahoo search on "jetspeed" in a portlet.

From <jetspeed_home>/WEB-INF/conf/local-portlets.xreg

<portlet-entry name="JetspeedInYahoo" hidden="false" type="ref"
   parent="WebPagePortlet" application="false">
   <meta-info>
       <title>JetspeedInYahoo</title>
       <description>References to Jetspeed in Yahoo</description>
   </meta-info>
   <parameter name="dont_remove_applet" value="yes" hidden="false"/>
   <parameter name="dont_remove_script" value="yes" hidden="false"/>
   <url>http://search.yahoo.com/bin/search?p=jetspeed</url>
</portlet-entry>

Know problems (version 1.3a1)

  • Some <META> may cause errors and prevent the portlet from being displayed
  • Some JavaScript may cause errors and prevent the portlet from being displayed

Rewriting of HTML tags

The following is from the util/HTMLRewriter.java

 * The following describes how HTML tags are rewritten
 *
 * <!-- --> (HTML Comments)
 *   o Unless otherwise mentioned, comments are striped.
 * 
 * <A>
 *   o HREF attribute   - URL merged with base URL (See Note 1)
 *   o TARGET attribute - Set to "_BLANK" if it does not exist 
 *                        and openInNewWindow = TRUE
 * <AREA>
 *   o HREF attribute   - URL merged with base URL (See Note 1)
 *   o TARGET attribute - Set to "_BLANK" if it does not exist 
 *                        and openInNewWindow = TRUE
 * <APPLET>
 *   o Optionally included
 *   o CODEBASE attribute - Set to the current path if it does
 *                          not exist.
 * 
 * <BASE>
 *   o <HEAD> does NOT have to be included.
 *   o HREF attribute  - Set the Base URL of the page, but the tag
 *                       not set in resulting HTML. URL merged with
 *                       base URL (See Note 1)
 * 
 * <BODY>
 *   o Background attribute - Always striped.
 * 
 * <EMBED>
 *   o May not work.  Not supported by JDK 1.3/
 * 
 * <FORM>
 *   o ACTION attribute - Set to the current URL if it does
 *                        not exist. URL merged with base
 *                        URL (See Note 1)
 * 
 * <IMG>
 *   o SRC attribute - URL merged with base URL (See Note 1)
 * 
 * <INPUT>
 *   o SRC attribute - URL merged with base URL (See Note 1)
 * 
 * <LINK>
 *   o HREF attribute   - URL merged with base URL (See Note 1)
 * 
 * <OBJECT>
 *   o Optionally included
 *   o CODEBASE attribute - Set to the current path if it does
 *                          not exist. URL merged with base
 *                          URL (See Note 1)
 * 
 * <SCRIPT>
 *   o Optionally included
 *   o Contents may be striped if this tag appears in the <HEAD>
 *     and the contents are NOT in a comment
 *   o SRC attribute - URL merged with base URL (See Note 1)
 *   o Script code that is NOT enclosed in a comment (<!-- -->)
 *     and in the <HEAD> may NOT be in the resulting HTML.  This
 *     is related to the HTML parser in included in the JDK 
 * 
 * <TD>
 *   o BACKGROUND attribute - URL merged with base URL (See Note 1)
 * 
 * Note 1: URL Merging.
 *   This is done because the source of the page sent to the
 *   user's browser is different then source the current page.
 *   Example:
 *     Base URL........ http://jakarta.apache.org/jetspeed
 *     URL............. logo.gif
 *     Resulting URL... http://jakarta.apache.org/jetspeed/logo.gif
 *