3 ******************************
4 Add/remove modules dynamically
5 ******************************
7 .. contents:: Table of Contents
9 "SALOME on demand" feature provides a possibility to dynamically add or remove
10 SALOME modules directly from GUI.
12 .. _hp_salomex_format:
17 **"SALOME on demand"** feature introduces notion of a module description file.
18 This is the file in JSON format that has `.salomex` extension. The description
19 file provides some parameters of the module; two parameters are mandatory:
20 name of the module and path to its root directory.
28 "root": "/home/user/salome/modules/PYHELLO"
31 .. note:: In the description file, the `name` parameter is an **internal** name of the module,
32 in contrast to its **title** which is described in `SalomeApp.xml` or `LightApp.xml`
35 .. note:: One `.salomex` file may describe one SALOME module only.
37 .. _hp_modules_toolbar:
42 The *Modules* toolbar provides two additional buttons, which allow adding or removing
43 modules directly from GUI.
45 .. figure:: ../images/modules_toolbar.png
49 .. |add| image:: ../images/modules_add.png
52 .. |remove| image:: ../images/modules_remove.png
60 Pressing the first button |add| shows a standard *Open File* dialog that allows
61 selecting one or more `.salomex` files. Each module correctly configured in the
62 corresponding `.salomex` file is then added to the SALOME session and appears in the
63 *Modules* toolbar. As soon as it is done, the user may work with the module in the same
64 way as with any other module: all features are available after activating module from
67 The modules added in this way become *persistent*. This means that after restarting
68 SALOME these modules are available in the *Modules* toolbar.
70 .. _hp_modules_remove:
75 Pressing a small arrow near the second button |remove| shows a drop-down menu with
76 the list of manually added modules, where the user may select a module to remove. As soon
77 as user selects a module to remove, a message box is shown asking the user if it is
78 necessary also to remove a directory, containing the module, from disk. If user
79 confirms removal of the directory, it will be necessary to save the study, in order to
80 avoid possible data loss.
82 .. note:: The module libraries are not removed from RAM until exit from the current
83 SALOME session, so some its functionality may be still accessible, for example,
84 via Python API. However, using module functionality may have unpredicted