Module Launch Scenarios
 Modules can be launched in different ways:
a. clicking on a module in the business system’s module bar
b. clicking on an action entry in the business system’s session list.
c. clicking on a module icon on the windows desktop or another location
d. by initiation from another module.
e. by another module that want to use your module as an IMCServer.
f.  clicking in the Session list and select 'Print.' The module is then launched with a Print Action or Print Action Group command.
2. The module instantiates the ModuleAPI. Refer to the Instantiating the Module section.
3. The Module can determine why it was opened by reading LaunchInfo.
4. The module connects itself to Noah via the ModuleAPI.
5. If the module has been launched via 1a, 1c,or (1d) from above, it is recommended that the module show the most recent action of the type it supports.Â
If  launch method 1b (1d) from above has been used, the action will be opened in the module in which it was created. In both cases, the module should open in either Edit or View mode, depending on the following circumstances:
ACTION CREATED BY | MODE |
The same module within the same session – i.e., the same calendar date | Edit Mode ·         The data is then edited |
A different module within the same session – i.e., the same calendar date | Edit Mode |
A different session – i.e., a previous calendar date | View Mode ·         Any attempt to edit data in the View mode should cause a window to appear; asking whether the user would like to create a new fitting/measurement based on the old data, or would prefer to cancel. ·         If the user chooses to create a new fitting/measurement, the module should shift to edit mode. IMPORTANT: See Save information in Step 7 below. The new action should be saved in today’s session. |
No action is available | Edit Mode ·         The user is allowed to create a new action |
NOTE: No matter which mode the module is opened in - the user should always have the option of creating a new action except as IMCServer.
6. The user has completed the session, the user closes the Module
7. The Module saves the Action data, if any has been created, by adding the action object to the current session. The module must save data as follows:
if a module reads or uses data created by another module on the same date, it must not attempt to alter or over-write the original data, but must save the data as its own new action
if a module reads or uses data already created on the same date, it should alter and over-write the original data.
if the user decides to create a new action based on a previous action from a previous session, the new action must be saved in the current day’s session.
8. The Module exits. Whenever the user attempts to close the module with unsaved data (for example, with the Close ‘x’ button in the upper-right corner of the window), the module should offer the option of saving this data before closing.