Application made up of  multiple End User modules - Reactive
Question

Hello, 


Hoping the forums can help, I am looking for a bit of a high level/ how to for how to create an application in reactive with a common login screen/menu:

I am trying to create an application which utilises multiple end user modules / Screens from different modules, but shares a login screen and a homescreen of a "Portal" where the user will go first before working on seperate concepts/modules.

Since the screens for the Portal and all those utilised from the other modules will need to use a common menu and login screen/theme/ layout, what is the best way of doing this while avoiding cyclical/sideways references? If i use the screens from the separate modules as references for the menu, then each module uses that menu, surely that would cause some cyclical references? Is the only way around this hardcoding in the URLS using the "RedirecttoURL" option.

There is also a requirement to move between the modules without going through the Portal which adds a level of complexity.

The alternative is that this all is developed in one module, but it would be a total of about 12-15 screens which would make it difficult to maintain.


I havent seen any guides which go over this other than a generic high level like: https://success.outsystems.com/Documentation/11/Developing_an_Application/Design_UI/Reuse_UI/Maintain_UI_in_dedicated_modules


Any help would be greatly appreciated.

Kind regards,
Chris

Hi Chris, you can put menu and login in foundation layer's theme module and try to use screen navigation using External URL (RedirectToUrl) or JavaScript code to redirect to different screens to  avoid any rule break related to Outsystems Canvas architecture.

For more details 

please follow below link, that will give you exact idea about your scenarios.

Sharing a Style Guide Typical Scenarios


Dileep

Thank you Dileep,

I have implemented a Base_UI module which will handle the theme, Login and Menu (using URLs to point at each)

I even created my portal module as the homescreen and have a screen:

Where "Employees" and "Products" are external URL links to the other modules. 


In the Employees Module I have a UI flow set out like this (very similar set up in Products Module):

However when clicking on the Employees Link, I get an error stating "This module does not contain a default entry." Is it best practice to have a homescreen set in each module? 


Also when using the common login screen to log in, to have it always go to the Portal first, Do I have to hardcode the URL from the portal in the login action? 

You have to give the full screen url path for any module to access the screen. The screen should have some role assigned and if user who is redirecting to particular screen having the appropriate role whatever destination screen is having , should able to access the screen.

If it's an EndUser Module then its better to set the home screen to redirect to particular screen or if you have not set any home screen, give the full screen path, I think you are giving the application module URL path not the full screen path.  


Dileep

Hello Dileep,


Since the modules both have a sort of homescreen (list screen) as where you would want to redirect to, I have set them as homescreens so using just "/Employees/" works. 


Thanks for your help, I guess i need to do a bit more reading on login/logout actions so i can better manage the behaviour (going to "Portal" homescreen if user logs out, however allowing user to go directly to "employees" screen if they use that URL etc.


Then also read up on changing the URL so it all "looks" like one application. 


Its a shame there isnt a tutorial or documentation for creating this setup. 


Cheers 

Chris


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