Creating a custom tool requires some knowledge with the Adobe Flex product and creating Modules in Flex. The Integration, Dekho Web Services and Flex Extensions API section of the Dekho Developers Guide should also be consulted before creating a custom tool.
A Flex module is a special type of dynamically-loadable SWF file which a Flex application can load and unloaded at run time. What makes a module special is an application does not have to load a module when it starts, nor does it have to load the module if the user does not interact with it. Therefore an application does not need a module to be present for it to run and a module does not need a specific application for it to run. Communication between a module and the parent application can be done using the parentApplication properties and between the parent application and the module by a publicly available function in the module.
Using a module instead of an application for custom tools has the following benefits:
§ A module does not contain Flex framework which means smaller a SWF file
§ A smaller SWF file means faster download times to the client
§ A smaller SWF file means faster custom tool load time
Since a module SWF does not contain the Flex framework it cannot be run independently of an application. This makes viewing and debugging a module impossible unless it is loaded into an application that does have the framework. In addition Flex Builder does not let you debug a module unless you are also running the parent application in debug mode. For this reason a Dekho Simulator application was created. It allows you to load the module into a Dekho-like environment for viewing and debugging of the module.