Outsystems Architecture - Where to put Login in 4LC

I have a question regarding where to place the Login in the 4LC. I know it is placed under Themes in Foundation Layer, but what if the login has a business concept and required some of the functions in the core layer that needs to be validated before logging in(ie. Inactive for 2 months or required to change the password to log in). It will have an upward violation or circular dependencies to the core layer. 

Do we have to put it in the End-user Layer? Or Is there a reason why we put it in the Foundation layer?


Thanks and regards,

Raphael Laurence Reyno


Hi Raphael,

Are you talking about Login page. If so it should be in End user module. And you can write business logics in Business Logic module.

Foundation Layer will contain integration services and non functional requirements.

Hope it will be helpful.


Regards,

Wasim khan S

Hi,

If you have a factory with many applications that share the same login logic, you can also create a login web block with all your logic in the foundation layer.

Then use this web block on your login screen in the application template end-user module.

The benefit of this is that you have one place wherein future you can need to update your login logic, and only have to do update references. 

Regards,

Daniel

Daniël Kuhlmann wrote:

Hi,

If you have a factory with many applications that share the same login logic, you can also create a login web block with all your logic in the foundation layer.

Then use this web block on your login screen in the application template end-user module.

The benefit of this is that you have one place wherein future you can need to update your login logic, and only have to do update references. 

Regards,

Daniel

Hi Daniël,

Currently, the login screen logic does not need to be used by other application, as the logic is specifically for this application only, though if I put it in a web block in the foundation layer it will still have an upward dependency since I am going to consume some of the entities I have in the core layer. 


Thanks and regards, 

Raphael Laurence Reyno