Sync Taxonomy

This section explains how to define types of master data, and the required config to sync them to the document warehouse.

What is Taxonomy

Documents generated by CE are always linked to one or more objects, for example a document can be linked to an account. That means that if you open the document warehouse on that account, you would want to see that document.

In the document warehouse this results in a "tag" which is added to the document. Tags can be added and removed at any time, and adding a tag will make it available in a view, while removing the tag will remove the document from that view. Multiple tags can be added to a single document causing it to appear in multiple views.

So whenever you want to link documents to accounts, you must specify a way to create unique tags for every account. The same for contacts, opportunities, ... .

The taxonomy is the hierarchical structure that represents all tags in the system. By default you will have a "root" tag that represents the source of the master data. (i.e. "D365-CE") and below that you will typically find all the types of objects you would want to get tags for. (i.e.: "accounts", "opportunities", ...) And below that you will find a tag for each of those records.

Configure Entities in the Document Warehouse

Go to the document warehouse configuration, and then to the "Entity Config" page.

In case of a fresh install you can simply import the config found below. Import can be done using the "+" button, and the "Bulk Import" section.

D9A Entity Config for CE
[
  {
    "name": "account",
    "source": "D365-CE",
    "providerCode": "D365-CE\\Accounts",
    "codeFields": [ "accountid" ],
    "codeFormat": "D365-CE\\Accounts\\{0}",
    "nameFields": [ "name" ],
    "nameFormat": "{0} (Account)",
    "relations": [
      {
        "isParentTag": true,
        "codeFields": [],
        "codeFormat": "D365-CE\\Accounts",
        "nameFields": [],
        "nameFormat": "Accounts",
        "relations": [
          {
            "isParentTag": true,
            "codeFields": [],
            "codeFormat": "D365-CE",
            "nameFields": [],
            "nameFormat": "D365-CE"
          }
        ]
      }
    ]
  },
  {
    "name": "contact",
    "source": "D365-CE",
    "providerCode": "D365-CE\\Contacts",
    "codeFields": [ "contactid" ],
    "codeFormat": "D365-CE\\Contacts\\{0}",
    "nameFields": [ "fullname" ],
    "nameFormat": "{0} (Contact)",
    "relations": [
      {
        "isParentTag": true,
        "codeFields": [],
        "codeFormat": "D365-CE\\Contacts",
        "nameFields": [],
        "nameFormat": "Contacts",
        "relations": [
          {
            "isParentTag": true,
            "codeFields": [],
            "codeFormat": "D365-CE",
            "nameFields": [],
            "nameFormat": "D365-CE"
          }
        ]
      },
      {
        "isParentTag": false,
        "codeFields": [ "accountid_account_accountid" ],
        "codeFormat": "D365-CE\\Accounts\\{0}",
        "nameFields": [ "accountid_account_accountid" ],
        "nameFormat": "{0} (Account)",
        "relations": [
          {
            "isParentTag": true,
            "codeFields": [],
            "codeFormat": "D365-CE\\Accounts",
            "nameFields": [],
            "nameFormat": "Accounts",
            "relations": [
              {
                "isParentTag": true,
                "codeFields": [],
                "codeFormat": "D365-CE",
                "nameFields": [],
                "nameFormat": "D365-CE"
              }
            ]
          }
        ]
      }
    ]
  },
  {
    "name": "lead",
    "source": "D365-CE",
    "providerCode": "D365-CE\\Leads",
    "codeFields": [ "leadid" ],
    "codeFormat": "D365-CE\\Leads\\{0}",
    "nameFields": [ "subject" ],
    "nameFormat": "{0} (Lead)",
    "relations": [
      {
        "isParentTag": true,
        "codeFields": [],
        "codeFormat": "D365-CE\\Leads",
        "nameFields": [],
        "nameFormat": "Leads",
        "relations": [
          {
            "isParentTag": true,
            "codeFields": [],
            "codeFormat": "D365-CE",
            "nameFields": [],
            "nameFormat": "D365-CE"
          }
        ]
      },
      {
        "isParentTag": false,
        "codeFields": [ "parentaccountid_account_accountid" ],
        "codeFormat": "D365-CE\\Accounts\\{0}",
        "nameFields": [ "parentaccountid_account_accountid" ],
        "nameFormat": "{0} (Account)",
        "relations": [
          {
            "isParentTag": true,
            "codeFields": [],
            "codeFormat": "D365-CE\\Accounts",
            "nameFields": [],
            "nameFormat": "Accounts",
            "relations": [
              {
                "isParentTag": true,
                "codeFields": [],
                "codeFormat": "D365-CE",
                "nameFields": [],
                "nameFormat": "D365-CE"
              }
            ]
          }
        ]
      }
    ]
  },
  {
    "name": "opportunity",
    "source": "D365-CE",
    "providerCode": "D365-CE\\Opportunities",
    "codeFields": [ "opportunityid" ],
    "codeFormat": "D365-CE\\Opportunities\\{0}",
    "nameFields": [ "name" ],
    "nameFormat": "{0} (Opportunity)",
    "relations": [
      {
        "isParentTag": true,
        "codeFields": [],
        "codeFormat": "D365-CE\\Opportunities",
        "nameFields": [],
        "nameFormat": "Opportunities",
        "relations": [
          {
            "isParentTag": true,
            "codeFields": [],
            "codeFormat": "D365-CE",
            "nameFields": [],
            "nameFormat": "D365-CE"
          }
        ]
      },
      {
        "isParentTag": false,
        "name": "contact",
        "codeFields": [ "parentcontactid_contact_contactid" ],
        "codeFormat": "D365-CE\\Contacts\\{0}",
        "nameFields": [ "parentcontactid_contact_contactid" ],
        "nameFormat": "{0} (opportunity)",
        "relations": [
          {
            "isParentTag": true,
            "codeFields": [],
            "codeFormat": "D365-CE\\Contacts",
            "nameFields": [],
            "nameFormat": "Contacts",
            "relations": [
              {
                "isParentTag": true,
                "codeFields": [],
                "codeFormat": "D365-CE",
                "nameFields": [],
                "nameFormat": "D365-CE"
              }
            ]
          }
        ]
      }
    ]
  },
  {
    "name": "quote",
    "source": "D365-CE",
    "codeFields": [ "quoteid" ],
    "codeFormat": "D365-CE\\Quotes\\{0}",
    "nameFields": [ "name" ],
    "nameFormat": "{0} (Quote)",
    "relations": [
      {
        "isParentTag": true,
        "codeFields": [],
        "codeFormat": "D365-CE\\Quotes",
        "nameFields": [],
        "nameFormat": "Quotes",
        "relations": [
          {
            "isParentTag": true,
            "codeFields": [],
            "codeFormat": "D365-CE",
            "nameFields": [],
            "nameFormat": "D365-CE"
          }
        ]
      },
      {
        "isParentTag": false,
        "name": "account",
        "codeFields": [ "accountid_account_accountid" ],
        "codeFormat": "D365-CE\\Accounts\\{0}",
        "nameFields": [ "accountid_account_accountid" ],
        "nameFormat": "{0} (account)",
        "relations": [
          {
            "isParentTag": true,
            "codeFields": [],
            "codeFormat": "D365-CE\\Accounts",
            "nameFields": [],
            "nameFormat": "Accounts",
            "relations": [
              {
                "isParentTag": true,
                "codeFields": [],
                "codeFormat": "D365-CE",
                "nameFields": [],
                "nameFormat": "D365-CE"
              }
            ]
          }
        ]
      }
    ]
  }
]

