How modules are supposed to be used?

How modules are supposed to work ? it seems that each module is sandboxed and can’t communicate with other modules. The project parameters are not shared between modules ?


After reading your post
Open discussion about EasyMorph v4: modules, column bar, lineage

I understand better… my mistake.

Would it be possible to save modules in a central repository or library and import them back in any project ?
This way we could have templates of complex transformations ready to use.

By right cliq on a tab, could we have the option “move to module” ?

You can copy/paste tabs between modules (and projects). Modules themselves can be cloned or copy/pasted between projects - just right-click a module to open its context menu.

In a way, it can already be done. You can place template projects with one module (or multiple different modules) on EasyMorph Server and open them using the “Open from Server” command in Desktop. Or use a shared folder.

Modules can be convenient in that sense that a project may have modules that are not executed. The starting module is marked with a red flag (see below). But if a module is not starting and is not called by any other module then it won’t be executed. Such “inactive” modules can be used as snapshots, or templates, or restore points.


If you need a reusable complex calculation that is not going to be modified, then again the Server can be of help. Soon we will make running Server-based projects from Desktops very seamless. When a Server-based project or Server task will be executed, its resulting dataset will be automatically downloaded to the Desktop and inserted as the output dataset of the calling action. Thus, there will be effectively no difference in calling a module in the same project, or calling a Server-based project. In both cases, parameters and input of the called calculation can be assigned, and the result is automatically returned. So the Server will become a sort of “mini-cloud” for reusable calculations.

I was just thinking about a right clic shortcut on the tab like the context menu item « move to tab » on a table header.

About the template of module. After 4 years of EM, I have many projects with tabs that are a kind of macro: profiling, xml extract, excel metadata extract… To know in which project I made the trick that I need « now » is not that easy. To have an overview of modules templates available would just be usefull : transformations shelves or clipboard management.


Modules are great. I would appreciate to have global parameters that I share over all the modules and local parameters limited to one module.


Can you describe a case when you need global parameters?

Hi Dmitry,

Global parameters : the target directories of consolidate and processed files depending on user profiles (financial controlers, risk manager), some fields to always suppress in the dataset, an excel file containing some master parameters
Module parameters : the source directory of every site where are stored source files.

Currently I have to be sure that the master module transfer all parameters to the modules.
With an “Edit global parameters” button and parameters like { directory}, I would be sure that all the modules are using the same target or the same common parameters by default.
It would also make more reliable some copy paste of tabs from the master module to slave modules.


What if global parameter were stored not in a project, but instead in a repository (where connectors are currently stored) ? In this case even some connector properties could be set with global parameters.

That would be awesome

If the parameters are stored in a database (sqlite) like the shared data connectors, then it would be compliant with most of the standards (basel II, Solvency, NAS890, LSF…), but you’ll have to add the same fields than for the shared connections (Version, User, creation date AND last update date). The class would be : repository, files, value, formula. Maybe add a field with free data entry to have grouping or filtering (Geo, chart of accounts, SAP fields, diacritics…).

But then weird users like me will ask for full tables of parameters like a list of fields from a specific ERP to rename always the same way, table of diacritics, ISO list of countries or airports, field type convert between SQL Server and Exasol… shared master data repository.