IBM Research
 

Advanced examples

These examples demonstrate advanced plugin programming techniques. If you are new to WBI programming, you might want to check out some of the more basic examples first.

Traffic lights
The Traffic Lights plugin uses an editor to add images around links on web pages to signify how fast the current connection to that server is. This is fairly complicated example that uses editors, generators, as well as the Section class and the FetchUrl class.

Compression/Decompression
The Compressed Plugin merely decompresses GZIP-encoded data if a server happens to provide some. This demonstrates ExtraRuleKeys, as well as a method for simply passing data through editors.

Firewall Settings
The Firewall Plugin demonstrates how to use the RequestInfo.setFirewallInfo() method and the FirewallRequestEditor bean to set firewall settings a given transaction uses.

Backlinks
This plugin inserts a link at the top of each page to a list of pages that point to the current page.

Session Tracking
The Session plugin provides HTTP session support --- as defined in the Sun's© Java Servlet API --- for use by other plugins.

Language Translation
This plugin pays attention to the language the user has configured in the browser and seamlessly uses an web-based service to translate retrieved documents into that language.

XML/XSL Processing
The XML/XSL plugin demonstrates transcoding (i.e., converting data from one format into another). One use of transcoding is to display information in a web browser even when the file format is not supported by the browser. This plugin demonstrates the use of ExtraRuleKeys and TransactionData, as well as several beans.

Personal History
The Personal History plugin helps users find web pages that they have viewed in the past. It demonstrates the use of the HtmlTemplateGenerator, the AddPreambleEditor, as well the HtmlTokenizer, among many other classes.

MegObject Example
Demonstrates the use of the new MegObject class, whih enables Megs to pass objects instead of streamed data. See also our overview of MegObjects.