Utility Tools

CHAPTER 1

Development Environment

This chapter introduces the utility tools and other basic facilities of the Novell exteNd Director development environment. You'll learn about the supporting features provided to assist you and your application development work in the higher-level exteNd Director tools. Topics include:

For more information    For more information about performing basic project-level operations (such as creating a generic project, adding files to a project, building a project, and creating an archive) see Projects and Archives.

 
Top of page

About the utility tools

At its lowest level, the exteNd Director development environment is a file-system based toolset that includes these utility tools and facilities:

 
Top of page

Basic panes

The exteNd Director development environment includes three resizable panes:

devenvUI

You can use the one-touch splitters to collapse or restore panes with a single click.

 
Top of section

Navigation Pane

The Navigation Pane lets you access various aspects of projects and registries. It displays the following tabs:

The Structure tab appears only when a Java source file is open. When either the Project or Directory tab is selected, the Navigation Pane consists of two subpanes: the top one shows the directories and the bottom one lists the files in any directory that you select.

Using the Navigation Pane

Here's how to use the Navigation Pane:

To do this

Use this

Details

Open files

Double-click

After you select a directory in the upper subpane, the lower subpane lists the files in the Directory and Project tabs

Manipulate projects, files, and directories in the Navigation Pane

Right-click

For example, depending on what you have selected, you can open files, compile files, add files to a project, remove files from a project, and so on

Switch between open files

Tabs in Edit Pane

Click the tab for the file you want to make active

Navigate to the next and previous open document

Window menu

Use the Window menu to navigate between the Next (Ctrl+F6) and Previous (Ctrl+Shift+F6) open document

Switch between source and archive views

Project tab

You can compare how directories and files are structured in the sources and in the generated archive

For more information    For details, see Viewing projects.

For a Java source file, view and navigate the structure and see type and visibility of its members

Structure tab

Click the Structure tab after you open a Java source file in the Edit Pane. Use the drop down menu near the top to sort the classes, methods, and fields of the file in several ways. Double-click a class member to position the cursor in the Edit Pane to the source code for that member.

Displaying additional information

You can see a file's complete name and path by positioning the mouse pointer over it in the lower subpane of the Directory or Project tab. This is particularly useful in the archive layout or archive contents view of the Project tab for comparing a file as it conceptually exists in the archive (such as WEB-INF/web.xml) to its file system name (such as C:\dev\proj4\web.xml).

In the Structure tab, pointing at a class member shows its signature.

Structure tab icons

In the Structure tab, each item is identified with a double icon. The left icon indicates the visibility of the item. The right indicates its type. The table below defines the icons:

Icon category

Icon

Description

Visibility

sp-icon-lock

(Lock)

Protected

sp-icon-package

(Blue cube)

Package protected

sp-icon-key

(Key)

Private

No icon

Public

Type

sp-icon-class

(Document)

Class

sp-icon-cube

(Gray cube)

Field

sp-icon-constructor

(Plus symbol)

Constructor

sp-icon-function

(Function symbol)

Method or function

 
Top of section

Edit Pane

The Edit Pane is the file editor work area. It displays the contents of any file you have open. You can use View menu items to hide the Output and Navigation Panes to gain additional work area.

 
Top of section

Output Pane

The Output Pane provides several informational tabs that you can access:

Other types of messages and indicators display in the status bar, which is located below the Output Pane.

 
Top of page

Basic operations

This section tells you about:

 
Top of section

Starting the development environment

This section describes how to start and exit the exteNd Director development environment.

Procedure To start the development environment:

Procedure To exit the development environment:

 
Top of section

Using proxy servers

If you are using a proxy server, you need to specify the proxy host and its port in xd.conf (in the Novell exteNdTM tools\bin directory). Uncomment the following lines and specify your site's values.

  vmarg -DsocksProxyHost=proxy-host
  vmarg -DsocksProxyPort=proxy-port-number
  vmarg -Dhttp.proxyHost=proxy-host
  vmarg -Dhttp.proxyPort=proxy-port-number

If there are hosts that don't require a proxy, you can specify them (separated by |) with this property:

  vmarg -Dhttp.nonProxyHosts=host1|host2...

 
Top of section

Opening, saving, and closing projects and files

This section describes how to work with project files and source files in the exteNd Director development environment:

For more information    For details about working with projects, see Projects and Archives.

Working with project files

To work on an existing project, open its project file. exteNd Director project files have the extension .SPF.

Procedure To open a project file:

  1. Choose File>Open Project. A file selection dialog appears.

  2. Navigate to the project's SPF file.

  3. Select the SPF file and click Open (or double-click the SPF file). exteNd Director displays the project in the Project tab of the Navigation Pane.

    You cannot have multiple projects open (though you can work with multiple subprojects of an open project). If you have a project open and then you open another (unrelated) project, exteNd Director closes the original project and any associated files before opening the second project.

Alternatively, you can:

  1. Navigate to the project file in the Directory tab of the Navigation Pane.

  2. Double-click the file (or right-click it and choose Open from the popup menu that appears).

If you have opened the project file recently, you can also select it from the list under File>Recent Files.

Procedure To save a project file:

No action is needed on your part to save a project. Whenever you modify the project contents or settings (for example, by adding a directory to the project), the project file is saved automatically.

The project file must be writable before you can make changes to the project in the exteNd Director development environment. Typically, this means that you must check out the project file from your version control system.

Procedure To close a project file:

Working with source files

This section describes how to open, save, and close source files—such as Java, JSP, XML, and plain text files.

Procedure To open a source file:

  1. Choose File>Open. A file selection dialog appears.

  2. Navigate to the source file.

  3. Select the file and click Open (or double-click the file). exteNd Director displays the file in the Edit Pane using the appropriate source file editor (Java, JSP, XML, Text, etc.).

Alternatively, you can:

  1. Navigate to the file in the Directory tab of the Navigation Pane. If you have a project open and the file is included in that project, you can find it in the Project tab as well.

  2. Double-click the file (or right-click it and choose Open from the popup menu that appears).

If you have opened the file recently, you can also select it from the list under File>Recent Files.

Working with open files   One file is active at a time. By default, there is a tab for each open file in the Edit Pane. Simply click a tab to make that file active. (You can customize and turn off the display of tabs. See Display preferences.)

You can also make an open file the active file by using Window>More Windows to select it from the list of open documents.

Procedure To save a source file:

File>Save As enables you to save the contents of the currently open file to another file.

