Dear All,
I have A question which is correct?
1.Considering the Architecture Canvas and its layers, in which type of module should the application’s Template be created?
thanks,
Ibrahim
Hi @Ibrahim Salameh ,
Templates are modules that will be reusable as a starting point to create new applications. They will not be referenced by modules but instead, will take the contents as a base for new modules. Since templates are highly reusable, they should be placed in the Foundation Module. You can refer to this link that shows this:
As you can see, Themes, Patterns and Templates should all be under the Foundation Module.
I hope this helps.
Regards,
Bryan
Hey @Ibrahim Salameh
End-User Module.
In OutSystems, the application's Template, which includes user interface elements and layouts, should be created in the End-User Module. This module is designed to contain the front-end components of the application, such as screens, UI flows, and user interactions, which are directly visible to and used by the end-users.
I hope this will be helpful for you
thanks
Hi Ibrahim,
OutSystems templates should be placed in the foundation layer because they can be used across multiple applications.
Let me know if more further information required on this.
Thanks
Cv
when considering the Architecture Canvas and its layers, templates should be placed in the Core Services layer. Here's why:
Core Services Module: This module is part of the Core Layer, which contains reusable components such as data models, APIs, and foundational logic. Templates are UI components that should be reusable across multiple layers, including End-User and Business Services Modules. By placing the template in the Core Services Module, you ensure that it is accessible throughout the entire application architecture, promoting reusability and consistency.
End-User Module: This module typically handles the presentation layer and the actual implementation of the UI for specific applications. While it makes use of templates, the templates themselves should not be defined here because this would limit their reusability across other modules.
Business Services Module: The Business Services layer focuses on implementing the core business logic, which processes data and orchestrates workflows. Templates are not relevant to this layer because this layer is not concerned with UI or reusable visual components.
Foundation Module: This layer contains low-level technical services such as system integrations, security, and cross-cutting concerns. Templates are not suited for this module either, as it is focused on the underlying technical infrastructure.
Best Practice Insight:
Placing templates in the Core Services Module ensures a clean separation of concerns, which aligns with the layered architecture pattern in OutSystems. By doing this, you enhance the maintainability and scalability of your application, making sure that any updates to the templates are reflected consistently across all modules that use them.
This approach adheres to OutSystems best practices for architecture, ensuring that your application remains modular and easy to extend over time.
I hope this makes things clearer! Let me know if you need further elaboration. 😊
Hi @Ibrahim Salameh
As you see in this picture, the Template is placed in the foundation
The main reason is, that the template is not business agnostic, so it should be placed in the foundation layer.
The foundation is not only for system inegrations, but as described above, also the Theme, Patterns will be in the foundation.