MCPcopy Index your code
hub / github.com/OneIdentity/IdentityManager.Imx

github.com/OneIdentity/IdentityManager.Imx @10.0.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 10.0.0 ↗ · + Follow
9,956 symbols 25,133 edges 1,621 files 1,007 documented · 10%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

One Identity Manager HTML5 applications

angular-logo

One Identity open source projects are supported through GitHub issues and the One Identity Community. This includes all scripts, plugins, SDKs, modules, code snippets or other solutions. For assistance with any One Identity GitHub project, please raise a new Issue using our supported templates. You may also visit the One Identity Community to ask questions. Requests for assistance made through official One Identity Support will be referred back to GitHub and the One Identity Community forums where those requests can benefit all users.

One Identity

Submit an Issue · Community · Support


About the repository

This repository contains the source code for the HTML5 applications contained in Identity Manager.

It is a monorepo containing the Angular workspace, which consists of apps and libraries.

We strongly recommend to read the HTML Development Guide before starting to work with the code in this repository.

By forking this repository, you may create customized versions of the projects and add them to your Identity Manager deployment.

Change log

Learn about the latest improvements.

Nx and Angular

We currently support building projects via Angular directly or via the monorepo tool Nx. All commands then can be run via either ng for angular, and managed within the angular.json or nx for nx, and managed within nx.json and the individual projects/<project>/project.json.

The advantage to using Nx is that dependency building and caching is handled for you, so running nx build qer will build qbm and then qer for you.

You can also see the depedency graph & tasks via nx graph:

dependency_graph.png

Workspace overview

Each Angular library and app belongs to a folder in the projects directory. The workspace is defined in the angular.json file.

Angular libraries

Name Type Dependencies inside the workspace
aad Angular plugin library qbm, qer
aob Angular plugin library qbm, qer
apc Angular plugin library qbm, qer
att Angular plugin library qbm, qer
cpl Angular plugin library qbm, qer
dpr Angular plugin library qbm
hds Angular plugin library qbm, qer
iqc Angular plugin library qbm, qer
olg Angular plugin library qbm, qer
pol Angular plugin library qbm, qer
qam Angular plugin library qbm, qer
qbm Angular library none
qer Angular library qbm
rmb Angular plugin library qbm, qer
rms Angular plugin library qbm, qer
rps Angular plugin library qbm, qer
sac Angular plugin library qbm, qer
tsb Angular plugin library qbm, qer

Each Angular library belongs to the Identity Manager module of the same name. You do not need to build Angular libraries for modules that are not part of your Identity Manager installation.

A (non-plugin) library acts like a regular compile-time dependency. A plugin library is loaded dynamically at runtime, as determined by each plugin's imx-plugin-config.json file.

For more information about each project, see the readme.md files in each project's folder.

Angular apps

Name Description Project type Static dependencies
qbm-app-landingpage API Server landing page and Server Administration Angular app qbm
qer-app-portal Portal Angular app qbm, qer
qer-app-pwdportal Password Reset Portal Angular app qbm, qer
custom-app Template for custom applications Angular app qbm

Dependencies

Identity Manager 10.0 is based on Angular 20.

Verify that you have installed a compatible node.js version. The version used by the CI build is defined in the .github/workflows/npm-build.yml file in the node-version property. Other versions of node.js, including newer versions, are not guaranteed to be compatible with other Angular versions. Please see the version compatibility table on the official Angular site.

Debugging

Running and debugging web applications is possible using the default tools of the Angular CLI toolchain. For example, you can use ng serve qer-app-portal to debug the Portal app.

You will need an API Server instance that the web applications will connect to. You can host an API Server locally for development purposes. Run the following command on the command line:

imxclient.exe run-apiserver -B

The web apps will connect to the API Server using the URL defined in the application's environment.ts file. The default setting is http://localhost:8182 which is the default URL that a local API Server will run on.

Documentation

Please refer to the HTML Development Guide for step-by-step instructions on getting started, building and deploying applications.

This repository also contains component-based documentation. There are two ways to install this documentation locally. The result will be stored in imxweb/documentation/\.