TIP:   You can also save a file by right-clicking its tab in the Edit Pane.

Procedure To close a source file:

If you have made changes to a source file, exteNd Director prompts you to save that file before closing it, closing its parent project, or exiting the development environment.

Performing file system operations

You can delete and rename files from the exteNd Director development environment.

Procedure To delete one or more files:

  1. Go to either the Project or Directory tab in the Navigation Pane and select the directory containing the files.

  2. Select the files to delete. You can select multiple files using Shift+Click and Ctrl+Click.

  3. Right-click and select Delete.

  4. Confirm the deletion.

    The files are deleted from the file system.

    If the files had been individually added to the current project (as opposed to being in the project because they are in a directory included in the project), you are asked whether you want to delete the entries from the project.

  5. Click Yes to have the deleted files removed from the project.

Procedure To rename a file:

  1. Go to either the Project or Directory tab in the Navigation Pane and select the directory containing the file.

  2. Select the file to rename.

  3. Right-click and select Rename.

  4. Specify the new name.

    The file is renamed in the file system.

    NOTE:   If you had multiple files selected, only the first one is renamed.

    If the file had been individually added to the current project (as opposed to being in the project because it is in a directory included in the project), you are asked whether you want the project to use the new file name.

  5. Click Yes to have the project use the new file name.

 
Top of section

Getting product version information

Use the About dialog (Help>About Director) to get version information about the exteNd Director development environment and its tools (editors, wizards, viewers, and so on). This can be useful if you need to check which product components you have installed.

 
Top of page

Basic wizards

To assist your development work on various supporting application files, you can use the basic wizards provided by the exteNd Director development environment:

Use these basic wizards

To do this

XML and CSS wizards

  • Create XML files, XML Schema files, and XML catalog files

    For more information    See XML Editors.

  • Convert DTD files to XML Schema files

    For more information    See XML Editors.

  • Create XSL style sheet files

    For more information    See XSL Editor.

  • Create CSS style sheet files

    For more information    See CSS Editor.

Web Service wizards

  • Generate the Java classes you need to create and access standard Web Services

    For more information    See Web Service Wizard.

  • Create WSDL (Web Services Description Language) documents

    For more information    See WSDL Editor.

Generic J2EE project wizards

Create projects for generic J2EE archives, including:

  • Enterprise archives (EAR)

  • Web archives (WAR)

  • EJB archives (JAR)

  • Application client archives (JAR)

  • Resource adapter archives (RAR)

  • Simple Java archives (JAR)

  • Deploy-only (nonbuildable) archives

For more information    See Creating projects and subprojects.

General J2EE file wizards

Create standard J2EE components, including:

For more information    See Creating source files and J2EE Wizards.

Deployment wizards

Create deployment descriptors and exteNd deployment plans

For more information    See Deployment Descriptor Editor and Deployment Plan Editor.

 
Top of page

Basic editors

When you open a source file in the exteNd Director development environment, the appropriate editor automatically displays in the Edit Pane. Here's a summary of the basic source editors you get:

If you open

The Edit Pane displays

For more information, see

Java file

Java Editor

Source Editors

JSP file

JSP Editor

Source Editors

HTML file

HTML Editor

Source Editors

Text file

Text Editor

Source Editors

XML file

XML Editor

XML Editors

XML Schema file

Schema Editor

XML Editors

XML catalog file

XML Catalog Editor

XML Editors

XSL file

XSL Editor

XSL Editor

CSS file

CSS Editor

CSS Editor

WSDL file

WSDL Editor

WSDL Editor

J2EE deployment descriptor file

Deployment Descriptor Editor

Deployment Descriptor Editor

exteNd deployment plan file

Deployment Plan Editor

Deployment Plan Editor

JAR, J2EE archive, or ZIP file

A read-only listing of the contents

For more information    To learn about the core functionality provided in all exteNd Director editors, see Source Editors.

 
Top of page

Basic viewers

The exteNd Director development environment provides the following tools for viewing (but not editing) some other file types:

 
Top of section

Image Viewer

Opening a GIF, JPG, JPEG, or PNG file displays the Image Viewer in the Edit Pane. You can zoom the image:

If you want to

Do this

Zoom in

Left-click or press +

Zoom out

Ctrl+left-click or press -

Restore the image to its actual size

Shift+left-click or press =

TIP:   If you want these files to open in an external program, specify the file extensions and the program in your preferences. For more information, see File association preferences.

 
Top of section

Class Viewer

