Chapter 7. Module Management

7.1. Overview

From the main application actions bar open Application->Modules to display the Module Management view. On this screen a System Operator or Project Engineer defines all Modules of the project. One of the most important requirements on OpenWMS.org is modularization. That's why we often talk about modules either in the frontend part of the application or in the service layer (backend). An Application Module is a defined set of views, services and domain objects that belong logically together. Some modules have dependencies to other modules where they operate on.

Module Management View

Figure 7.1. Module Management View


7.2. Defining new Application Modules

On the main Module Management View press the button New to define a new Application Module. Now you have to enter a minimum set of information that is necessary to locate and run the Application Module. Required fields like the Modulename and the URL are marked with a red asterisk and must be provided to start up the module correctly. After you have done your changes click Save to save the entries in the database.

Table 7.1. Definition of Module properties

Input fieldDescription
ModulenameThe module name is an unique identifier of the Module within the application. Please provide a proper name that describes the Module in a short term. For example: COMMON Module
URLThe URL is mandatory to locate and load the Module. It is not mandatory that a Module is shipped with the application, it can also be loaded from another application domain. If the Module is packaged with the application, just use the filename of the Shockwave (SWF) file, e.g. org.openwms.common.client.flex.swf, including the file extension (.swf). If your Module is stored in a different application domain like the main application than you have to provide the full URI (unique resource identifier), e.g. http://www.myCompany.com/openwms/org.openwms.common.flex.client.swf. Under these circumstances please notice that the application security policy must allow access to your foreign domain (see Crossdomain configuration)
DescriptionThe description field is not required, but you should provide short information about the Application Module, e.g. for what it is needed and what dependencies it has to other modules.
Load on StartupCheck this field if you want to start your Module the next time the application starts up.

7.3. Change existing Application Modules

In the same view you can do changes on existing module definitions. Just choose the Application Module you want to change and the detail information of the chosen module is shown in the text fields next to the list of modules. Change the properties and press Save to write the information to the persistent storage. Be aware of uniqueness of the Modulename and the URL identifier.

Removing an existing module can be done that way too, just choose the module to delete and press the Delete button.

Your Changes will take effect the next time you reload the application.

7.4. Manually Loading and Unloading Application Modules

To try out if a module is able to be loaded on startup, you should try to load it manually before. Just select the Module you want to load and press the Load button. If the module was already loaded, the buttons icon changed and is used to Unload. Pressing the Unload button unloads the current selected module. After an Application Module was successfully loaded into the application domain you should notice that the main application actions bar is populated with a couple of menu items provided by the new module. What you can't recognize so far is that the list of views was updated, too. After unloading a module, the main application actions bar is reorganized and only show the menu items of all currently loaded modules.