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
According to Refactoring an Application following is the order.
A post made today has a more official answer:
https://learn.outsystems.com/training/journeys/architecting-sustainable-apps-648/refactoring-an-application/o11/730
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:
I would consider security topics always high benefit to fix.
Regards,
Daniel
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.
Upper and side violations to Cores
...
Which should I fix first and which later?
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:
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.
Hi @Minh Quang Nguyen,The link below will navigate you to the documentation regarding validating application architecture.
https://success.outsystems.com/documentation/best_practices/architecture/designing_the_architecture_of_your_outsystems_applications/validating_your_application_architecture/