If you open a .class file, information about the .class file displays in the Class Viewer (exception: double-clicking a .class file in the Project tab's archive contents view opens the corresponding .java file in the Java Editor). The Class Viewer displays the following information:

 
Top of page

Basic tools for Web Services

The basic Web Service facilities of the exteNd Director development environment include:

For more information    For more information, see Web Service Wizard, WSDL Editor, and Registry Manager.

 
Top of page

Debugging facilities

While working in the exteNd Director development environment, you can troubleshoot J2EE and other Java code by running the debugger of your choice.

Procedure To use a debugger:

You can specify a default debugger command on the General tab of the Preferences dialog.

Procedure To set a preference for your default debugger command:

  1. Select Tools>Preferences.

  2. In the Debugger command setting on the General tab, specify the command to launch your debugger. (For guidelines, see Specifying the debugger command below.)

  3. Click OK.

Specifying the debugger command   Specify the operating system command that exteNd Director should issue when you select Tools>Launch Debugger. See your debugger's documentation for information about how to invoke that debugger from the command line.

You can include environment variables in the command by using the syntax %varname% or ${varname}. exteNd Director substitutes the values of these variables when invoking the command.

In addition to environment variables set at the operating system, you can also use environment variables that are predefined in the exteNd Director development environment:

 
Top of page

Managing toolbars

This section tells you how to control the use of toolbars in the exteNd Director development environment:

 
Top of section

Displaying toolbars

The Main Toolbar (which appears below the menu bar) is the global toolbar for the development environment. Individual tools can have their own toolbars as well (in the Edit Pane). You can choose to show or hide any of these toolbars.

Procedure To show or hide a toolbar:

How tabs display   Toolbars with one tab display as regular toolbars. Toolbars with more than one tab display as tabbed toolbars.

 
Top of section

Configuring toolbars

You can configure any toolbar to control the buttons and tabs it displays.

Procedure To configure a toolbar:

  1. Right-click that toolbar and select Configure.

  2. When the Toolbar Configuration dialog displays, use it to make one or more of these changes:

    If you want to

    Do this

    Add buttons

    1. Browse the categories at the top of the dialog to find a predefined button you want.

    2. If the toolbar has multiple tabs, make the appropriate tab current in the toolbar canvas at the bottom of the dialog.

    3. Drag your button to the toolbar canvas and drop it at the position you want.

      OR

      Select your button and click the Add Button control to place it at the end of the current tab.

    TIP:   The Miscellaneous category includes a separator (vertical bar) that you can insert to visually organize toolbar buttons into groups.

    Move buttons

    Drag and drop a button within the current tab in the toolbar canvas.

    OR

    Select a button in the toolbar canvas and click the Move Button Left or the Move Button Right control.

    Delete buttons

    Drag a button from the toolbar canvas and drop it anywhere outside.

    OR

    Select a button in the toolbar canvas and click the Remove Button control.

    OR

    Right-click a button in the toolbar canvas and select Delete.

    Add tabs

    Click the Add Tab button, then specify the tab name and tool tip text.

    Rename tabs

    1. Make the appropriate tab current in the toolbar canvas.

    2. Click the Modify Tab button, then change the tab name and/or tool tip text.

    Move tabs

    1. Make the appropriate tab current in the toolbar canvas.

    2. Click the Move tab - left button or the Move tab - right button.

    Delete tabs

    1. Make the appropriate tab current in the toolbar canvas.

    2. Click the Delete Tab button.

  3. Click OK.

 
Top of page

Setting preferences

You can configure your exteNd Director development environment by setting:

Procedure To specify preferences:

  1. Select Tools>Preferences.

    The Preferences dialog displays.

  2. Select the tab you want.

  3. Set your preferences. See the following sections for information about specific preferences.

  4. Click OK.

 
Top of section

General preferences

Specify general preferences as follows:

Setting

Description

Number of recent files

Specifies how many recently open files appear in the File menu. Default is 10.

Number of recent projects

Specifies how many recently open projects appear in the File menu. Default is 5.

Reload open projects

When starting, automatically reloads the projects that were open when you last exited the exteNd Director development environment. Default is No.

Reload open files

When starting, automatically reloads the files that were open when you last exited the exteNd Director development environment. Default is No.

Enable Todo

Specifies whether the Todo feature is enabled. When selected, exteNd Director displays a Todo tab in the Output Pane where you can maintain a Todo list of tasks.

For more information    For more information, see Maintaining Todo lists.

Web browser

Specifies the Web browser to use when displaying exteNd product help. Choose a browser by typing the path or clicking the button.

Debugger command

Specifies the command that exteNd Director invokes when you select Tools>Launch Debugger to run a debugger of your choice. See Debugging facilities.

Help documentation location

Specifies where the development environment will look for exteNd product help when you request it. This can be either a path (typically on your local disk) or an URL (typically on the Novell exteNd documentation Web site). The installation program populates this setting with a default path or URL (depending on whether you choose to install the help locally).

Reset "Don't show me this message again" dialogs

Pressing the Reset button causes all dialogs that have a "Don't show me this message again" checkbox to resume displaying.

 
Top of section

Build preferences

Specify build preferences as follows:

Setting

Description

Always save modified files before compiling

When set (the default), automatically saves all modified files before compiling, building, or rebuilding. When this property is not set, exteNd Director prompts you about saving unsaved files.

For more information    For more save option preferences, see Backup preferences.

Compiler

Specifies the compiler. Default is Javac 1.3 ("Modern").

If you choose Jikes for this setting, note that the Jikes compiler is not provided when you install the exteNd Director development environment. You must obtain the Jikes compiler yourself and add it to your system PATH.

Generated class version

Specifies which JRE version the compiler is to target. When you compile for 1.4 (the default), your code can include 1.3 or 1.4 classes. When you compile for 1.3, your code can include only 1.3 classes.

Compiler options

Allows you to enable common command-line options for the compiler.

 
Top of section

Display preferences

Specify display preferences as follows:

Setting

Description

Directory tab

Specifies how directories and files appear in the Directory tab. Compact mode shows only the selected directory path and its related source files. Traditional mode (the default) shows all directories.

Project tab

Specifies how directories and files appear in the Project tab. Compact mode shows only the selected directory path and its related source files for the project. Traditional mode (the default) shows all directories.

For icons on navigation panes

Specifies whether you want to show large or small icons, with or without text, in the Navigation Pane.

In edit pane

Specifies the following:

  • Whether the Edit Pane displays tabs for each open file

  • Where the tabs are displayed relative to the editor (top or bottom)

Use native look and feel

Check this setting if you want the GUI characteristics (such as color scheme) of your native operating system to apply in the exteNd Director development environment. By default, the development environment uses its own look and feel. (If you change this setting, you must restart the development environment to see the result.)

 
Top of section

Editing preferences

Specify editing preferences as follows:

Setting

Description

Font size

Sets the screen font size in the Edit Pane. Default is 12. You can also set a print font size from the Printing tab; see Printing preferences.

Spaces per tab character

Sets the number of spaces entered for each tab. Default is 4.

Show line numbers

Sets whether to hide (the default) or show line numbers in the Edit Pane. You can also use Ctrl+L in a source editor to toggle between hiding and showing line numbers for individual files.

Show vertical margin

Displays the margin wrap guide (set at 80 characters) at the right of the pane. Default is on.

Highlight matching parentheses and braces

As you type, highlights text within a matching set of parentheses and braces. Default is on.

Use smart indenting

When you create a new line, sets the indentation level of the new line based on that of the current line. Default is on. (Not supported in the NetBeans-based JSP and HTML editors.)

Use spaces instead of tab characters

Uses spaces when the tab key is pressed. Default is off.

Use chromacoding

Color-codes the text. When deselected, all text is black. Default is on.

Show horizontal scrollbars

Choices are: only as needed (the default) or always.

For more information    For additional text options, see Source Editors.

Abbreviation preferences

You can define abbreviations that can be expanded to one or more lines of text—such as a word that expands to a predefined language construct. Once you have defined an abbreviation, you can type its name in an editor and press Ctrl+U (or right-click and select Text Tools>Complete Abbreviation) to replace the abbreviation with the expanded text.

Use %c in an abbreviation's definition to signify where the insertion point will be positioned when the abbreviation has been expanded.

For example, the abbreviation main is predefined as follows and is meant to be used in Java files:

  public static void main(String args[])
  {
      %c
  }

Procedure To define an abbreviation:

  1. Select Tools>Preferences, click the Editing tab, and expand the Abbreviations section.

  2. Click Add.

  3. Type the abbreviation (shortcut) in the Abbreviation text box and click OK.

    Abbreviations must be single words and are case-sensitive.

  4. Click inside the Definition text box and type the text you want the abbreviation to expand to.

  5. Click OK.

Procedure To delete an abbreviation:

  1. Select Tools>Preferences, click the Editing tab, and expand the Abbreviations section.

  2. Select the abbreviation in the Abbreviations text box.

  3. Click Delete.

  4. Click OK.

Procedure To edit an abbreviation:

  1. Select Tools>Preferences, click the Editing tab, and expand the Abbreviations section.

  2. Select the abbreviation in the Abbreviations text box.

  3. Click inside the Definition text box and change the abbreviation.

  4. Click OK.

Procedure To use an abbreviation in your source code:

  1. Type the abbreviation shortcut in the editor.

  2. Position the cursor within the shortcut text or highlight it.

  3. Press Ctrl+U (or right-click and select Text Tools>Complete Abbreviation). The shortcut text is replaced with the expanded text defined for that abbreviation.

NOTE:   If the abbreviation text is not defined, the Complete Abbreviation command is ignored.

Backup preferences

You can set preferences that control:

By default, autosave and backup operations are not enabled.

You can set global backup preferences that control how all projects are backed up. However, because your projects may contain files with identical names, you may want to store separate backup and autosave files for each project. To do so, specify a subdirectory relative to the file's source directory for both backup and autosave files. Files that are backed up in parallel backup directories won't be overwritten.

NOTE:   When you specify a relative name for a backup or autosave directory, it will be relative to the source file.

Specify autosave and/or backup preferences as follows:

Setting

Description and parameters

Auto save enabled

While you make changes to a source file in the exteNd Director development environment, periodically save a copy of the file.

Auto save to same directory as source file

(default)

Auto save directory

Specifies another directory to contain saved files

You can enter an absolute path or specify a path that is relative to the source directory

Use Browse to search for a directory on the file system

Auto save extension

Specifies the extension of autosave files (default is .SAV)

Auto save interval (minutes)

Specifies how often you want files saved (default is every five minutes)

Backup enabled

When you save a source file in the exteNd Director development environment, make a backup copy of the previous version of the file.

Backup to same directory as source file

(default)

Backup directory

Specifies another directory to contain backup files

You can enter an absolute path or specify a path that is relative to the source directory

Use Browse to search for a directory on the file system

Backup extension

Specifies the extension of backup files (default is .BAK)

Procedure To define how files are autosaved and/or backed up:

  1. Select Tools>Preferences, click the Editing tab, and expand the Backup section.

  2. Choose Auto save enabled and/or Backup enabled.

  3. Specify autosave and/or backup file parameters as described above.

  4. Click OK.

Editor association preferences

These preferences specify which types of files will be edited using the NetBeans-based editors in the exteNd Director development environment.

For more information    See Adding files types edited by NetBeans-based editors and Using the native Java, JSP, or HTML editor.

Code completion preferences

For more information    See Creating parser database files.

XML color preferences

You can specify the colors used in the XML Editor's source view to display different types of information in XML documents, such as tags, arguments, values, text, errors, and white space (listed in the dialog as ws).

For each type of information, you can specify a foreground and a background color. You can pick from a list of colors or define your own by clicking the ellipsis button. You can also specify whether to use a bold font.

Procedure To specify colors used in the XML Editor:

  1. Select Tools>Preferences, click the Editing tab, and expand the XML colors section.

  2. Select the type of information whose color you want to specify, then specify a foreground and/or a background color and specify whether you want to use a bold font.

 
Top of section

File association preferences

exteNd Director lets you use third-party tools to edit specific file types. You can set preferences that let you launch files in an external editor rather than opening them in the exteNd Director development environment. Use the File Associations tab to associate file extensions with external editors. For each file type, you can choose whether to open the file in:

Procedure To define how a file type is launched:

  1. Select Tools>Preferences and click the File Associations tab.

  2. Click Add.

  3. Type the file extension in the dialog and click OK.

  4. Specify one of the following preferences for the file type:

    Setting

    Description

    Open in Director

    (The default) Opens files using the exteNd Director source editor.

    Open using the default Windows program

    (Windows only) Opens files using the Windows default editor for that file type (same as double-clicking a file in Windows Explorer—for example, using Notepad to open files with the .TXT extension).

    Open using this application

    Opens files with the application you specify. You can type the path to the application, or click Browse and navigate to the application.

    NOTE:   Because some editors launch a new program instance each time you open a file, this setting is not always recommended.

  5. Click OK.

CAUTION:    Consider the following when associating an external editor with the XML file extension: if you use an external editor to edit exteNd deployment plans, you will not be able to take advantage of the default setup that the exteNd Director editor provides and your project will not be associated with a deployment plan.

 
Top of section

Printing preferences

Specify printing preferences as follows:

Setting

Description

Printing mode

Sets mode to monochrome (the default) or color. For color printers, use color mode.

Font size

Sets print font size (default is 10). You can also set a screen font size in the Editing tab; see Editing preferences.

Print line numbers

Sets whether or not to print line numbers. Default is not to print numbers.

 
Top of section

Deployment preferences

Deployment preferences are used by the Deployment Descriptor Editor and the Deployment Plan Editor. When you open either of these editors, exteNd Director loads all of the project's classes (including subproject classes). The editor then uses information from the classes to populate the dialogs that display lists of classes, methods, member variables, and so on. If the classes are not up to date, the information the editors display can be incorrect or missing.

You can control whether exteNd Director automatically builds a project when you access the Deployment Descriptor Editor or Deployment Plan Editor. You can specify one of the following build settings:

Setting

Description

Always automatically build my project

Builds the project automatically when the Deployment Descriptor Editor or Deployment Plan Editor is opened.

This setting ensures that the editors always have access to all of the latest classes.

Never automatically build my project

None of the project's files are built when the Deployment Descriptor Editor or Deployment Plan Editor is opened. You must build the projects and subprojects manually.

Use this setting when you don't need anything to be built (such as when you are editing in XML mode). In this case you can edit the XML files, but the list of project classes in the editor may be blank or out of date.

Prompt me to build my project

Prompts you to build the project each time you open one of the deployment editors.

Use this setting when you want to specify when a project build should occur.

NOTE:   You do not need to create the archives in order for the deployment editors to load class information, because the editors load the classes directly from the file system, not from the archives.

You can also specify the following deployment preference:

Setting

Description

Default server versions

Specifies the server version initially selected when you create a new exteNd Application Server deployment plan. You can specify a server version for J2EE 1.2 projects and a server version for J2EE 1.3 projects.

For more information    For more information, see Deployment Plan Editor.

 
Top of section

Version control preferences

For more information    See Using version control.

 
Top of page

Setting up profiles

You can define the following types of profiles for use in the exteNd Director development environment:

 
Top of section

Server profile

A server profile stores information about a J2EE server, including the server's host name and port. When selected at deployment time, the server profile tells exteNd Director which server to deploy to and provides the information required for deployment to that server. A server profile applies to a specific server. If you are deploying to multiple servers, you need to set up a separate profile for each.

Your server's configuration determines how to specify the server profile information. For example, if your server uses security certificates you will specify the https protocol. The server configuration may also affect how you specify the server name, server port number, database name, and so on.

For more information    For information about configuring a particular J2EE server, see the product documentation for that server.

Procedure To create a server profile:

  1. Select Tools>Profiles.

  2. On the Servers tab of the Profiles dialog, click New.

  3. Specify settings in the Create a New Server Profile dialog as follows:

    Setting

    Description

    Profile name

    Enter a meaningful name to identify the profile. The name cannot contain the period (.) character.

    TIP:   Define a naming scheme based on your own development environment. For example, you might want to include project names, server names, server types, database types, and so on.

    Server type

    Select a server type from the list.

    Server types are organized by brand and version number. The version number indicates the lowest version supported by a given server type. A server type is often valid for multiple subsequent versions as well.

    As a rule, you should select the server type for your brand that is closest to the target server's version, without being higher.

    Deployment tools directory

    Specify the directory that contains the server's deployment tools—typically, a path such as:

      C:\Program Files\Novell\exteNdn\AppServer\bin
    

    or:

      C:\bea\wlserver6.1spn\bin
    

    If the server is located on another machine, you need either network access for running the tools or a copy of the tools in a local directory. For some servers, exteNd Director doesn't support remote deployment.

    Rapid deployment directory

    For rapid deployment only.

    Enter the directory where you want exteNd Director to write the files for rapid deployment. Some servers require that files be written to a specific directory for rapid deploys. Make sure you specify the appropriate location for your server's configuration. See Setting rapid deployment directories for the directory listings.

    TIP:   Rapid deployment handles J2EE code, such as JSP pages and servlets. To quickly deploy resources such as components, images, and rules, use the exteNd Director Hot Deploy feature, described in Dynamic loading of resources and classes.

    For more information    For more information on rapid deployment, see Rapid deployment.

    Server name

    Set the server name using the following formats. For servers running http:

      servername
      http://servername[:port]
    

    For servers running https:

      https://servername[:port]
    

    Specify the port number if the server is not listening on the default port.

    Database name

    For exteNd application servers only.

    Specify the name of the database on the server where you want to deploy the archive. Typically you will deploy the archive to the SilverMaster database, so that the URL for the application won't need to include the database name.

    NOTE:   You do not have to deploy the archive to the database you created for exteNd Director application data (described in the section on deploying an exteNd Director project in Developing exteNd Director Applications).

    Target servers

    For BEA WebLogic servers only.

    Enter the names of the target servers.

  4. Click OK to close the Create a New Server Profile dialog.

  5. Click OK to close the Profiles dialog.

Setting rapid deployment directories   This table shows the rapid deployment directory you should specify in the Server Profile dialog:

Server

Rapid deployment directory

Novell exteNd Application Server

SilverStream® eXtend Application Server

%INSTALL_DIR%\webapps

Apache Tomcat

%INSTALL_DIR%\webapps

BEA WebLogic

%INSTALL_DIR%\config\targetname\applications

Connecting to secure servers   The exteNd Director development environment connects to the target J2EE server at deployment time using the server profile. If the server profile indicates a secure server, exteNd Director will make the SSL connection automatically. It uses the set of commercial Certificate Authority certificates listed in agrootca.jar (located in the Novell exteNd Common\lib directory). If the server you're trying to deploy to uses a certificate issued by a CA certificate not listed in agrootca.jar, exteNd Director will not successfully connect to the server. You can add the CA certificate to agroootca.jar using any tool that allows you to modify the contents of a JAR file (for example, Sun's JAR utility or WinZip).

 
Top of section