Using npm only (recommended)

  1. Navigate to imxweb and run npm install if you haven't already.
  2. Build the documentation for any set of projects by running npm run doc <projectname> <projectname2> ...

Using Compodoc

  1. Install the Compodoc package globally by running npm install -g @compodoc/compodoc.
  2. Navigate to the library to create documentation for (e.g. imxweb\projects\qer).
  3. Run compodoc -p tsconfig.lib.json for a library or compodoc -p tsconfig.app.json for an application.

Additional resources

Contributing

We welcome and appreciate contributions. Here's how you can open a pull request to submit code changes.

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a pull request

Due to the approach of syncing internal code with the github, these pull requests will be manually incorporated upstream and then a later sync will see this repo updated.

License

Distributed under the One Identity - Open Source License. See LICENSE for more information.

Extension points exported contracts — how you extend this code

SideNavigationComponent (Interface)
(no doc) [16 implementers]
imxweb/projects/qbm/src/lib/side-navigation-view/side-navigation-view-interfaces.ts
CustomAuthFlow (Interface)
(no doc) [6 implementers]
imxweb/projects/qbm/src/lib/authentication/custom-auth-flow.interface.ts
HyperViewLayout (Interface)
(no doc) [6 implementers]
imxweb/projects/qbm/src/lib/hyperview/hyperview-types.ts
CdrEditor (Interface)
(no doc) [20 implementers]
imxweb/projects/qbm/src/lib/cdr/cdr-editor.interface.ts
CdrEditorProviderRegistry (Interface)
(no doc) [10 implementers]
imxweb/projects/qbm/src/lib/cdr/cdr-editor-provider-registry.interface.ts

Core symbols most depended-on inside this repo

get
called by 688
imxweb/projects/qer/src/lib/role-management/role-memberships/membership-handlers.ts
push
called by 662
imxweb/projects/qbm/src/lib/admin/status.component.ts
open
called by 312
imxweb/projects/qbm/src/lib/snackbar/snack-bar.service.ts
subscribe
called by 306
imxweb/projects/qbm/src/lib/cdr/entity-column-container.ts
debug
called by 279
imxweb/projects/qbm/src/lib/classlogger/classlogger.service.ts
filter
called by 229
imxweb/projects/qbm/src/lib/sqlwizard/table-selection.component.ts
GetDisplay
called by 185
imxweb/projects/qbm/src/lib/statistics/charts/chart-data-typed.ts
unsubscribe
called by 182
imxweb/projects/qer/src/lib/role-management/role.service.ts

Shape

Method 6,747
Class 2,613
Interface 358
Function 203
Enum 35

Languages

TypeScript100%

Modules by API surface

imxweb/projects/qam/src/lib/TypedClient.ts479 symbols
imxweb/projects/qbm/src/lib/data-source-toolbar/data-source-toolbar.component.ts101 symbols
imxweb/projects/qer/src/lib/role-management/role-memberships/membership-handlers.ts50 symbols
imxweb/projects/qer/src/lib/role-management/role.service.ts49 symbols
imxweb/projects/qer/src/lib/product-selection/product-selection.component.ts44 symbols
imxweb/projects/qbm/src/lib/statistics/statistics-home-page/statistics-data.service.ts39 symbols
imxweb/projects/qbm/src/lib/statistics/heatmaps/heatmap-sidesheet/heatmap-sidesheet.component.ts34 symbols
imxweb/projects/qbm/src/lib/data-tree/checkable-tree/checkable-tree.component.ts32 symbols
imxweb/projects/qbm/src/lib/data-source-toolbar/filter-wizard/predefined-filter/predefined-filter.component.ts31 symbols
imxweb/projects/qer/src/lib/delegation/delegation.component.ts30 symbols
imxweb/projects/qbm/src/lib/data-table/data-table.component.ts30 symbols
imxweb/projects/hds/src/lib/calls/calls-attachment/calls-attachment.component.ts30 symbols

For agents

$ claude mcp add IdentityManager.Imx \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact