Andrey , You can Follow ThingWorx Extension Development guide to quickly have some hands-on Extension Development.
I would suggest using the Eclipse Plugin for ThingWorx Extension Development.
Since , I am not sure if you are authorized to use that Extension Development guide (I will cross check and will let you know ).
However , I am giving you some quick notes and steps , of getting started with Thingworx Extension development.
An extension is a collection of entities, resources, and widgets that is used to
extend the functionality of the ThingWorx Platform. This collection is packaged
into a .zip file, which can be imported to any ThingWorx Platform and is used to
expose new functionality (such as email servers).
Reasons to build Extensions
If you think , you have the following few reasons in mind , then you can go building ThingWorx Extension.
- 1. Your solution includes multiple entities that depend on one another’s existence in order to function.
- 2. Your solution depends on a Java library that is not accessible within ThingWorx Platform.
- 3. You would like to hide your source code from those who use the extension.
- 4. You would like to use a custom widget that does not exist on ThingWorx Platform.
- 5. You want a global service that is not associated with an entity (resource).
- 6. Your organization needs to use a custom directory service or user authorization scheme.
You can create ThingWorx extensions using common editors and development
tools, as long as the artifacts are created following the expected convention and
are packaged in the expected structure
Because it can be challenging to correctly build the various pieces of an
extension, the Eclipse Plugin for ThingWorx Extension Development (Eclipse
Plugin) has been created to help developers build extensions quickly and
concentrate on developing their features rather than worrying about getting the
extension structured correctly. The productivity improvements provided by the
Eclipse Plugin make it a compelling tool to use when building ThingWorx
Installing the Eclipse Plugin for ThingWorx Extension Development
To install the plugin for ThingWorx Extension Development into your local
instance of the Eclipse IDE for Java EE Developers, Mars 4.5 release or newer, do
- 1. Download the Eclipse Plugin for ThingWorx Extensions zip file
- 2. from the ThingWorx Marketplace.
- 3. Open Eclipse and choose a workspace.
- 4. Choose Help ▶ Install New Software....
- 5. The Install screen appears.
- 6. Click Add....
- 7. The Add Repository screen appears.
- 8. Choose the download location for the zip file (for example, thingworxeclipse-
- 9. plugin-[version].zip).
- 10. Select ThingWorx Extension Builder.
- 11. You may have to deselect the Group items by category checkbox for the
- 12. ThingWorx Extension Builder plugin to appear in the list.
- 13. Click Next.
- 14. Accept the license and finish the installation.
- 15. Click OK to acknowledge the Eclipse security warning.
- 16. Restart Eclipse.
- 17. To verify your install in Eclipse, choose Help ▶ Installation Details. ThingWorx
- 18. Extension Builder appears in the list of installed software.
Creating an Extension Project
To get started using the Eclipse Plugin for ThingWorx Extension Development, do
- 1. In Eclipse, choose File ▶ New ▶ Project....
- 2. In the New Project screen, expand the ThingWorx menu, select ThingWorx
Extension Project, and click Next.
- 3. Enter a project name and browse to and select the latest ThingWorx-
- 4. Select Gradle or Ant as the build framework for the extension. A build file corresponding to the selected framework is created. For more
information, see Building the Extension.
- 5. You can enter a vendor name, update the package version, and then click
The project appears in the Package Explorer, and you are now working in the
ThingWorx Extension perspective.
- 6. To view and edit the properties for your project, right-click your project folder
in the Package Explorer and choose Properties.
On the Properties screen under the ThingWorx Extension menu, you can enter
a list of extensions on which your extension depends and their versions in the
Depends On Extensions field. For example, abcextension:
Importing Existing Extensions
To import an existing extension into the plugin, do the following:
- 1. In Eclipse, make sure you are in the ThingWorx Extension perspective. To do
so, choose Window ▶ Perspective ▶ Open Perspective ▶ ThingWorx Extension.
- 2. Choose File ▶ Import.
- 3. On the Import screen, choose ThingWorx ▶ Extension Project and click Next.
- 4. Browse to and select your extension zip file.
- 5. Select the latest Thingworx-Extension-SDK-
[version]–latest.zip file and click Finish.
Your project appears in the Package Explorer.
- 1. To create an entity, choose the ThingWorx menu and select the entity type you
want to create.
- 2. Select or enter your source folder and package.
- 3. Enter a name.
- 4. If you want to edit the aspects of your entity, click Next and edit the available
- aspects. Or, to use the defaults, click Finish.
The aspects will be different for each entity type.
The Java source file is created for you in the specified package and the
- metadata.xml file is updated automatically.
Adding Services, Properties,
Configuration Tables, Subscriptions, and
To add services, properties, and other annotations to an entity, do the following:
- 1. In Package Explorer, right-click on the Java file and choose the ThingWorx
In the Java editor of the entity, right-click to access the ThingWorx Source
From the submenu, you can choose to add a service, property, configuration
table, subscription, or event.
- 2. Enter the necessary information in the wizard and click Finish.
The Java and metadata.xml files are updated with the necessary annotations
and XML elements.
- 1. Choose the ThingWorx menu and select New Widget.
- 2. Select the parent project.
- 3. Enter a name and description.
- 4. Click Finish.
CSS files for the widget. The metadata.xml file is updated automatically.
You can use eclipse plugin to develop your own ThingWorx Extension.
Please refer to the following link: http://marketplace.thingworx.com/Items/eclipse-plugin-for-thingworx-extensions
Once you have created your extension; it will be evaluated by ThingWorx Marketplace Team. You would be required some documentation too and some other formalities. I will check detail how to reach out to them and what all details are required.
Meanwhile you can start with your extension creation step.
As Jeff pointed out, the Developer Portal includes a step-by-step tutorial to create your extension using the ThingWorx Eclipse Plugin for Extension Development. Go to Developer Portal -> Create-> Create a ThingWorx Extension.
The walk through guide walks you through installation to creating your own "Weather Application".
You can checkout the guide here.