Database profile

You'll need to set up a database profile to use tools that require database access in the exteNd Director development environment. For example:

In this tool

You need a database profile

EJB Wizard

When creating entity beans based on a database table

Deployment Plan Editor

When mapping the persistent fields of a container-managed entity bean to fields in a datasource

The database profile provides JDBC information that enables exteNd Director to connect to the datasource and retrieve table and field information. You can create multiple profiles to support different databases and JDBC drivers.

Procedure To create a database profile:

  1. Select Tools>Profiles.

  2. On the Databases tab of the Profiles dialog, click New.

    Specify settings in the Create a New Database Profile dialog as follows:

    Setting

    Description

    Profile name

    Enter any name to identify the profile.

    JDBC Driver

    Enter the class name of the JDBC driver. You can specify any JDBC 2.0-compliant driver.

    To use the MySQL Connector/J driver (included with the exteNd Director development environment), specify:

      com.mysql.jdbc.Driver
    

    To use the Sun JDBC-ODBC bridge driver (in the JRE included with the exteNd Director development environment), specify:

      sun.jdbc.odbc.JdbcOdbcDriver
    

    If you specify any other JDBC driver, make sure that driver class can be loaded by the exteNd Director development environment; see To make the driver class available: below. (For the MySQL Connector/J driver and the Sun JDBC-ODBC bridge driver, the classes are set up automatically.)

    JDBC URL

    Enter an URL that specifies the database you want. For example:

      jdbc:mysql://localhost:63306/SalesDB?profileSql=false&maxRows=0
    

    or:

      jdbc:odbc:TestDB
    

    NOTE:   The text you enter after the first colon is driver specific.

    Connection Catalog

    (Optional) Specify which SQL catalog (subset) of the database to connect to. For example:

      PayrollDB
    

    If your database driver does not support catalogs, it will ignore this request.

    If supported, the connection catalog lets you set up which database tables are retrieved. Connection catalogs are useful when you are connecting to a very large database or only want to connect to a subset of database tables (for example, to exclude production database access).

    Datasource Name

    Specify the name of the datasource to associate with this database profile. You can enter either the datasource name, such as:

      SilverBooks
    

    or the full JNDI specification, such as:

      java:pm/JDBC/SilverBooks
    

  3. Click Test to check the connection to the database specified by the JDBC URL.

    This test makes a JDBC connection to the database. The test will fail when a connection is not available or a setting is not correctly specified.

  4. In the test dialog, enter your database user name and password, then click OK to verify access.

  5. Click OK to close the Create a New Database Profile dialog.

  6. Click OK to close the Profiles dialog.

