Skip to main content

Integrating User Documentation into WebSphere Studio Online Help

Neven Burazor (nburazor@at.ibm.com), IT-Architect ,e-business Integration Services, Application Development Team, IBM Austria
Photo: Neven Burazor
Neven Burazor is a IT-Architect at the IBM Business Innovation Services in Vienna. He holds BCS degree in Computer Science on Electro technical Faculty of Zagreb, with a focus on operating Systems and Networking. Prior to joining IBM in 1996 he worked on many customer banking applications using structural programming languages on a different systems like OS/390, DOS and OS/2 platforms. From 1999 he changed to web development area, and at present, he is performing technical project management role in customer projects, skill transfer, architecture's advises, development, troubleshooting, and performance tuning services to IBM customers. Neven can be reached at nburazor@at.ibm.com.
Michail Matjuchin (michail_matjuchin@at.ibm.com), e-business Specialist, e-business Integration Services, Application Development Team, IBM Austria
Photo: Neven Burazor
Michail Matjuchin is a software developer at the IBM Business Innovation Services in Vienna. He holds M.D. in Computer and Information Science, with a focus on optimization theory. Previously, prior to joining IBM in 1996 he has worked on different customer applications using C++ on Windows platforms. At present, his areas of expertise include design and development of applications using J2EE technologies. He provides skill transfer, architecture€™s advises, development, troubleshooting, and performance tuning services to IBM customers. Michail can be reached at michail_matjuchin@at.ibm.com.

Summary:  This article contains an illustration of integrating external documentation into the WebSphere Studio help system, showing step-by-step how to prepare and install Java 2 SDK documentation.

Date:  04 Mar 2002
Level:  Intermediate
Activity:  202 views

Introduction

The standard installation of WebSphereTM Studio products, such as WebSphere Studio Application Developer, does not include JavaTM SDK documentation. Although you can use the SDK documentation in Javadoc form, it's not really practical to do so, because it offers no search functionality and requires constant switching between browser and Workbench. However, since WebSphere Studio is built on top of the extendable, open-source Eclipse project, it is possible to integrate external documentation into the WebSphere Studio help system. This article contains an illustration of such integration, showing step-by-step how to prepare and install Java 2 SDK documentation.

The technique described below can be used to integrate any kind of user documentation that you might need during the development process, such as coding guidelines or architectural templates. By providing you with customized, searchable documentation, this kind of integration can help facilitate and standardize the development process. A downloadable plug-in is provided below as a sample of using Javadoc inside of WebSphere Studio. A second download file contains a utility for generating a navigation tree of help topics from Javadoc.


Integration procedure

To integrate Javadoc SDK documentation into WebSphere Studio, follow the steps below.

1. Prepare the documentation .zip file:

Create a .zip file called doc.zip containing all the Javadoc-output HTML files (the filename doc.zip is mandatory). You can add multiple Javadoc documentation sets to one .zip file, if needed. The sample doc.zip in the download file contains Java 2 SDK documentation and has the structure shown in Figure 1 below. Separate folders are used for Java 2 SDK EE and Java 2 SDK SE documentation.


Figure 1. Structure of doc.zip file
Structure of doc.zip file

2. Create a plugin.xml file to serve as an entry point to your help plug-in:

<?xml version="1.0" encoding="UTF-8"?>
<!-- ================================================= -->
<!-- This is the plugin for declaring the help -->
<!-- contributions of a Java 2 SDK. -->
<!-- ================================================= -->
<plugin
  name = " Java2_1.3 Help "
  id = "org.java2_1.3.doc"
  version = "1.0"
  provider-name = "Help Sample">
<!-- ================================================= -->
<!-- Define help solution and its views -->
<!-- ================================================= -->
<extension point="org.eclipse.help.contributions">
  <infoset name="infoset.xml"/>
</extension>
<!-- ================================================= -->
<!-- Define and Wire in content for contents view -->
<!-- ================================================= -->
<extension point="org.eclipse.help.contributions">
  <topics name="Java2EE_topics.xml" />
  <topics name="Java2SE_topics.xml" />
  <actions name="actions_All.xml" />
</extension>
</plugin>			

3. Create an infoset.xml file containing the description of the help solution:

