333
Views
3
Comments
Solved
Multiple end-user modules in same application
Application Type
Reactive

I have a dashboard application and a backoffice application to manage the data feed to the dashboard app.

I decided to have 2 applications in service studio:

  • One with only the dashboard module (end-user module);
  • Another with the backoffice module (end-user), the core services module (DB and server actions);

The core services module is consumed by dashboard and backoffice.

Do you think this is the best approach? Or it's best if I place the dashboard module inside the backoffice application?

Thanks

2022-10-11 21-19-04
Fábio Miguel Ferreira Coelho
Solution

Hello Pedro,


I hope you're doing well.


Regarding your situation and without seeing the entire architecture I think the best approach is to isolate the concepts per lifecycle and business concepts, but if it's a small application I think you can have only one application with all the modules inside:

  • Dashboard module (end-user module) 
  • Backoffice module (end-user module) 
  • CS module (core services module where you have DB entities and CRUD actions) 

And add more 2 modules to your application:

  • CW module (core widgets module where you have all the UI blocks that can be consumed by your end-user modules - dashboard and back office)
  • BL module (business logic module where you have all the server actions that can be consumed by the CW module if you have or can be consumed by your end-user modules - dashboard and back office)


I think this is the best approach for your case!

So let me know your opinion and if you have any questions.


Kind regards,

FC

2020-05-07 18-53-00
Rui Barradas
 
MVP
Solution

Hello Pedro,

Hope you're doing well, nice to see you over here :)

If the core services module is consumed by the dashboard module and the backoffice module, you should isolate it from the rest, that's for sure.

But I don't think that putting both end-user modules (dashboard + backoffice) in the same application is the best approach. Simply because we may consider them as different applications. So they should have independent life cycles - therefore different OutSystems applications.

If you put both end-user modules in the same application, you won't be able to (easily) migrate code to other environments separately. Let's say you have developments in the dashboard module that you pretend to migrate to production and developments in the back-office module that you don't want to migrate at the same time. You would probably need to migrate using a deploy custom (or uploading OML) which is not the best approach.

Anyway since it's a small application, you won't probably need to do what I previous described. If so, it's ok to have both modules in the same end-user application.


Hope that this helps you!


Kind regards,

Rui Barradas

2022-10-11 21-19-04
Fábio Miguel Ferreira Coelho
Solution

Hello Pedro,


I hope you're doing well.


Regarding your situation and without seeing the entire architecture I think the best approach is to isolate the concepts per lifecycle and business concepts, but if it's a small application I think you can have only one application with all the modules inside:

  • Dashboard module (end-user module) 
  • Backoffice module (end-user module) 
  • CS module (core services module where you have DB entities and CRUD actions) 

And add more 2 modules to your application:

  • CW module (core widgets module where you have all the UI blocks that can be consumed by your end-user modules - dashboard and back office)
  • BL module (business logic module where you have all the server actions that can be consumed by the CW module if you have or can be consumed by your end-user modules - dashboard and back office)


I think this is the best approach for your case!

So let me know your opinion and if you have any questions.


Kind regards,

FC

2025-11-19 14-55-01
Pedro Oliveira

Yes, I didn't mention "_CW" module to not complicate my question and yes the app is just a simples dashboard meant to display a list of application and set some of them as favorite. I'll have both end-user in same application.

2020-05-07 18-53-00
Rui Barradas
 
MVP
Solution

Hello Pedro,

Hope you're doing well, nice to see you over here :)

If the core services module is consumed by the dashboard module and the backoffice module, you should isolate it from the rest, that's for sure.

But I don't think that putting both end-user modules (dashboard + backoffice) in the same application is the best approach. Simply because we may consider them as different applications. So they should have independent life cycles - therefore different OutSystems applications.

If you put both end-user modules in the same application, you won't be able to (easily) migrate code to other environments separately. Let's say you have developments in the dashboard module that you pretend to migrate to production and developments in the back-office module that you don't want to migrate at the same time. You would probably need to migrate using a deploy custom (or uploading OML) which is not the best approach.

Anyway since it's a small application, you won't probably need to do what I previous described. If so, it's ok to have both modules in the same end-user application.


Hope that this helps you!


Kind regards,

Rui Barradas

Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.