82
Views
6
Comments
Solved
What is the order of fixing architectural issues in OutSystems?
Question

I have consulted many documents and various opinions, but everyone seems to have a different perspective. Is there any widely accepted document or viewpoint on this? I would like to hear your thoughts on the priority order for fixing architectural issues in OutSystems.

Thanks

2022-12-30 07-28-09
Navneet Garg
Solution

According to Refactoring an Application following is the order.

2024-07-05 14-16-55
Daniël Kuhlmann
 
MVP

Hi,

Normally you need to prioritize the task, and define how high is the benefit of fixing it, and how high is the effort of fixing it.

Then you sort on:

  1. High benefit, Low effort
  2. High benefit, Medium effort
  3. High benefit, Low effort
  4. Medium benefit, Low effort.
  5. ... etc...

I would consider security topics always high benefit to fix.

Regards,

Daniel

2025-01-17 04-53-26
Minh Quang Nguyen

No, that's not what I meant. For example, I have the following issues:

Upper and side violations to End-users

Cyclic references among Foundation modules.

Upward references to Core Service modules.

Cyclic references among Core Service modules.

Upward references to Foundation modules.

Cyclic references among Foundation modules.

Upper and side violations to Cores

Upward references to Core Service modules.

Cyclic references among Core Service modules.

...


Which should I fix first and which later?

2016-04-22 00-29-45
Nuno Reis
 
MVP


First, ensure your Discovery has the modules properly placed. Some of those status are too hard to cause but the auto classification of modules may wrongfully flag them.

On the easy bit:

  • If you're lucky Upper and side violations to End-users is just a few details wrong. A few minutes and you are done. Hours, at most.
  • Then I think the easier and most isolated will be Cyclic references among Foundation modules and Upward references to Foundation modules as those shouldn't happen at all and you can fix without breaking.

Regarding the rest, I'm sorry to tell you, but probably you can't fix one without considering the others. You need to get the specifics on each error, draw a new architecture where they don't happen, and then start moving piece by piece. Some will be easy (as in "create a new app and move the modules" or "merge modules together", some will mean breaking key modules and being careful will data migration.

This is why a good architecture is fundamental before implementing a project, not after it is in production.

2025-01-23 09-22-22
ABHIJITH G
Champion
2022-12-30 07-28-09
Navneet Garg
Solution

According to Refactoring an Application following is the order.

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