<?xml version="1.0" encoding="UTF-8"?>
<!-- Defines the help web for a "solution" plugin. -->
<!-- A "solution" plugin from the perspective of the Help System 
-->
<!-- is a pluging that defines an infoset. -->
<infoset id="JDKinfoset" label="JAVA 2 Platform Documentation">
  <infoview id="view_Contents" label="Contents"/>
</infoset>

4. Create Java2EE_topics.xml and Java2SE_topics.xml files to contain the content description. Small parts of these two files are shown below -- complete versions of these files are provided in the download file.

<?xml version="1.0" encoding="UTF-8"?>
<!-- ================================================= -->
<!-- Define topics for the references -->
<!-- Topics for JAVA 2 EE documentation -->
<!-- ================================================= -->
<topics id="Java2EE_topics">
<topic id="Java2EE_root" label="Java 2 SDK, EE Documentation" 
  href="Java2EE/index.html" >
<topic label="JavaEE Documentation" 
  href="Java2EE/api/overview-summary.html">
  <topic label="javax.activation"
    href="Java2EE/api/javax/activation/package-summary.html"/>
  <topic label="javax.ejb"
    href="Java2EE/api/javax/ejb/package-summary.html"/>
  <topic label="javax.ejb.spi"
    href="Java2EE/api/javax/ejb/spi/package-summary.html"/>
  <topic label="javax.jms"
    href="Java2EE/api/javax/jms/package-summary.html"/>
</topic>
</topic>
</topics>
<?xml version="1.0" encoding="UTF-8"?>
<!-- ================================================= -->
<!-- Define topics for the references -->
<!-- Topics for JAVA 2 SE documentation -->
<!-- ================================================= -->
<topics id="Java2SE_topics">
<topic id="Java2SE_root" label=" Java 2 SDK, SE Documentation"
  href="Java2SE/index.html" >
<topic label="JavaSE Documentation" 
  href="Java2SE/api/overview-summary.html">
  <topic label="java.io"
    href="Java2SE/api/java/io/package-summary.html"/>
  <topic label="java.lang"
    href="Java2SE/api/java/lang/package-summary.html"/>
  <topic label="java.lang.ref"
    href="Java2SE/api/java/lang/ref/package-summary.html"/>
  <topic label="java.lang.reflect"
    href="Java2SE/api/java/lang/reflect/package-summary.html"/>
</topic>
</topic>
</topics>
			

5. Create an actions_All.xml file to connect help content to the top-level topics:

<?xml version="1.0" encoding="UTF-8"?>
<!-- ======================================================= -->
<!-- Add topics to the top level topics of the contents view -->
<!-- ======================================================= -->
<actions infoview="org.java2_1.3.doc.view_Contents">
  <insert
    from="org.java2_1.3.doc.Java2EE_root"
    to="org.java2_1.3.doc.view_Contents"
    as="child"/>
  <insert
    from="org.java2_1.3.doc.Java2SE_root"
    to="org.java2_1.3.doc.view_Contents"
    as="child"/>
</actions>

6. Place everything in the folder WS_InstallDir/plugins/org.java2_1.3.doc . The folder should contain these files:

doc.zip
plugin.xml
infoset.xml
java2EE_doc.xml
java2SE_doc.xml
actions_All.xml

At this point, you should be able to test your work by starting or restarting WebSphere Studio and looking at the Help Perspective. You should see your work by selecting the Java 2 Platform Documentation infoset in the Help Perspective (see Figure 4 below).

Because WebSphere Studio caches the current help configuration and does not always check for new versions of help, you may need to delete this cache before starting WebSphere Studio. To make sure your help changes will be activated, always delete the WS_InstallDir/workspace/.metadata/.plugins/org.eclipse.help.ui directory after making changes to the help configuration or help navigation files (see Figure 2 below).


Figure 2. Deleting the help configuration cache
Deleting the help configuration cache

Including class description files

The WebSphere Studio search engine indexes only those topics that appear in the navigation tree of the current infoset. The navigation tree we built above contains only the package description files, and therefore the class description files will not be searched. You can add them to the search index by adding them to the navigation tree.

Modify the Java2EE_topics.xml and Java2SE_topics.xml files to add the class description files in the tree. For example, the following code shows the classes in the javax.servlet.http package node:

