Introduction
Overview
The goal of this document is to provide a guide to assist Windchill Extension Developers in creating extensions using the Extension Developer Kit (EDK). It offers the reader information on the WEX Platform's architecture, the Build process, the WEX kernel and other necessary information which needs to be taken into consideration when developing Windchill Extensions.
If there's any topic you need extra information on or think it should be covered in this guide, please send an email to our Support team with your request.
Licensing
The EDK is free and requires only a registration to our EDK Developer Network, but signing an extension to run on a production system requires a license. By using the EDK (Extension Developer Kit) you agree to abide by all conditions of the EDK License.
Getting Started
To start developing a new extension you only need:
- A login to the EDK Developer Network, create an account. This gives you access to all the resources you will need.
- Access your profile page generate, save and download settings.
- Copy the settings.xml into your maven .m2 folder.
- Download the free examples and try starting to build the Hello World example.
- Install your new extension on any non-production Windchill.
It is advised to follow the examples in the guide to learn the EDK, starting with Hello World.
What Are Windchill Extensions Made Of?
Extensions are written in Java and using the Windchill API, with the UI being written in JSP with standard Windchill UI techniques. They are compiled as Maven projects, and the developer does not need to have a local Windchill system to code extensions. They follow a standard structure that makes them deployable onto a Windchill system that has the extension platform installed.
Once installed, the extension code is not put into the Windchill class path, so the extension's classes are not visible to Windchill or to other installed extensions. They are completely isolated (see the System Architecture section for more information on how this works) but can call classes in the Windchill codebase such as standard APIs.