I need to run a front end server action after a process in the core ends

What is the best approach?

Hi Tony,

The best approach is to first explain what is the problem.

What do you mean with "a proces in the core ends".

Also every server action will run in a front end server as that is where your application runs.

Regards,

Daniel

I have a process that runs when a certain create or update is called, after the process ends(this process is in the core module), i need to call a server action that is present in another module that is dependent of the core. Not sure if im explaining it clearly

If you need to call a server action from another module you have to add a dependency to it and then you can call it

Now you say that the core module has to call a module from the other module, and that the other module is also dependent on the core  module. This sounds like a circular dependency, which you should try to avoid.

Circular Dependencies occurs when Module A consumes part or Module B while Module B consumes part of Module A. To fix this you should check if A and B are strongly link together. If No, then just move the part being consumes to the proper module. If Yes, you should get all the parts that are strongly link together and but them on a new Module e.g Module AB then link the A and B to that module.

You can also try and use web services to fix circular dependencies but be aware of the pros and cons of using it.

Here is some relevant documenation on OutSystems architecture:

https://success.outsystems.com/Support/Enterprise_Customers/Maintenance_and_Operations/Designing_the_architecture_of_your_OutSystems_applications/03_Validating_your_application_architecture

It is Rule 3 in the document, and it explains how to fix it.

Daniël Kuhlmann wrote:

If you need to call a server action from another module you have to add a dependency to it and then you can call it

Now you say that the core module has to call a module from the other module, and that the other module is also dependent on the core  module. This sounds like a circular dependency, which you should try to avoid.

Circular Dependencies occurs when Module A consumes part or Module B while Module B consumes part of Module A. To fix this you should check if A and B are strongly link together. If No, then just move the part being consumes to the proper module. If Yes, you should get all the parts that are strongly link together and but them on a new Module e.g Module AB then link the A and B to that module.

You can also try and use web services to fix circular dependencies but be aware of the pros and cons of using it.

Here is some relevant documenation on OutSystems architecture:

https://success.outsystems.com/Support/Enterprise_Customers/Maintenance_and_Operations/Designing_the_architecture_of_your_OutSystems_applications/03_Validating_your_application_architecture

It is Rule 3 in the document, and it explains how to fix it.

thats the circular dependency that im trying to avoid


There for I explained how to fix it and provided the official OutSystems documentation explaining how to fix it.