OneDealer has the ability to map third-party entity properties to OneDealer Entities. 


Understanding the Mapping System

Mapping System

Mapping System is considered any system that can be used in a Mapping Relationship.

OneDealer is considered a Mapping System too.

Any third-party system must be available as a Mapping System in order to map it.

These systems are usually created by the developers while implementing the system, but can also be found at $/SetupEntities/List/MappingManager/MappingSystem

A Mapping System entity has the following properties:

CodeUsually a random hash. It is used as an identifier in the Mapping MainGridList
NameCan be random or a specific value. It is not used anywhere.
DescriptionThis is used to define the system. It is used as an identifier for the Mapping System in most cases

Mapping Relationship

The base of the Mapping System is the relationship between OneDealer and the Third-Party system.

These relationships are usually created by the developers while implementing the system, but can also be found at $/SetupEntities/List/MappingManager/MappingSystemRelationship.


A Mapping Relationship entity has the following properties:

CodeCan be random or a specific value. It is not used anywhere.
NameCan be random or a specific value. It is not used anywhere.
DescriptionThis is used to define the relation. It is used as an identifier for the Mapping Relationship
Mapping From SystemThe Name of the Mapping System to be used as the base of the mapping. Usually, it is the OneDealer System.
Mapping To SystemThe Name of the Mapping System to be used as the result of the mapping.
Master System TypeThe direction of the mapping. Usually, it is set to IsToSystemMaster
API KeyThe API key to be used from the Mapper in the algorithm.

Mapping Object Type

Any OneDealer entity that needs to be mapped, must be defined as a Mapping Object Type.

These object types are usually created by the developers while implementing the system, but can also be found at $/SetupEntities/List/MappingManager/MappingObjectType.

A Mapping Object Type entity has the following properties:

CodeCan be random or a specific value. Used in Mapping MainGridList
NameThe OneDealer Entity Name. It is used as an identifier for the Mapping Object Type in most cases
DescriptionThis is used to define the object type. Used in some dropdowns as the identifier. Also used in Mapping MainGridList

Mapping Object Type Provider

The purpose of a Mapping Object Type Provider is to connect a Mapping Object Type to an Implementation for each of the Mapping Systems it is needed.

This is a highly technical part of the Mapping procedure. It is normally set-up by the developers.

Mapping Object

A Mapping Object is practically the mapping between two Mapping Systems.

Each Mapping Object connects a Mapping Relationship to a Mapping Object Type and connects the value of the Third-Party system to the OneDealer equivalent.

Although you can create one by one the mapping by adding new items in the $/SetupEntities/List/MappingManager/MappingObject, it much easier to use the mass-edit function available when viewing the mapping in $/Mappings/MainGridList. The mass-edit function is described later on.







Creating a new Mapping

The following example explains how to create a new Mapping between OneDealer and PrintProvider.

Prerequisites

In order for OD to call the endpoints provided by the Print Providers, we have to fill a property called DocumentTypeCode.

This property is filled through the mapping of our enumeration (DocumentType) with the Print Provider available values.

If the Print Provider does not have any available values and expects the Document Types to be defined by One Dealer, we can send them the values that we already have by using a prefix (eg. OD_10 for Offer and OD_20 for Order).

Create Mapping Objects using the mass-edit (Manual Map)

Navigate to the Mappings Grid List through the menu

Or by using the URL $/Mappings/MainGridList


On the Mappings Grid List use the filters to choose between which two systems you want to map (in our case we want to map between One Dealer and Print Provider)


On the Mappings Grid List use the filters to choose which entity we want to map (in our case Document Type Enum)


Hit “Apply” on the filters and then “View” on the entry that the filters returned

On this screen, we see all the available values of the Master System (in our case this is One Dealer).

What we need to do is navigate to the value that we want to map and press “Manual Map” to open the Mapping Popup

On this Popup, we see already filled the value of the Master System and a form control that allows us to map the value of the secondary system

On the Secondary system form control we fill out the value that we want to map (e.g. OD_10)

After the input we click “Save” on the popup and we have finished our first mapping


Below there is a list of our DocumentType enumeration as well as a guid on how to create the mappings.

DocumentType

Offer

10

Order

20

Signed Order

60

Payment Form

70

Vehicle Delivery

80

Signed Vehicle Delivery

90

Preview

30

Vehicle Purchase Offer

40

Vehicle Purchase Order

50

Vehicle Purchase Signed Order

100

Vehicle Purchase Handover

110

Vehicle Purchase Signed Handover

120

Damage Report

200

Signed Damager Report

201






Advanced configuration

If there is no Mapping available in the GridList, you have to set-up the following.

Creating a new Mapping System

Menu ItemMapping System
URL$/SetupEntities/List/MappingManager/MappingSystem


If there is no Mapping System available for the Third-Party system, add a new one by clicking the + button

Note

There should be OneDealer's System with code 1. The name might be different is some installations like 'OD' instead of "OneDealer" but it makes no difference, just select the appropriate OneDealer mapping system record in the following steps.

Creating a new Mapping Relationship

Menu ItemMapping System Relationship
URL$/SetupEntities/List/MappingManager/MappingSystemRelationship

Create a new relationship by clicking +

Creating a new Mapping Object Type

Menu ItemMapping Object Type
URL$/SetupEntities/List/MappingManager/MappingObjectType

If the OneDealer Entity does not exist as a Mapping Object Type, click on the + button to add it.


Creating a new Mapping Object Provider

Menu ItemMapping Object Type Provider
URL$/SetupEntities/List/MappingManager/MappingObjectTypeProvider


Note

Be careful on which Implementation you should use for each Tenant




  • No labels
Write a comment…