• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Customization
2
3## Introduction
4
5When you develop OpenHarmony devices or applications for specific industries or regions, you may need to customize the system to meet the requirements of specific scenarios. This is where the customization subsystem comes into the picture. This subsystem provides enterprise device management and policy configuration.
6
7|    Module Name   | Description                                                        |
8| :--------------: | ------------------------------------------------------------ |
9|     Config Policy Kit    | Provides APIs for service modules to obtain the configuration directory or configuration file path at different configuration levels.|
10| EnterpriseDeviceManagement Kit| Provides the management application development framework, management mode setting, and enterprise device management capabilities for developing Mobile Device Management (MDM) applications. You can leverage the system-level management APIs for your applications in the enterprise context.|
11
12
13
14## System Architecture
15
16**Figure 1** Customization subsystem
17
18
19![](figures/customization-subsystem.png)
20
21
22-   Application layer
23
24    System applications, extended applications, and third-party applications invoke interfaces at the interface layer to configure functions or obtain specific data.
25
26-   Interface layer
27
28    The EnterpriseDeviceManagement Kit provides system-level management APIs for applications in the enterprise context. The Config Policy Kit provides APIs for service modules to obtain the configuration directory or configuration file path at different configuration levels.
29
30- Service layer
31
32    EnterpriseDeviceManagerService provides specific implementation capabilities for EnterpriseDeviceManagement Kit at the interface layer to help ensure normal service running.
33
34## Directory Structure
35
36The source code of the Customization subsystem is stored in **/base/customization**. The directory structure is as follows:
37
38```
39/base/customization/
40├── config_policy           		# Code repository of the Config Policy Kit
41│   ├── frameworks          		# Core code of the Config Policy Kit
42│   │   ├── config_policy   		# Module of the Config Policy Kit
43│   │   │   └── src         		# Implementation code
44│   ├── interfaces          		# Interfaces of the Config Policy Kit
45│   │   ├── inner_api       		# Interfaces between Config Policy Kit subsystems
46│   │   └── kits            		# JavaScript interfaces of the Config Policy Kit
47│   └── test                		# Test code
48├── enterprise_device_management    # Code repository of the EnterpriseDeviceManagement Kit
49│   ├── common                   	# Common code
50│   ├── etc                      	# Configuration files of the processes contained in the EnterpriseDeviceManagement Kit
51│   ├── interfaces               	# EdmKits code
52│   │   └── inner_api            	# Subsystem interfaces
53│   │   └── kits                 	# Developer interfaces
54│   ├── profile                  	# Configuration files of the system services contained in the EnterpriseDeviceManagement Kit
55│   └── services                 	# Implement code of the EnterpriseDeviceManagement Kit
56```
57
58## Repositories Involved
59
60**Customization**
61
62[customization_config_policy](https://gitee.com/openharmony/customization_config_policy)
63
64[customization_enterprise_device_management](https://gitee.com/openharmony/customization_enterprise_device_management)
65
66[applications_admin_provisioning](https://gitee.com/openharmony/applications_admin_provisioning)
67