Procedure To make the driver class available:

  1. Obtain the JAR or other archive file that contains the JDBC driver.

  2. Do one of the following:

  3. Start the exteNd Director development environment.

 
Top of section

Registry profile

The exteNd Director development environment provides a facility to define profiles for Web Service registries. These profiles supply the information that allows you to search registries and publish Web Services.

For more information    For more information on registry profiles, see Defining registry profiles.

 
Top of page

Using version control

If you use a version control system, you can set up the exteNd Director development environment to access it. This enables you to perform version control operations on the files in your projects while working in the development environment.

 
Top of section

Setting up access to version control

Before you can perform version control operations in the exteNd Director development environment, you need to adjust preference settings to enable version control and configure support for your version control system.

Procedure To adjust version control settings:

  1. Select Tools>Preferences to display the Preferences dialog, then go to the Version Control tab.

  2. Check the Enable Version Control property.

    This turns on the version control features of the development environment.

  3. Select one of the available Version Control Systems.

    In this property, you're actually choosing a version control system definition that tells the development environment which version control commands to support. exteNd Director comes with definitions for several popular version control systems (ClearCase, CS-RCS, CVS, Visual SourceSafe). If you choose one of these, you can use it as is or edit the commands it defines to suit your needs and system configuration.

    You also have the option of creating version control system definitions yourself. This lets you set up development environment support for just about any version control system you might have.