<topic label="javax.servlet.http" 
  href="Java2EE/api/javax/servlet/http/package-summary.html">
<!-- these entries allow search capabilities in classes descriptions -->
  <topic label="Cookie" 
    href="Java2EE/api/javax/servlet/http/Cookie.html"/>
  <topic label="HttpServlet" 
    href="Java2EE/api/javax/servlet/http/HttpServlet.html"/>
  <topic label="HttpServletRequestWrapper" 
    href="Java2EE/api/javax/servlet/http/HttpServletRequestWrapper.html"/>
  <topic label="HttpServletResponseWrapper" 
    href="Java2EE/api/javax/servlet/http/HttpServletResponseWrapper.html"/>
  <topic label="HttpSessionBindingEvent" 
    href="Java2EE/api/javax/servlet/http/HttpSessionBindingEvent.html"/>
  <topic label="HttpSessionEvent" 
    href="Java2EE/api/javax/servlet/http/HttpSessionEvent.html"/>
  <topic label="HttpUtils" 
    href="Java2EE/api/javax/servlet/http/HttpUtils.html"/>
</topic>
			


Figure 3. Classes description in the Help Perspective
Classes description in the Help Perspective

The class description files are now added to the navigation tree, and Search will search them.


Generating a content description

The second download file below contains the GetTopics utility. You can use this program to generate a navigation tree from the doc.zip file. In our sample, this utility produces Java2EE_topics.xml and Java2SE_topics.xml . You can use this utility to work with any documentation produced by the Javadoc documentation tool. The utility will produce complete navigation trees, including packages and classes.


Installing and verifying the Java documentation plug-in

To install the provided plug-in, follow these steps:

  1. Download javaDocPlugIn.zip below .
  2. Extract this file into the WS_InstallDir/plugins folder.
  3. Verify that a new WS_InstallDir/plugins/org.java2_1.3.doc folder has been created.
  4. Restart WebSphere Studio.
  5. Go to the Help Perspective.
  6. You should be able to select the Java 2 Platform Documentation information set from the drop-down list in the top left corner (see Figure 4 below).

Figure 4. Selecting Java documentation in Help Perspective
Selecting Java documentation in Help Perspective

Related information

You can learn more about help in WebSphere Studio looking at the sample that is provided but not activated: WS_InstallDir/plugins/org.eclipse.help.examples.ex1 .

For descriptions of help plug-ins, see WS_InstallDir /plugins/org.eclipse.help/doc.

Also, read the article Help - Part 1: Contributing a Little Help from eclipse.org.



Downloads

NameSizeDownload method
javaDocPlugIn.zip24 MBFTP|HTTP
GetTopics.zip3 MBFTP|HTTP

Information about download methods


About the authors

Photo: Neven Burazor

Neven Burazor is a IT-Architect at the IBM Business Innovation Services in Vienna. He holds BCS degree in Computer Science on Electro technical Faculty of Zagreb, with a focus on operating Systems and Networking. Prior to joining IBM in 1996 he worked on many customer banking applications using structural programming languages on a different systems like OS/390, DOS and OS/2 platforms. From 1999 he changed to web development area, and at present, he is performing technical project management role in customer projects, skill transfer, architecture's advises, development, troubleshooting, and performance tuning services to IBM customers. Neven can be reached at nburazor@at.ibm.com.

Photo: Neven Burazor

Michail Matjuchin is a software developer at the IBM Business Innovation Services in Vienna. He holds M.D. in Computer and Information Science, with a focus on optimization theory. Previously, prior to joining IBM in 1996 he has worked on different customer applications using C++ on Windows platforms. At present, his areas of expertise include design and development of applications using J2EE technologies. He provides skill transfer, architecture€™s advises, development, troubleshooting, and performance tuning services to IBM customers. Michail can be reached at michail_matjuchin@at.ibm.com.

Comments (Undergoing maintenance)



Trademarks  |  My developerWorks terms and conditions

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=WebSphere
ArticleID=14290
ArticleTitle=Integrating User Documentation into WebSphere Studio Online Help
publish-date=03042002
author1-email=nburazor@at.ibm.com
author1-email-cc=
author2-email=michail_matjuchin@at.ibm.com
author2-email-cc=

My developerWorks community

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere).

My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Rate a product. Write a review.

Special offers