The definition of a Type exists in the ControlTier server's data model, yet in order to make the Commands and Resources of the Type usable, they must all be stored into an archive file and distributed to the various ControlTier Clients that need to use it.
A Module is a Java Jar Archive that is created to contain the Type definition and its related file resources, including the Command handler files, any included scripts or templates, and various metadata files which describe the Type itself.
To create the Type Module using Workbench, navigate to the Type, and click the "Package Commands" button on the right side of the page:
The icon used on this button differs depending on whether the Type has been recently modified or not. When there are changes that have been made to the Type that have not yet been stored in a Module, then the button has an exclamation mark to indicate that the Module is out of date:
When you click this button, the ControlTier server creates the Module file and names it Type-head.jar. This file is then stored in the WebDAV Repository under the path
/PROJECT/publish/modules, where "PROJECT" is the name of your Project. This is the location that ControlTier Clients will use to find the latest version of the Module when they need to download it.
To create a Module using the ControlTier Client, CTL, you can use the ProjectBuilder Type's
build-type command. This Command requires that you have a type.xml file defining the Type, and it will prompt you to locate the file and to input a location to store the Module .jar file. If you include the
-upload option, the command will additionally upload the Module .jar file to the ControlTier Server and install it there. Adding the
-deploy option will also deploy the Module in your local CTL installation, after which you can execute its commands.