When we want to load a data warehouse using easyMorph, we would need to carefuly plan the order of the ETL-jobs for the differen business areas. Unfortunately, in easyMorph server, there’s no option to specify the dependency between tasks.
What’s the best practice with the current functionality to achieve this: creating one morph-file with calls to all other easymorph projects ?
Yes, create a master project to run all other projects in the required order. Note that you can run projects as projects using the “Call” action, or run them as Server tasks using the “EasyMorph Server command” action with the command “Run task”.
Thanks. Creating a flow with several server commands triggering different taks seems to be an interesting option here.
I have created a server link but I have the impression that we need to create a connector for each space on EM-server ?
What if data domains of the datawarehouse need to be loaded with different frequencies (e.g. a flow that needs to be executed as soon as a file arrives versus a flow that extracts data from a database on a monthly basis vs flows that run once a year on specific dates)?
How can we alter the “masterflow” for loading our datawarehouse to cope with these differences ? Could this be solved using a separate module by type of frequence or data domain and execute them when some condition is satisfied ?
Is it possible to clarify the difference between the server connection that we can establish via the button on the home page (first picture) and the second one that we can create via de add connectors button (second picture) ?
The first one allows adding multiple spaces to the connector while the second one only can contain 1 space.
Do I understand it correctly that if we want to use the server command that we have to create 1 connector for each space in which we want to run tasks using that server command action ?
Can we call other easyMorph projects using “call another project” action that reside in other spaces ?
The EasyMorph server command does not allow to add a parameter for the name of the task that EM-server has to run. So if we want to deploy or master flow that orchestrates all tasks in another space or server, we have to name the tasks exactly the same. Is that correct (same task name and description) ?
Yes, the “Server command” action requires a connector to EM Server. Each connector can connect to 1 space only.
The “Call another module/project” action doesn’t “know” about spaces. It refers a project by project path (absolute or relative). If you need a project to run a space task, use the “EM Command” action.
Alternatively, you can use a parameter to provide a project with a path to another project that may happen to be in another space. But that can be inconvenient, because by default the file picker in Server UI doesn’t allow picking files from public folders of other spaces. You can enable picking files from the whole disk drive, but that can be undesirable from a security perspective if untrusted people can run the task.
The “Run task” command in the “EM Server command” action identifies a task by an internal ID rather than a name. That’s why it doesn’t support parameters. Two tasks may have the same name but different IDs. So that won’t work.