diff --git a/LICENSE b/LICENSE index bac137a57..1f603c398 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ One Identity - Open Source License -Copyright 2021 One Identity LLC +Copyright 2025 One Identity LLC Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in diff --git a/README.md b/README.md index 54554db3f..2a0cf1ffc 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -

One Identity Manager

+

One Identity Manager HTML5 applications

angular-logo @@ -22,7 +22,21 @@


-# Identity Manager HTML5 applications +- [About the repository](#about-the-repository) +- [Change log](#change-log) +- [Nx and Angular](#nx-and-angular) +- [Workspace overview](#workspace-overview) + - [Angular libraries](#angular-libraries) + - [Angular apps](#angular-apps) +- [Dependencies](#dependencies) +- [Debugging](#debugging) +- [Documentation](#documentation) + - [Using npm only (recommended)](#using-npm-only-recommended) + - [Using Compodoc](#using-compodoc) +- [Additional resources](#additional-resources) +- [Contributing](#contributing) +- [License](#license) + ## About the repository @@ -30,7 +44,7 @@ This repository contains the source code for the HTML5 applications contained in It is a monorepo containing the Angular [workspace](https://angular.io/guide/workspace-config), which consists of apps and [libraries](https://angular.io/guide/libraries). -We strongly recommend to read the [HTML Development Guide](https://support.oneidentity.com/technical-documents/identity-manager/9.2/html5-development-guide) before starting to work with the code in this repository. +We strongly recommend to read the [HTML Development Guide](https://support.oneidentity.com/technical-documents/identity-manager/9.3/html5-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. @@ -38,6 +52,16 @@ By forking this repository, you may create customized versions of the projects a [Learn about the latest improvements](CHANGELOG.md). +## Nx and Angular + +We currently support building projects via Angular directly or via the monorepo tool [Nx](https://nx.dev/getting-started/intro). 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.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](./images/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. @@ -46,24 +70,24 @@ Each Angular library and app belongs to a folder in the `projects` directory. Th | 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` | +| `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` | -| `tsb` | Angular plugin library | `qbm`, `qer` | -| `att` | Angular plugin library | `qbm`, `qer` | | `rmb` | Angular plugin library | `qbm`, `qer` | | `rms` | Angular plugin library | `qbm`, `qer` | | `rps` | Angular plugin library | `qbm`, `qer` | | `sac` | Angular plugin library | `qbm`, `qer` | -| `aad` | Angular plugin library | `qbm`, `qer`, `tsb` | -| `apc` | Angular plugin library | `qbm`, `qer` | -| `aob` | Angular plugin library | `qbm`, `qer` | +| `tsb` | Angular plugin library | `qbm`, `qer` | | `uci` | Angular plugin library | `qbm`, `qer` | -| `cpl` | Angular plugin library | `qbm`, `qer` | -| `hds` | Angular plugin library | `qbm`, `qer` | -| `dpr` | Angular plugin library | `qbm` | -| `o3t` | Angular plugin library | `qbm`, `qer`, `tsb` | -| `olg` | Angular plugin library | `qbm`, `qer` | -| `pol` | 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. @@ -103,20 +127,19 @@ The web apps will connect to the API Server using the URL defined in the applica Please refer to the [HTML Development Guide](https://support.oneidentity.com/technical-documents/identity-manager/9.3/html5-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\_. +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. Using Compodoc (preferred) +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 ...` + +### 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. -### 2. Using npm only - -This method only works for `qbm`, `qer` and the applications. - -1. Navigate to _imxweb_. -2. run `npm run doc:` ## Additional resources @@ -134,6 +157,8 @@ We welcome and appreciate contributions. Here's how you can open a pull request 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 diff --git a/images/dependency_graph.png b/images/dependency_graph.png new file mode 100644 index 000000000..b045a3555 Binary files /dev/null and b/images/dependency_graph.png differ