PortletBridge Portlet

The PortletBridge Portlet project creates a JSR-168 Portlet that can proxy and rewrite content from a downstream web site. Currently, the portlet supports:

  • Getting content from a downstream site
  • Proxy configuration (including NTLM and Basic authentication)
  • NTLM and Basic authentication as preferences
  • Using an xsl stylesheet to rewrite the content from the downstream site
  • Proxying of remote resources (e.g. images, flash etc.)
  • Pluto 1.0.1 rc2
  • JBoss Portal 2.0
  • LifeRay Professional 3.6.0
  • XSL Stylesheets packaged as part of the portlet or remote (URL based)
  • Links to binary files
  • Help and Edit modes
  • Rewriting CSS urls
  • Moving javascript and css links out of the head
  • Hiding of downstream URLs and configurable scope
  • Back button and refresh support
The portlet currently does not support:
  • Tested support of other portal frameworks
  • URL rewriting in external stylesheets and javascript

The size of the PortletBridge portlet is due to the inclusion of the Xalan and Xerces jars for rewriting the content from the downstream site.

Portlet Configuration

Init Params:

NameDescriptionRequired
mementoSessionKeymementoSessionKeyYes
servletNamepbhsYes
parserClassNameorg.cyberneko.html.parsers.SAXParserYes

Preferences:

NameDescriptionReadonlyRequired
secureEditWhether or not EDIT checks for isUserInRole("portletbridge")YesYes
initUrlThe initial url for the portlet to point toNoYes
scopeA regular expression that identifies which downstream sites should be proxied and which just linked to.NoYes
authenticationWhat kind of authentication to use ("none", "basic", "ntlm")NoNo
authenticationUsernameUsernameNoNo
authenticationPasswordPasswordNoNo
authenticationHostHost (for ntlm)NoNo
authenticationDomainDomain (for ntlm)NoNo
proxyHostThe Proxy HostNoNo
proxyPortThe Proxy PortNoNo
proxyAuthenticationProxy Authentication ("none", "basic", "ntlm")NoNo
proxyAuthenticationUsernameProxy UsernameNoNo
proxyAuthenticationPasswordProxy PasswordNoNo
proxyAuthenticationHostProxy Authentication Host (for ntlm)NoNo
proxyAuthenticationDomainProxy Authentication Domain (for ntlm)NoNo
stylesheetclasspath:/org/portletbridge/xsl/portletbridge.xslNoNo

Servlet Configuration

Init Params:

NameDescriptionRequired
mementoSessionKeyThe key to store portletbridge user data underYes
parserClassNameThe name of the parser class to useYes
editStylesheetURL to the edit stylesheetYes
helpStylesheetURL to the help stylesheetYes
errorStylesheetURL to the error stylesheetYes
servletNameThe name the servlet is underYes

Requirements

Portlet Bridge requires Java 1.4 or above.