In this section, you will discover how to set up your working environment for using the GitHub repository of default HTML applications. This will allow you to develop your own web applications.
Prerequisites:
To set up your working environment
-
Request access to the GitHub repository.
-
Create a branch of the corresponding branch of the GitHub repository (see https://docs.github.com/en/ge t-started/quickstart/fork-a-repo).
-
Install npm (see https://docs.npmjs.com/downloading-and-installing-node-js-and-npm).
-
Run the following command in a command line program:
npm install -g @angular/cli@<Versionsnummer>
The Typescript API client is used to access the API.
For each One Identity Manager module that provides API services, an imx-api-<module name>.tgz Angular library exists as an NPM package in the imx-modules folder of the repository.
NOTE: The API client libraries are not dependent on Angular and thus can be used from any JavaScript program.
The TypeScript API clients consist of several parts:
-
Endpoint-based methods:
The V2Client class of the API client contains one method for each API endpoint. The method name is generated with the following format:
<URL path of the API endpoint>_<HTTP method>
Example
The GET portal/serviceitems method becomes the portal_serviceitems_get typescript method.
-
Entity-based methods:
The TypedClient class of the API client contains a wrapper class for each entity-based API method that allows entities to be loaded and stored.
Example of methods for interactive entities
For the portal/serviceitems/interactive method there is the TypedClient.PortalServiceItemsInteractive property of the PortalServiceItemsInteractive wrapper class type.
Depending on the scope of operations supported by an API method, the following methods are available for the wrapper class:
-
The createEntity method is used to create a new entity.
-
The Get_byid method is used to load an interactive entity from the API Server. The API Server only supports loading a single object per query from the database as an interactive entity. The primary key values of the object must be specified as method parameters.
-
The Put and Post methods are used to store entities with the PUT operation. These methods must not be called directly, but are controlled by the commit() method of the IEntity interface.
Encapsulation as a service
Access to the API is encapsulated in a separate Angular service for each Angular library. This Angular service can be imported into custom classes:
-
In the qbm Angular library, the service is called imx_SessionService.
-
In the qer Angular library, the service is called QerApiService.
-
In all other Angular libraries, the service is called ApiService.
To create and edit your own HTML applications, you can modify Angular libraries and add plug-ins to the API Server.
Detailed information about this topic
If you modify Angular library code, you must create and deploy custom versions of all Angular applications that will use the modified Angular library.
For example, if you modify the qer Angular library, you must also compile the qer-app-portal, qer-app-operationsupport, and qer-app-pwdportal Angular applications, because all of these applications contain the qer Angular library.
If you modify Angular plug-in library code, you must create and deploy a separate version of the Angular plug-in library itself and all Angular plug-in libraries that depend on it.
For example, if you modify the tsb Angular plug-in library, you must also compile the aad and o3t Angular plug-in libraries because these Angular plug-in libraries contain the tsb Angular plug-in library.