Skip to content

Commit

Permalink
Documentations for 5.19.0
Browse files Browse the repository at this point in the history
  • Loading branch information
regnosys-ops committed Jan 23, 2025
1 parent 4a03379 commit b94aa08
Show file tree
Hide file tree
Showing 70 changed files with 18,543 additions and 0 deletions.
27 changes: 27 additions & 0 deletions website/versioned_docs/version-5.19.0/CDM-Collateral-WG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
title: CDM Collateral Working Group
---

## Common Domain Model Collateral Start-Up Guide

ISDA has also launched the Get Started with the CDM for Collateral Guide! You can now access a wealth of resources and tutorials on CDM for collateral management on the [CDM-Collateral Initiatives page](https://www.isda.org/2023/02/16/isda-collateral-initiatives/).

## Overview

The Collateral Working Group plays a pivotal role in the CDM ecosystem by providing a robust framework for harmonizing data and processes related to collateral flows and documentation.

## Meetings

**Join us on the last Tuesday every month 10AM EST (3PM GMT).** Email [email protected] to be added to the meeting invites directly, or find the meeting in the [FINOS Community Calendar](https://calendar.google.com/calendar/embed?src=finos.org_fac8mo1rfc6ehscg0d80fi8jig%40group.calendar.google.com).

## 2024 Roadmap

![Collateral WG Roadmap](/img/crwg-roadmap.png)

## Subscribe

To subscribe to the [collateral workin group mailing list](https://lists.finos.org/g/cdm-collateral-wg) and stay updated on meetings and agenda, please send an email to [[email protected]](mailto:[email protected]). After sending the email, you will receive a confirmation message. Reply to confirm your subscription.

---

To view meeting notes and agendas, view our [current](https://github.com/finos/common-domain-model/issues?q=is%3Aissue+%22CDM+Collateral+Working+Group%22+is%3Aopen) and [past](https://github.com/finos/common-domain-model/issues?q=is%3Aissue+%22CDM+Collateral+Working+Group%22+is%3Aclosed) GitHub Meeting Issues.
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
---
title: CDM Contribution Review Working Group
---

## Overview

The CDM Contribution Review Working Group (CRWG) plays a crucial role in the CDM ecosystem. We review, approve, and implement contribution proposals to the CDM, ensuring the integrity and quality of the project. Additionally, we serve as arbitrators for any disputes arising from contributions, and we uphold the design principles and guidelines that govern the CDM.

### Responsibilities

- Reviews, approves, and implements contribution proposals to the CDM.
- Arbitrates disputes arising from DWG contributions.
- Guards and enforces design principles and guidelines.
- Triage and facilitates long-dated PRs and Issues.
- Meets fortnightly, with sub-groups as required.

## Meetings

**Join us on the First and Third Tuesday at 10 AM EST (3 PM GMT).** Email [email protected] to be added to the meeting invites directly, or find the meeting in the [FINOS Community Calendar](https://calendar.google.com/calendar/embed?src=finos.org_fac8mo1rfc6ehscg0d80fi8jig%40group.calendar.google.com).

## 2024 Roadmap

![CRWG Roadmap](/img/crwg-roadmap.png)

## Subscribe

To subscribe to the CRWG mailing list and stay updated on meetings and agenda, please send an email to [[email protected]](mailto:[email protected]). After sending the email, you will receive a confirmation message. Reply to confirm your subscription.

---

To view meeting notes and agendas, view our [current](https://github.com/finos/common-domain-model/issues?q=is%3Aissue+is%3Aopen+%22CDM+Contribution+Review+Working+Group%22) and [past](https://github.com/finos/common-domain-model/issues?q=is%3Aissue+%22CDM+Contribution+Review+Working+Group%22+is%3Aclosed) GitHub Meeting Issues.
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
title: CDM Derivatives Product and Business Event Working Group
---

## Overview

Focused on swaps (IR, credit, equity, commodity, etc.), options, FX, post-trade events (increases, novations, exercises, etc.)

## Meetings

**Join us on the Second and Last Wednesday at 11:30 AM EST (4:30PM GMT).** Email [email protected] to be added to the meeting invites directly, or find the meeting in the [FINOS Community Calendar](https://calendar.google.com/calendar/embed?src=finos.org_fac8mo1rfc6ehscg0d80fi8jig%40group.calendar.google.com).

## 2024 Roadmap

![DPBE Roadmap](/img/dpbe-roadmap.png)

## Subscribe

To subscribe to the [DPBE mailing list](https://lists.finos.org/g/cdm-dpbe-wg) and stay updated on meetings and agenda, please send an email to [[email protected]](mailto:[email protected]). After sending the email, you will receive a confirmation message. Reply to confirm your subscription.

---

To view meeting notes and agendas, view our [current](https://github.com/finos/common-domain-model/issues?q=is%3Aissue+is%3Aopen+%22CDM+Contribution+Review+Working+Group%22) and [past](https://github.com/finos/common-domain-model/issues?q=is%3Aissue+%22CDM+Derivatives+Products+and+Business+Events+Working+Group%22+is%3Aclosed) GitHub Meeting Issues.
32 changes: 32 additions & 0 deletions website/versioned_docs/version-5.19.0/CDM-Steering-WG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
title: CDM Steering Working Group
---

## Overview

This working group serves as the driving force behind the strategic direction and technical aspects of the CDM. We are responsible for establishing technical and modeling guidelines, setting and revising the project’s strategic roadmap, and vetting proposed changes. Additionally, we approve or establish additional working groups to address specific needs within the CDM ecosystem.

### Responsibilities:

- Define and monitor the overall roadmap, setting annual priorities.
- Decide on support for resourcing initiatives proposed by other working groups (TAWG, CRWG, or DWGs).
- Approve new FINOS Working Groups (WGs).
- Determine matters of Governance & Operating Model for FINOS CDM WGs.
- Provide final release approval.

## Meetings

**Join us Monthly on the Second Tuesday 11AM EST (4 PM GMT).** Email [email protected] to be added to the meeting invites directly, or find the meeting in the [FINOS Community Calendar](https://calendar.google.com/calendar/embed?src=finos.org_fac8mo1rfc6ehscg0d80fi8jig%40group.calendar.google.com).

## 2024 Roadmap

![Steering WG Roadmap](/img/steering-roadmap.png)

## Subscribe

To subscribe to the [Steering Working Group mailing list](https://lists.finos.org/g/cdm-steering-wg) and stay updated on meetings and agenda, please send an email to [[email protected]](mailto:[email protected]). After sending the email, you will receive a confirmation message. Reply to confirm your subscription.

---

To view meeting notes and agendas, view our [current](https://github.com/finos/common-domain-model/issues?q=is%3Aissue+%22CDM+Steering+Working+Group+-+%22+is%3Aopen+) and [past](https://github.com/finos/common-domain-model/issues?q=is%3Aissue+%22CDM+Steering+Working+Group+-+%22+is%3Aclosed) GitHub Meeting Issues.

Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
title: CDM Structured Products Working Group
---

## Overview

This working group aims to accelerate the build and support of structured products in the Common Domain Model.

## Meetings

**Join us Monthly on the Second Tuesday 10AM EST (3PM GMT).** Email [email protected] to be added to the meeting invites directly, or find the meeting in the [FINOS Community Calendar](https://calendar.google.com/calendar/embed?src=finos.org_fac8mo1rfc6ehscg0d80fi8jig%40group.calendar.google.com).

## Subscribe

To subscribe to the [Structured Products WG mailing list](https://lists.finos.org/g/structured-products) and stay updated on meetings and agenda, please send an email to [[email protected]](mailto:[email protected]). After sending the email, you will receive a confirmation message. Reply to confirm your subscription.

---

To view meeting notes and agendas, view our [current](https://github.com/finos/common-domain-model/issues?q=is%3Aissue+%22CDM+Structured+Products+Working+Group+-+%22+is%3Aopen) and [past](https://github.com/finos/common-domain-model/issues?q=is%3Aissue+%22CDM+Structured+Products+Working+Group+-+%22+is%3Aclosed) GitHub Meeting Issues.
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
title: CDM Technology Architecture Working Group
---

## Overview

The CDM Technology Architecture Working Group focuses on aligning the architecture, tooling services, infrastructure, development practices, and deployment of the CDM with both existing and future technologies.

### Responsibilities

- Defining and working on technical aspects and architecture-related items, such as language distributions, packaging, libraries, serialization, reference data architecture, and integration with other data standards.
- Collaborating closely with the CDM Contribution Review Working Group.
- Meeting monthly, with the flexibility to form sub-groups as necessary to address specific technical challenges or opportunities.

## Meetings

**Join us every 2nd Thursday of Every Month, 9AM EST (2PM GMT).** Email [email protected] to be added to the meeting invites directly, or find the meeting in the [FINOS Community Calendar](https://calendar.google.com/calendar/embed?src=finos.org_fac8mo1rfc6ehscg0d80fi8jig%40group.calendar.google.com).

## 2024 Roadmap

![TAWG Roadmap](/img/tawg-roadmap.png)

## Subscribe

To subscribe to the [TAWG mailing list](https://lists.finos.org/g/cdm-technology-architecture) and stay updated on meetings and agenda, please send an email to [[email protected]](mailto:[email protected]). After sending the email, you will receive a confirmation message. Reply to confirm your subscription.

---

To view meeting notes and agendas, view our [current](https://github.com/finos/common-domain-model/issues?q=is%3Aissue+%22CDM+Technology+Architecture+Working+Group+-+%22+is%3Aopen+) and [past](https://github.com/finos/common-domain-model/issues?q=is%3Aissue+%22CDM+Technology+Architecture+Working+Group+-+%22+is%3Aclosed) GitHub Meeting Issues.

13 changes: 13 additions & 0 deletions website/versioned_docs/version-5.19.0/cdm-demos.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
title: Demos
---



1. [Watch the demo from otc Digital entitled "Integrated digital assets marketplace with full lifecycle and automation using CDM"](https://resources.finos.org/znglist/real-world-project-demos?c=cG9zdDo5OTE1NzA%3D)

2. [Marc Gratacos (Managing Partner at TradeHeader) delivered an amazing walkthrough on the Common Domain Model (CDM). Highly recommend to anyone who wants to start digging into CDM](https://www.youtube.com/watch?v=N9C2ZokZAV4)

3. [Watch the ISDA DRR CDM Training Sessions 27 March 2024](https://www.youtube.com/watch?v=WaXR5uX-R8s)

4. [How to Get Started with CDM Meetup April 2024](https://resources.finos.org/category/projects-sigs/common-domain-model-cdm?projects-sigs=common-domain-model-cdm&c=cG9zdDo5OTE2Mjg%3D)
149 changes: 149 additions & 0 deletions website/versioned_docs/version-5.19.0/cdm-guidelines.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
---
title: CDM Java Distribution Guidelines
---

This section provides directions for downloading and using the Java
version of CDM. Topics covered are listed below:

- Prerequisites
- Introduction
- Setting Up Google's Guice Injector
- Generating Global Keys and Qualifications
- Validating the CDM instance

# Prerequisites

- Java SDK 8 or higher

# Introduction

- The CDM in Java is built using [maven](https://maven.apache.org) and is published to Maven
Central.

# Setup

In order to use the CDM in a Maven project, the following dependency
needs to be added to the project pom.xml:

``` xml
<dependency>
<groupId>org.finos.cdm</groupId>
<artifactId>cdm-java</artifactId>
<version>LATEST</version>
</dependency>
```

- The CDM model objects are classified into namespaces (cdm.base,
cdm.base.staticdata, etc). These namespaces translate into Java
packages with the same name, with each package containing a
package-info file.

![](/img/cdm-distribution.png)

- The CDM uses [builder pattern](https://en.wikipedia.org/wiki/Builder_pattern) for each of the pojos. The
distribution ships with the json to java object serialisers.

> _NOTE:_ All current CDM dependencies are available in Maven Central.
> CDM releases prior to version 4.0.0 can be found in the ISDA repository: <https://europe-west1-maven.pkg.dev/production-208613/isda-maven>.
> The dependencies of CDM releases prior to version 4.0.0 can be found in the REGnosys repository: <https://europe-west1-maven.pkg.dev/production-208613/public-maven>.
> Add the following snippet to the `<repositories>` section of your project `pom.xml`:
>
> ``` xml
> <repositories>
> <!-- remove references to REGnosys Jfrog -->
> <repository>
> <id>isda-maven</id>
> <url>https://europe-west1-maven.pkg.dev/production-208613/isda-maven</url>
> <releases>
> <enabled>true</enabled>
> </releases>
> <snapshots>
> <enabled>false</enabled>
> </snapshots>
> </repository>
> <repository>
> <id>public-maven</id>
> <url>https://europe-west1-maven.pkg.dev/production-208613/public-maven</url>
> <releases>
> <enabled>true</enabled>
> </releases>
> <snapshots>
> <enabled>false</enabled>
> </snapshots>
> </repository>
> <!-- existing contents -->
> </repositories>
>```
# Setting Up Google's Guice Injector
CDM uses [Google's Guice](https://github.com/google/guice) as a dependency manager. Injector is the
core of Guice that contains the whole object graph (context).
The first step is to initialise the injector. There are two options:
## Initialising the Injector, Option 1: Using provided CdmRuntimeModule
The CDM java distribution comes with a pre-built CDM module that can be
used to create an injector. It provides bindings to required classes
(ModelObjectValidator and QualifyFunctionFactory) as well as binding in
implementations for several CDM functions such as Abs, Sum
``` Java
Injector injector = Guice.createInjector(new CdmRuntimeModule()));
```
## Initialising the Injector, Option 2: Build your own Module

To build a custom injector that is not based on the CDM's runtime
module, first create a Guice module with a minimum of the two bindings
shown belows:

``` Java
public class GenericModule extends AbstractModule {

@Override
protected void configure() {
bind(ModelObjectValidator.class).to(RosettaTypeValidator.class);
bind(QualifyFunctionFactory.class).to(QualifyFunctionFactory.Default.class);
}
}
```

Once this module has been built it can be used to create the custom
injector.

``` Java
Injector injector = Guice.createInjector(new GenericModule()));
```

# Generating Global Keys and Qualifications

Within the model any data object marked with metadata key will have a
Global Key generated when that data object is populated. These Global
Keys are automatically generated using hash algorithms. The model
objects can be post-processed with Global Keys and qualified by using
the injector created in the previous step to run the code shown below:

``` Java
Contract cdmInstance = buildCdmInstance();
Contract.ContractBuilder builder = cdmInstance.toBuilder();
keyProcessor.runProcessStep(Contract.class, builder);
Contract updatedCdmInstance = builder.build();
```

# Validating the CDM instance

In order to validate the CDM instance, it is necessary to create a
RosettaTypeValidator and post process the instance as follows:

``` Java
RosettaTypeValidator validator = injector.getInstance(RosettaTypeValidator.class);
ValidationReport validationReport = validator.runProcessStep(cdmInstance.getClass(), cdmInstance.toBuilder());
if (validationReport.success()) {
List<ValidationResult<?>> validationResults = validationReport.validationFailures();
}
```

If the validation is unsuccessful then the validation results object
will contain the list of all the validation failures.
Loading

0 comments on commit b94aa08

Please sign in to comment.