Splitting UI into multiple modules (Web App)

I was reading this article on OutSystems website:  Maintain UI in dedicated modules. 

 I'm wondering how would one manage the menu without creating circular references?  I'm assuming that Mod_A needs menu links to screens from Mod_B and Mod_B needs links to screens from Mod_A.  To share a Menu Web Block, the module containing the Menu needs to depend on both Mod_A and Mod_B to link to the screens.  Also, Mod_A and Mod_B need to depend on the Menu module in order to display the Menu on their screens.

The default web blocks for the Menu and its related static entities seem to work great when all the screens are in a single module.  Are we forced to build a custom menu to support multiple modules?  Or just throw out the drag-n-drop ease of adding screens to the menu and make use of the External Site widget for any link between modules?

The site widget comes handy in such cases.

Swatantra Kumar wrote:

The site widget comes handy in such cases.

Except that then you are maintaining a URL which can change.  We are still moving from v10 on Java to v10 on .NET, if we use the External Site widget then we have to maintain Site Properties and things to apply the correct extesion on the URL.  It gets ugly and error prone quickly with the skill level of our teams (mainly "citizen developers" not trained ones).


I am dealing with a similar issue.  I have screens that contain links to screens in another module.  Just to switch to a screen that has logically related information, but that screen is in another module.  Basically Timesheets Module and Projects Module.  All the project screens are in the projects module and the timesheets are in the timesheets module.  In the course of working in timesheets a user may need to navigate to the project screens to do some other work not related to the timesheet.  When in Projects, a person may need to navigate to a timesheet so there is a link from projects to the timesheet page.  When I publish projects I get a warning saying that the timesheet module is out of date with its references.  So I publish the timesheet I get a warning that projects is out of date.  No way to get these to realize all they have are links between pages.  I have added the reference to the other screen to facilitate the link so it picks up the parameters necessary when on one screen that it can pass to get the correct information on the linked to screen.