Skip to content

Commit 4c53c81

Browse files
domain doc
1 parent 7f26291 commit 4c53c81

1 file changed

Lines changed: 159 additions & 61 deletions

File tree

docs/make/businessobjects/domains.md

Lines changed: 159 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -6,64 +6,162 @@ title: Domains
66
Domains
77
=======
88

9-
What is a Domain?
10-
-----------------
11-
12-
In Simplicité, a Domain represents a menu in the user interface (UI). It allows users to navigate through
13-
different parts of the application by structuring access to business objects, processes, and other functionalities.
14-
15-
How to create a Domain?
16-
-----------------------
17-
18-
### Creating a Domain via the Module Creation Assistant
19-
20-
When creating a Module, Simplicité’s Module creation assistant includes a step to create a Domain.
21-
This ensures that the Module has a visible entry in the UI menu.
22-
23-
1. Go to Project > Module and start creating a new Module by clicking on **Creation assistant** or from
24-
the Simplicité's home page click on **Start by creating a new module**.
25-
2. During the process, the assistant will prompt for a menu (Domain) setup.
26-
3. Define the Domain by specifying:
27-
- Domain code – The functional key of the domain.
28-
- Parent Domain (if applicable) – Allows hierarchical menus.
29-
- Module name – Define the [module](/make/project/module) to which it belongs. Defaults to the one currently being created.
30-
- Icon – Customizes the menu’s appearance.
31-
- Order - order in the interface.
32-
- Hide the home page - Domains can have Home page
33-
- Description - to appear in generated documentation.
34-
Complete the module setup, and the menu will be automatically created.
35-
36-
### Manually Creating a Domain
37-
38-
If a Domain was not created during module setup, you can manually add it later:
39-
40-
1. Go to Business objects > Domains.
41-
2. Click **Create** a new Domain.
42-
3. ![](img/domains/domain1.png)
43-
4. Fill in the required fields:
44-
- Domain Code – The functional key of Domain object.
45-
- Module name - Define the [module](/make/project/module) to which it belongs.
46-
- Parent Domain (optional) – Defines a menu hierarchy.
47-
- Icon - Customizes the menu’s appearance.
48-
- Order - order the display of the domain in the menu.
49-
- Hide the home page - No by default
50-
- Home page - can be associated to a specific Home page.
51-
- Description - to appear in generated documentation.
52-
53-
Save the Domain and verify its appearance in the UI.
54-
55-
1. Managing Domain Access ([Permissions](/make/usersrights/permissions))
56-
57-
Domains are only visible to users with the appropriate permissions.
58-
Ensure the relevant Groups have access to the Domain.
59-
![](img/domains/domain2.png)
60-
61-
1. Associate Objects to the Domain by clicking on **create** in the header of Main menu list.
62-
63-
The types of objects that can be included in a menu are:
64-
65-
- Business object
66-
- Business process
67-
- Domain
68-
- External object
69-
- Simple view
9+
Introduction
10+
------------
11+
12+
In Simplicité, a **Domain** represents a menu in the user interface (UI). It structures navigation and provides access to business objects, processes,
13+
and other functionalities within the application.
14+
15+
Domains serve as the primary organizational unit for the application's menu system, allowing administrators to group related functionality and control
16+
user access through permissions. They can be organized hierarchically using parent-child relationships, enabling nested menu structures.
17+
18+
When creating a new [Module](/make/project/module), the Module creation assistant can automatically create a Domain to ensure the module has a visible
19+
entry in the UI menu. Domains can also be created independently and associated with existing modules.
20+
21+
Features
22+
--------
23+
24+
1. **Menu Organization**
25+
- Structure application navigation into logical groups
26+
- Create hierarchical menu structures via parent-child relationships
27+
- Control menu item ordering
28+
29+
2. **Access Control**
30+
- Visibility controlled through [Permissions](/make/usersrights/permissions)
31+
- Integration with [Groups](/make/usersrights/groups) for role-based access
32+
- Domain-level access management
33+
34+
3. **Content Association**
35+
- Associate multiple object types to a Domain
36+
- Support for Business objects, Business processes, External objects, and Views
37+
- Optional Home page association
38+
39+
4. **Customization**
40+
- Custom icons for visual identification
41+
- Configurable display order
42+
- Optional home page hiding
43+
44+
Configuration
45+
-------------
46+
47+
### Configuration Fields
48+
49+
| Field | Type | Required | Description |
50+
| ----- | ---- | -------- | ----------- |
51+
| **Domain Code** | String | Yes | Functional key (unique identifier) for the Domain |
52+
| **Module name** | Module | Yes | The [module](/make/project/module) to which the Domain belongs |
53+
| **Parent Domain** | Domain | No | Parent Domain for hierarchical menu structures |
54+
| **Icon** | String | No | Icon code to customize the menu's appearance |
55+
| **Order** | Integer | No | Display order of the Domain in the menu |
56+
| **Hide the home page** | Boolean | No | Whether to hide the home page for this Domain |
57+
| **Home page** | View | No | Associated [Home page](/make/userinterface/views/home-page) view |
58+
| **Description** | String | No | Description text for generated documentation |
59+
60+
### Field Details
61+
62+
#### Domain Code
63+
64+
- **Purpose**: Unique functional key that identifies the Domain
65+
- **Format**: Alphanumeric identifier following naming conventions
66+
- **Constraints**: Must be unique across all Domains
67+
- **Example**: `TrnDomain`, `SalesDomain`
68+
69+
#### Module name
70+
71+
- **Purpose**: Associates the Domain with a specific module
72+
- **Behavior**: When created via Module creation assistant, defaults to the module being created
73+
74+
#### Parent Domain
75+
76+
- **Purpose**: Creates hierarchical menu structures
77+
- **Use Case**: Organize related Domains under a parent menu item
78+
- **Behavior**: Child Domains appear nested under the parent in the menu
79+
80+
#### Icon
81+
82+
- **Purpose**: Visual identifier for the Domain in the menu
83+
- **Format**: Icon code (e.g., `fa-home`, `fa-users`)
84+
- **Use Case**: Improve menu navigation and visual organization
85+
86+
#### Order
87+
88+
- **Purpose**: Controls the display sequence of Domains in the menu
89+
- **Behavior**: Lower numbers appear first
90+
- **Use Case**: Organize menu items in a logical sequence
91+
92+
#### Hide the home page
93+
94+
- **Purpose**: Controls whether the Domain's home page is hidden
95+
- **Use Case**: Hide home page when Domain serves only as a container for other menu items
96+
97+
#### Home page
98+
99+
- **Purpose**: Associates a specific [Home page](/make/userinterface/views/home-page) view with the Domain
100+
- **Behavior**: When users navigate to the Domain, they see the associated Home page
101+
- **Use Case**: Provide a landing page or dashboard for the Domain
102+
103+
### Menu Content Types
104+
105+
The following object types can be associated with a Domain and appear in its menu:
106+
107+
| Object Type | Description |
108+
| ----------- | ----------- |
109+
| **Business object** | Standard business objects with CRUD operations |
110+
| **Business process** | Workflow and process management objects |
111+
| **Domain** | Child Domains for hierarchical structures |
112+
| **External object** | Custom external objects and components |
113+
| **Simple view** | Custom views and dashboards |
114+
115+
Behavior
116+
--------
117+
118+
### Menu Display
119+
120+
Domains appear in the application's main menu based on their configuration and user permissions. The menu structure reflects:
121+
122+
- **Hierarchical organization**: Parent Domains contain child Domains
123+
- **Ordering**: Domains are displayed according to their Order field
124+
- **Visibility**: Only Domains with appropriate permissions are visible to users
125+
126+
### Access Control
127+
128+
Domain visibility is controlled through [Permissions](/make/usersrights/permissions). Users must have:
129+
130+
- Appropriate Group membership
131+
- Permissions granted for the Domain
132+
- Access to associated objects within the Domain
133+
134+
Domains without proper permissions are hidden from the user's menu, even if they exist in the configuration.
135+
136+
### Object Association
137+
138+
Objects are associated with Domains through the Main menu configuration. When objects are added to a Domain:
139+
140+
- They appear as menu items under the Domain
141+
- They inherit the Domain's access control context
142+
- They can be organized and ordered within the Domain
143+
144+
### Home Page Behavior
145+
146+
When a Domain has an associated Home page:
147+
148+
- Users navigating to the Domain see the Home page as the default view
149+
- The Home page can be hidden via the "Hide the home page" setting
150+
- Home pages can display dashboards, widgets, and other custom content
151+
152+
Related Objects
153+
---------------
154+
155+
- **[Module](/make/project/module)**: Domains belong to modules and are created as part of module setup
156+
- **[Permissions](/make/usersrights/permissions)**: Control Domain visibility and access
157+
- **[Groups](/make/usersrights/groups)**: User groups determine Domain access
158+
- **[Home page](/make/userinterface/views/home-page)**: Can be associated with a Domain for landing pages
159+
- **[Business objects](/make/businessobjects/business-objects)**: Can be associated with Domains in the menu
160+
- **[Business process](/make/businessprocess/business_process)**: Can be associated with Domains in the menu
161+
162+
Learn More
163+
----------
164+
165+
- [Creating a Module Tutorial](/tutorial/getting-started/module) - Step-by-step guide including Domain creation
166+
- [Permissions Documentation](/make/usersrights/permissions) - Managing Domain access control
167+
- [Home Pages](/make/userinterface/views/home-page) - Configuring Domain landing pages

0 commit comments

Comments
 (0)