Working with definitions   The following topics provide more detail about working with version control system definitions:

Editing a version control system definition

A version control system definition specifies a list of version control menu items that the development environment is to display. Each menu item is mapped to a command-line operation of the chosen version control system and also specifies details about how that operation is to be executed. You can edit the list to modify, create, or delete menu items.

Procedure To edit a definition:

  1. From the Version Control tab of the Preferences dialog, select a definition from the Version Control Systems dropdown list.

  2. Click the Setup button.

  3. In the Setup dialog, make your changes to the list of version control menu items:

    If you want to

    Do this

    Change the behavior of a menu item

    Select that item from the Version Control Command listbox, then edit its Command properties.

    Change the name of a selected menu item

    Click the Edit button. The name can include letters, numbers, spaces, and special characters.

    You can also edit the mnemonic character to be used for keyboard access to the menu item (when pressed in combination with the Alt key).

    Create a new menu item

    Click the Add button, then specify the item's name and mnemonic character. Your new item will be added to the end of the list.

    Delete a selected menu item

    Click the Remove button.

    Switch the order of menu items

    Select an item you want to reposition, then use the arrow buttons to move it up or down in the list.

Command properties   The following table describes the command-related properties you can specify in the Setup dialog for version control menu items:

Property

Description

Command

A command-line operation of your version control system that the menu item is to execute.

You can include environment variables in the command by using the syntax %varname% or ${varname}. exteNd Director substitutes the values of these variables when the command executes. If the value of a variable can't be determined, an empty string is substituted.

Predefined environment variables are available via the expand button next to the Command property. You can select a variable to insert it at the current cursor position.

Reload when done

Tells exteNd Director to try reloading the target file after the command executes. This is useful for commands that might modify the file (such as check in, check out, or get).

Wait for execution

Tells exteNd Director to wait until the command finishes executing before returning control to the user. Not waiting for execution can be appropriate for commands such as diff or history where there's no effect on the target file.

Execute command in directory of source file

Tells exteNd Director to execute the command relative to the directory of the target file. If you don't check this property, the command executes in the current directory.

Predefined environment variables   The following table describes the predefined environment variables you can include in the command you specify for a version control menu item:

Variable

Description

%_PATH%

Full path and name of the target file. For example:

  x:/com/myco/myfile.java

%_DIR%

Directory of the target file. For example:

  x:/com/myco

%_NAME%

Name of the target file (without directory). For example:

  myfile.java

%_BNAME%

Base name of the target file (without directory and extension). For example:

  myfile

%_EXT%

Extension of the target file. For example:

  java

%_PROMPT prompt-text%

Prompts the user for a value by displaying a dialog. The dialog includes any prompt-text you specify.

The value of this variable is whatever the user types in the dialog input field. If the user clicks the dialog's Cancel button, the entire command is canceled.

%_COMMENT%

Prompts the user for a comment.

The comment is saved to a temporary file. The value of this variable is the name of that temporary file.

Creating a version control system definition

If the exteNd Director development environment doesn't provide a definition for your version control system, you can create one yourself.

Procedure To create a definition:

  1. From the Version Control tab of the Preferences dialog, click the Add button.

  2. When prompted, type a name for your version control system definition.

    The definition name can include letters, numbers, spaces, and certain special characters. The name you specify is added to the Version Control Systems dropdown list.

    exteNd Director also creates an XML file to store your definition. The name of this file matches the definition name you specify (except that spaces are replaced by underscores). exteNd Director saves your definition XML file in the Novell exteNd tools\Resources\version_control_config directory (along with the definition XML files it provides).

  3. When the Setup dialog displays, specify the details of your version control system definition.

    For more information    See Editing a version control system definition.

Distributing a version control system definition

Once you edit or create a version control system definition, you might want to copy it to other computers where the exteNd Director development environment is installed.

Procedure To distribute a definition:

  1. Find the XML file for your version control system definition in the Novell exteNd tools\Resources\version_control_config directory.

  2. Copy that file to the corresponding directory on each target computer.

    When the development environment is run on those computers, the Version Control Systems dropdown list (on the Version Control tab of the Preferences dialog) will automatically include your copied definition.

Deleting a version control system definition

If you don't need a particular version control system definition, you can remove it.

Procedure To delete a definition:

  1. From the Version Control tab of the Preferences dialog, select a definition from the Version Control Systems dropdown list.

  2. Click the Remove button.

    exteNd Director prompts you to confirm, then deletes that definition from the list. The definition's XML file is deleted from the Novell exteNd tools\Resources\version_control_config directory.

 
