# Extension Samples

The ExtensionDevKit provides several samples you can browse and run to understand how the extensibility API works. These are divided among three separate WebLogic Workshop applications, each with multiple projects. Because build and deployment for extension types differs, each of the three applications has its own build and run characteristics. These differences are described below.

- Control Samples (ControlDevKit)
- IDE Extension Samples (IdeDevKit)
- Tag Library Extension Sample (TaglibDevKit)

## Control Samples (ControlDevKit)

This application illustrates advanced controls, such as controls that have a custom insert wizard, JCX-generation capability, and so on. By default, the application is located here:

> BEA_HOME\weblogic81\samples\workshop\ExtensionDevKit\ControlDevKit\ControlDevKit.work

### Samples Included

This application has three projects.

ControlFeatures project

This project contains several controls, each of which focuses on a different feature of advanced control building.

- EventRaiser illustrates how you can pass a callback from a nested control through to a client.
- EventScheduler illustrates how you can schedule a control's callbacks to occur at specified times.
- ServerCheck illustrates how to connect a custom dialog box that will be used to collect attribute values when the control is added to a project.
- CustomWiz features CustomInsertDialog, a control wizard implementation that returns a full dialog to prompt the control's user for information when they are inserting or creating the control.
- XQuery illustrates how to create a control that generates a JCX file.
- CustomerData illustrates how to connect a custom attribute editing/validation dialog.

DBScripter project

This project illustrates how you can structure a control project to support automatic deployment of your control's documentation and samples. It contains a reasonably full control treatment, including control sources, documentation, and samples.

ControlTest project

This project contains several web services, each designed to test one of the sample controls in use.

### Getting Started

Due to the way control projects work, this application requires a little setup. First, you'll need to add wlw-ide.jar to the application's classpath to get the control projects to build. Also, because the ControlTest project in this application requires that the controls have been built, you won't be able to run the tests until after you've built the controls.

When you first open this application, you'll be unable to build its sources. This is because the control samples here require that wlw-ide.jar be on their classpath. This path isn't specified when the application is installed because the path itself is stored in the control author's (i.e., your) local preferences. For more information, see Adding wlw-ide.jar to the Classpath.

## IDE Extension Samples (IdeDevKit)

This application illustrates IDE extensions, including menus, frames, custom project support, and the like. By default, the application is located here:

> BEA_HOME\weblogic81\samples\workshop\ExtensionDevKit\IdeDevKit\IdeDevKit.work

### Samples Included

This application includes the following seven projects.

- CustomProject illustrates how to add support for a new project type, including a new document type and support for running the project.
- DragDropSimple illustrates how to use WebLogic Workshop's support for DnD.
- FrameViewSimple is a simple dockable frame.
- MenuItems is a menu that's customizable at run time.
- PopupAction illustrates how to add a popup menu that's available by right-clicking an item in the Application window.
- PropertyListener listens for changes to IDE properties, such as when a document is edited or saved.
- ToolbarButton illustrates how to add a toolbar button.

### Getting Started

These samples should run as installed. In general, to run a sample, open a file in its project and click the Start button. For specific information about what to look for in each, see their topics.

## Tag Library Extension Sample (TaglibDevKit)

This application illustrates how to provide design-time support for a custom tag library. By default, the application is located here:

> BEA_HOME\weblogic81\samples\workshop\ExtensionDevKit\TaglibDevKit\TaglibDevKit.work

### Samples Included

This application includes a sample that illustrates how you can add design-time support for a custom tag library. This support includes, for example, having tags in the library available in WebLogic Workshop's palette. For more information, see Tag Library Extension Samples.

### Getting Started

You'll need to build the tag library and extension before trying them out. For more information, see Tag Library Extension Samples.

Related Topics

None.