Project Extension XML Reference

Describes an extension for a new project type. By default, project types installed with WebLogic Workshop include web app, control, Java project, and the EJB project.

The XML for a project type describes visual elements associated with the project, such as folder icons, but also

Because a project incorporates many aspects of WebLogic Workshop functionality, adding support for a new project type can mean writing several different extensions. The following list describes a few of the possibilities.

Note: The <extension-xml> element is the root for any extension descriptor. For this kind of extension, the <extension-xml> element's id attribute value must be "urn:com-bea-ide:project".

<extension-xml>
    <project-type>
        <attribute>
        <driver>

<project-type> Element

Specifies details, primarily related to the project's appearance in the IDE, about a project type extension.

<extension-xml>
    <project-type>

Syntax

<project-type
    id="identifierForProjectType" 
    closedfoldericon="pathToGifFile"
    icon="pathToIcon" 
    label="descriptiveTextForDocumentType"
    openfoldericon="pathToGifFile"
>

Attributes

Attribute Description

id

Required string. An identifier for this project type. This should be a short name representing this project type -- for example, "php" for a PHP project type.

closedfoldericon

Required string. The path to the .gif file representing the top-level folder of a project of this type when the folder is closed.

icon

Required string. The path to the .gif file to use for representing this project type in the UI.

label Required string. The text to display for this project type in the New Project dialog.
openfoldericon Required string. The path to the .gif file representing the top-level folder of a project of this type when the folder is open.

Hierarchy

Parents: <extension-xml>.

Children: <attribute>, <driver>.

<attribute> Element

Specifies an IDE attribute supported by this project type.

<extension-xml>
    <project-type>
        <attribute>

Syntax

<attribute
    name="attributeName" 
    value="attributeValue"
>

Attributes

Attribute Description

name

Required string. The name of the attribute whose value is being specified. Possible values are given in the Remarks section.

value

Required string. The attribute's value. This is almost always true or false, as described in Remarks.

Hierarchy

Parents: <project-type>.

Children: None.

Remarks

Attributes correspond to predefined behavior in the IDE. In the following example, specifying "true" for the warnOnXSDAdd attribute tells the IDE that a warning message should be displayed if the user tries to add an XSD file to the project (the warning states that the XSD will not be compiled unless put into a schema project).

 

The following table lists attributes in use by existing project types.

IDE Attribute Possible Values Description
j2eeModuleType web If you specify workshop.workspace.project.build.WebAppBuildDriver in the class attribute of the <driver> element, the you must include this attribute, and set its value to 'web'
runnableAsWebApp true to indicate that this  
schemaProject    

supportsJava

true to ; false to .

 

supportsControl

 

 

supportsWebApp    
supportsWLWWebApp    
warnOnXSDAdd    

 

<driver> Element

Specifies drivers to load when a project of this type is loaded.

You can implement drivers that should be running while an instance of your project type is running. For example, you might want to implement a driver that checks for files added to the project's file system. When the user adds a project of this type to an application, the IDE "attaches" each of the specified drivers to it, so that the driver code is running while the user is working in the application. The project itself need not have focus in order for drivers to be active.

Note: A <project-type> element must include a <driver> element that specifies an implementation of IBuildDriver. Without this, the project will not be loaded in the IDE. The <driver> element would look something like this:

<driver type="com.bea.ide.workspace.project.IBuildDriver" class="myPackage.MyBuildDriver"/>

<extension-xml>
    <project-type>
        <driver>

Syntax

<driver
    class="driverImplementationClass" 
    type="driverInterface"
>

Attributes

Attribute Description

class

Required string. The fully-qualified name of the driver implementation. This class must implement the interface specified in the type attribute.

type

Required string. The fully-qualified name of the driver interface.

Hierarchy

Parents: <project-type>.

Children: None.

Remarks

ICompilerDriver

IProjectDriver

IBuildDriver

ILanguageDriver

IRunDriver

IPrintDriver

ISchemaTypeSystemDriver

IDebugDriver

IHelpDriver

IPropertyViewDriver

IDataPaletteViewDriver

IDragDropDriver

ISCMDriver

ISourceViewDriver

INavigationBarDriver

IDebugControlDriver

IWebProjectDriver

ITransferDriver