For more information see: Entity Configuration.

Configure Entities in CE

Go to the Raptor component, and select "Entities Configurations" below "Data Management". Here you see all the objects that could create tags. Use the "+ New" button at the top of this page to add new types if needed.

By default following entities should be available:

  • account

  • contact

  • lead

  • opportunity

  • quote

Once the entity is added to the list, you can open the config for that entity by clicking it and select which fields should be send to the document warehouse, as also on which forms the document list should be displayed.

How to know required fields.

For the D9A entities you can find the required fields in the UI, by selecting the entity and looking up each field that does not start with a $. ($ fields are automatically provided by the system)

Click on the image below to see where to find specific data.

  1. Menu item containing the entity config

  2. Select the entity that you want to configure

  3. The fields which are required by the document warehouse Note: the fields referenced in the tag code are "ID" fields.

Special remark

The fields with format are referenced entities. In the example above there is a reference from field on the "account" entity, to entity wiey field . In this specific example we have a reference from one account to another account.

Configure forms

For each entity you can define the forms on which the document list must be visible. This is to be configured on the project by the functional consultant, or by the customer.

General config

When the entity is opened, several options are available on the General tab.

Like:

  • Should notes be transferred to the document warehouse.

  • Should notes be removed in CE after transfer to the document warehouse.

  • Should emails be transferred

    • should they be deleted in CE afterwards

    • apply transfer only on certain attachments (.pdf;.png;...)

Sync Jobs

Create a sync job via CE (Raptor Configuration)

  1. Click on Data Sync Job, to open the list; and on "+ Add" to create a new entry.

  2. Give it a name and some basic details. Note: The project name and the cron schedule are not used.

  3. Select the Entities which must be synced in the second tab.

  4. Click Save

  5. Copy the ID of the sync job; this must be added in Raptor.

Next go to raptor, and create a CE Taxonomy Sync Job. In this sync job you will have to:

  1. Add the actual cron schedule that has to be used.

  2. Define the user that runs the job (internal; should be a service account.)

  3. Define the Azure App Registration details for the service account that will export the data.

  4. Set the id of the sync job in the Delta Fetch Settings.

  5. Activate the job. And test with a manual "Trigger", and monitor the job history.

Last updated