Top of section

Accessing version control

When you use the exteNd Director development environment with version control access enabled, the commands specified by the active version control system definition are available via a popup menu. You just need to right-click one of the following:

BasicsVersionControl

When you execute a version control command, resulting text messages display on the Version Control tab of the Output Pane.

 
Top of page

Maintaining Todo lists

The exteNd Director development environment enables you to maintain a Todo list that organizes and tracks your application development tasks. You maintain your Todo list in the Todo tab of the Output Pane.

ToDo1

You can:

In addition, various wizards and tools generate items in your Todo list to point you to areas where work needs to be done and to describe the nature of that work.

 
Top of section

Working in the Todo tab

When you first click the Todo tab, the Todo list is empty (unless you have run a tool or wizard that populates the list; see Working with generated items).

Creating items   The first thing you'll do is add one or more items, which can be tasks or folders.

Procedure To add an item:

  1. Select the item following which you want to add an item, and either press Ins or right-click and select Add Item.

    TIP:   You can also use Edit>Add Todo Item to insert an item at the end of the list, or press Shift+Ins to add the item as a child of the selected item.

    The Add Todo Item dialog displays.

  2. Enter the following information:

    Property

    Description

    Description

    Text to display for the item in the Todo list.

    Note

    (Optional) Additional information about the item. This text displays as part of the item's tool tip when the mouse pointer is over the item.

    Add to open project

    If you want to associate this item with an open project, select the project from the list.

    If you select a project, the Todo item is added to the end of the list in the project's folder (the folder is created if necessary). A project's Todo folder is a top-level folder named:

      projectFile in pathToProject
    

    For example, if a project file is in c:\myProjects\myEAR\MyEAR.spf, the project folder will be named:

      MyEAR.spf in c:/myProjects/myEAR
    

  3. Click OK.

    The item is created. If you associated the item with a project, it is created as the last item in that project's list.

    If you did not associate the item with a project, it is created as a sibling following the selected item (unless no item was selected when you added the item, in which case the item is added as the first item in the list, or unless you added the item with Shift+Ins, in which case the new item is a child of the selected item).

New items appear with the description you entered, along with a checkbox. The checkbox indicates the completion status of the item (see the next section).

Editing items   You indicate an item's completion status, as well as revise its description and note, by editing the item.

Procedure To edit an item:

  1. Select the item.

  2. Right-click and select Edit Item.

    The Edit Todo Item dialog displays.

  3. Update the information as appropriate. To indicate completion status, select a value from the Percent done listbox or type a value.

  4. Click OK.

An empty checkbox indicates that the task has not begun. A light check indicates partial completion. A dark check indicates completion.

ToDo2

TIP:   You can toggle an item's completion status between 0 and 100 percent by selecting the item, right- clicking, and selecting Toggle Item(s) Done. If the completion status was zero, it is set to 100; if it was non-zero, it is set to zero. You can also do this simply by clicking the item's checkbox.

Tool tips   When you position the mouse pointer over an item, the item's tool tip displays as:

  percent done; Notes: noteText

Creating a hierarchy   Todo lists can be hierarchical—items can contain other items. For example, you can create a folder of related tasks.

Procedure To create a hierarchy:

Similarly, to outdent one or more items, select them and press < or right-click and select Outdent. If an item no longer has children, it is no longer displayed as a folder.

Moving items   You can move an item around with drag and drop: press and hold the mouse button on an item and move the item within the list. A horizontal line indicates where the item will be moved to. Release the mouse button to move the item. Moving a folder moves all of its contents as well.

You can move an item anywhere in the list.

TIP:   You can drag more than one item at a time—as long as you drag as soon as you have selected the last of the multiple entries. (If you click after selecting the last entry, it reverts to a single selection.)

Deleting items   You can delete one or more items at a time.

Procedure To delete items:

  1. Select the items you want to delete. You can select a folder to delete it and all its contents. You can select multiple items anywhere in the list using Shift+Click and Ctrl+Click.

  2. Press Del or right-click and select Delete item(s).

    You are asked to confirm your deletion.

  3. Click Yes to delete the items.

Using keyboard shortcuts   The following keyboard shortcuts are supported in the Todo tab:

Key(s)

Description

Up Arrow

Move up one item

Down Arrow

Move down one item

Home

Move to first item in list

End

Move to last displayed item in list

Right Arrow

Expand item if on a collapsed folder; otherwise move to next item

Left Arrow

Collapse item if on an expanded folder; otherwise move to parent

Enter

Toggle the expand/collapse state for item

+

Expand all items

-

Collapse all items

Ctrl+A

Select all items

Ctrl+/

Select all items

Ctrl+\

Deselect all items

Shift+Up Arrow

Extend selection up

Shift+Down Arrow

Extend selection down

Shift+Home

Extend selection to start of list

Shift+End

Extend selection to end of list

Ctrl+Up Arrow

Move focus up one item without changing selection status of items

Ctrl+Down Arrow

Move focus down one item without changing selection status of items

Ctrl+Space

Toggle selection status of item

Shift+Space

Select range of items from currently selected item(s) to item having focus

>

Indent selected items

<

Outdent selected items

Ins

Add item as sibling

Shift+Ins

Add item as child

Del

Delete selected items

Disabling the Todo feature   If you don't want to use the Todo feature, you can disable it by deselecting Enable Todo in General Preferences (Tools>Preferences). With Todo disabled, the Todo tab does not display and the Edit>Add Todo Item menu item is disabled.

NOTE:   Even after disabling the Todo feature, your Todo list remains intact and will be displayed when you later reenable Todo.

 
Top of section

Working with generated items

Various wizards and tools in the exteNd Director development environment generate Todo items and add them to the corresponding project folder in your Todo list (remember that the Todo folder for a project is a top-level folder named projectFile in pathToProject). For example, the Servlet Wizard adds items about processing the servlet's GET and POST requests and implementing any interface stub methods.

@todo comments   In addition to populating the Todo list with items, the wizards include @todo javadoc-style comments in the generated source files. These comments are of a finer granularity than the items generated in the Todo list. The Todo list would be too cluttered if all the @todo comments appeared in the list, but the @todo comments can be helpful to you in your detailed work.

Actions in generated items   Generated items are just like the items you create in the Todo tab, with one exception:

A generated item might have an action associated with it. If a generated item has an action associated with it, you can invoke the action by doing either of the following:

NOTE:   If an item has no associated action, the first menu item is Launch Action and it is disabled.

Typically, the action is to open an associated file. For example, if you double-click the Todo item generated by the Servlet Wizard about specifying the servlet's GET request, exteNd Director opens the servlet's source file and positions the insertion point appropriately.

 
Top of page

Using Ant

Internally, the exteNd Director development environment uses Apache Ant when you build a project by selecting one of the Build commands on the Project menu (see Compiling, building, and archiving). You don't need to know anything about Ant if you only want to do builds that way. But direct access to Ant is also provided so that you can accomplish the following:

If you want to do either of these tasks, read this section to learn about Ant and how to use it.

 
Top of section

What is Ant?

Apache Ant is a Java-based build tool, much like make but without make's foibles. A couple of key differences between Ant and make are:

Ant is an open-source Apache subproject. To learn more about Ant, including details on defining your own tasks and creating buildfiles, see ant.apache.org.

 
Top of section

Using the exteNd Ant tools

You can use a couple of exteNd tools to invoke Ant from the command line. These Ant-based executables are in the Novell exteNd tools\bin directory:

The difference between the two executables is that xdbuild takes an exteNd Director project file as input, and xdant takes an Ant buildfile. You invoke these tools from the command line.

xdbuild syntax   Here is the command syntax for xdbuild:

  xdbuild projectFile target options

where:

Argument

Description

projectFile

Path to the project (.spf) file. This file specifies, among other things, the name of the Ant buildfile that builds and creates the archive(s) for your project.

target

Specify one of these project buildfile targets:

  • build—Builds and creates the archive(s) for the specified project (equivalent to selecting Project>Build and Archive)

  • rebuild—Rebuilds and creates the archive(s) for the specified project (equivalent to selecting Project>Rebuild All and Archive)

  • clean—Removes all files from the project's build directory and deletes the archive(s) (no equivalent in the development environment)

options

See below for information on the options.

xdant syntax   Here is the command syntax for xdant:

  xdant CustomizedTargets options

where:

Argument

Description

CustomizedTargets

Specify one or more of the targets you have defined in your buildfile.

options

See below for information on the options.

Options   Here are the options you can provide with xdbuild and xdant:

Option

Description

-help

Prints usage information.

-projecthelp

Prints the description of the project (if one exists), followed by the targets defined in the buildfile.

-version

Prints the version of Ant.

-quiet

Be extra quiet.

-verbose

Prints detailed information about the processing.

-debug

Prints debugging information, including a mapping of tasks to Java classes and a listing of properties and their values.

-emacs

(xdant only) Prints logging information without adornments.

-logfile file

Sends output to file instead of to the screen. This option creates file if it doesn't exist and overwrites file if it does exist.

-logger class

Specifies the class to do the logging. The default logger is org.apache.tools.ant.DefaultLogger. You can also specify another built-in logging class (look in ant.jar in the Novell exteNd Common\lib directory for provided classes) or specify a logging class you wrote yourself.

For more information    See the Ant documentation at ant.apache.org for details.

-listener class

Adds class as a listener. A listener is notified when one of the following events occur:

  • A build is started

  • A build is finished

  • A target is started

  • A target is finished

  • A task is started

  • A task is finished

  • A message is logged

There is no default listener. You can specify a built-in listener class (look in ant.jar in the Novell exteNd Common\lib directory for provided classes) or specify a listener class you wrote yourself.

For more information    See the Ant documentation at ant.apache.org for details.

-Dproperty=value

Overrides property value set in the buildfile. Properties are defined as <property> elements in the buildfile.

-buildfile file

(xdant only) Specifies the buildfile to use. If this option is not specified, Ant uses build.xml in the current directory.

(This option applies only to xdant, because xdbuild always uses the project buildfile that the exteNd Director development environment creates for you automatically.)

-find file

(xdant only) Searches for buildfile file starting at the current directory. If it doesn't find it in the current directory, it searches the parent directory, up to the root directory, until it finds file.

If file is not specified, it searches for build.xml.

 
Top of section

Examples

xdbuild examples   The following command builds and creates the archive(s) for the exteNd Director project myApp (if changes have been made since the last time the project was built and archived):

  xdbuild myApp.spf build

The following command rebuilds all the files and creates the archive(s) for the myApp project:

  xdbuild myApp.spf rebuild

The following command removes all files from the build directory and deletes the archive(s):

  xdbuild myApp.spf clean

xdant examples   The following command performs the tasks defined for the default target in build.xml in the current directory:

  xdant

The following command performs the tasks defined for the purge target in build.xml in the current directory:

  xdant purge

The following command performs the tasks defined for the purge target in test.xml. If test.xml isn't found in the current directory, Ant searches for it in parent directories until it hits the root directory:

  xdant purge -find test.xml

 
Top of page

Internationalization support

This section describes support for internationalization in the exteNd Director development environment.

 
Top of section

Specifying fonts

If some international characters are not displaying correctly (for example, they are displaying as boxes) or if the font mapping on your system is poor, you can specify different fonts for the exteNd Director development environment to use for its menus, labels, dialogs, and so on (note that the editors themselves are not affected by changes you make as described next).

Procedure To change the fonts used by the development environment:

  1. Select Tools>Preferences and click the Display tab.

  2. Turn on the setting Use native look and feel.

  3. Exit the exteNd Director development environment.

  4. Specify alternate font names (and optionally sizes and colors) in the following lines of ide.props, which is in the Novell exteNd tools\Resources\Preferences directory:

      font-name-standard = font-name 
      font-size-standard = font-size 
      font-name-big = font-name 
      font-size-big = font-size 
      output-font-name = font-name 
      output-font-size = font-size 
      output-background-color = font-color 
      output-font-color = font-color 
    

Font sizes are specified in points. Colors are specified as R,G,B integer values; for example, 255,255,255 is white and 0,0,0 is black.

Sun recommends that you use Serif as the font name to provide the best font mapping on most systems.

 
Top of page

Extending the development environment

The exteNd Director development environment can be extended (via an advanced extensibility API) to add custom tools and facilities. To learn about obtaining and using the extensibility API for the development environment, contact your Novell exteNd representative.



Copyright © 2004 Novell, Inc. All rights reserved. Copyright © 1997, 1998, 1999, 2000, 2001, 2002, 2003 SilverStream Software, LLC. All rights reserved.  more ...