How to setup a new domain in OutSystems
To setup a new domain follow these instructions.
Domain and Team setup
Define and register a domain prefix
To distinquish domains we will prefix all applications and modules with a three letter domain mnemonic. Try to use only consonants. And capatilise the mnemoning. E.g. Fields => FLD, Master Data Management => MDM
Create a LifeTime domain team
- Open LifeTime Teams <yourenvironment>/lifetime/Teams_List.aspx and click on New Teams
1 Enter the <domain prefix> and name e.g. FLD - Fields in the New Team field and fill the description
- Click on create
- You can now add users to the team with team specific permissions
Create LifeTime Applications
Each domain consist of a collection of LifeTime applications. A number of domain generic applications and a set of applications specific for a domain.
We will now create the generic applications:
- Domain Configuration
- Domain Core Widgets
- Domain Canonical Model
Create Domain Configuration application
Still in lifetime edit teams
Create the domain Configuration Application by clicking Create Application
- Environment: Development
- What are you building: GlobalService
- Fill in your app’s basic info
- Name: <DomainPrefix> + <domainname> + Foundation e.g. FLD Fields Foundation
- Description: <domainname> + Foundation Services
- Upload icon: A domain specific icon
- Click on Create App
Create Domain Core Widgets application
Stll in lifetime edit teams
Create the domain Configuration Application by clicking Create Application
- Environment: Development
- What are you building: GlobalUI
- Fill in your app’s basic info
- Name: <DomainPrefix> + <domainname> + Core Widgets e.g. FLD Fields Core Widgets
- Description: <domainname> + Core Widgets. Domain common widgets
- Upload icon: A domain specific icon
- Click on Create App
Create Canonical Model application
- Open team CDM Canonical Model
- click on create application:
- type: ConceptUI
- name: CDM <domain>
- description <domain> canonical model
- upload icon: <domainicon>
Setup a Domain Base Modules {CreateModules}
Each domain contains a set of base modules:
- Security Foundation Services
- Notifications Foundation Services
- Domain Navigation Widgets
We now will create these modules using the provided module stencils.
Create a Domain Security Foundation Services module
- Go to Service Studio and open module (Ctrl+O) “Stencil_Domain_Security_FS”
- Click Module > Clone
- Close Module Stencil_Domain_Security_FS
- Rename the new module CloneOFStencil_Domain_Security_FS to <domainprefix> +”_” <domain> + “_Security_FS” e.g. FLD_Fields_Security_FS
- Rename Role SampleRole to a meaningfull role e.g. FieldsAdministrator
- Rename Service Action SampleRole_Check to <newRole_Check> e.g. FieldsAdministrator_Check
- Publish the module. This module is now placed in Application Independent Modules.
- Move this module to application “<domain> Foundation”
Create Domain Notifications Foundation Services Module
- Go to Service Studio and open module (Ctrl+O) “Stencil_Notifications_FS”
- Click Module > Clone
- Close Module Stencil_Domain_Configuration_FS
- Rename the new module CloneOFStencil_Domain_Configuration to <domainprefix> +”_” <domain> + “_Notifications_FS” e.g. FLD_Fields_Notificationsn_FS
- Delete the SAMPLE_Notification record from entity DomainNotification
- Add the required DomainNotifications
- Publish the module. This module is now placed in Application Independent Modules.
- Move this module to application “<domain> Foundation”
Create domain navigation module
- In service studio open module Stencil_DomainCoreWidgets_CW
- Click on Module > Clone
- Rename the CloneOfStencil_DomainCoreWidgets_CW to <domainprefix> + <domain> + “_Navigation_CW”
- Open manage dependencies <Ctrl+Q>
- Remove all dependencies to Stencil_Domain_Configuration_Lib
- Add dependency to <domain>_Configuration_FS
- Remove the Reminder from the datamodel diagram.
- Click on apply
- Check that there are no errors and no dependencies to Stencil_Domain_Configuration_Lib
- Rename the Domain_CommonBlocks ui flow to <domain>_CommonBlocks.
- Remove the rename reminder
- Check that there are no reminders or warnings in the TrueChange tab.
- 1-click publish the module