DataEngine
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Custom Settings

Custom CSS

In the Admin View -> Marini Systems -> CSS its possible to overwrite/add custom CSS which are added to all pages.

Custom JS

In the Admin View -> Marini Systems -> JavaScripts its possible to add custom JavaScript functions which are added to all pages.

JS Functions needs to check if they needed to be executed on the current page.

There is currently no option to add custom JS only to specific pages.

Custom Config

In the Admin View -> Marini Systems -> Custom Config its possible to add custom config JSON.

These configurations are used by Marini modules or custom functions.

The idea is to have a central place to store all custom configurations.

Modules added via the Marini Module Store can add their own custom config sections.

mass-transfer-scheduler

The DataEngine adds the section mass-transfer-scheduler to add MassTransferSchedulers, no additional module is needed.

The example adds two MassTransferSchedulers for core_Contacts and core_Accounts.

Both will process all records with process_status_c set to hubengine and set the value to an empty string. This will trigger a save for these records and all workflows will be executed for this record.

After the MassTransferScheduler is added via the custom config, the MassTransferScheduler needs to be enabled in the Admin View -> Schedulers.

When using the same module, fieldName and fieldValue the order of the entries should not be changed!
Otherwise after saving the config, the related scheduler will not run the expected scheduler anymore.
{
  "mass-transfer-scheduler": [
    {
      "module": "core_Contacts",
      "fieldName": "process_status_c",
      "fieldValue": "hubengine",
      "fieldValueNew": ""
    },
    {
      "module": "core_Accounts",
      "fieldName": "process_status_c",
      "fieldValue": "hubengine",
      "fieldValueNew": ""
    }    
  ]
}

postal-code-lookup

To use this feature, the module Postal Code Package (>=1.0.5) needs to be installed. Minimum DataEngine version is 22.04.3.

The postal code lookup module automatically uses the fields *postalcode and *country to lookup the city and state. This should be fine for most cases as our core modules use these field names.

If a customer has different field names, the custom config can be used to add custom field mappings. This will disable the automatic field lookup of postalcode for this module.

There are two special options defaultCountry and countryCodeMapping which can be used to set the default country and map country codes.

Changing this config needs a Quick Repair and Rebuild after the config is saved.

{
  "postal-code-lookup": [
    {
      "module": "full_example_Contacts",
      "postalCodeField": "zipcode",
      "cityField": "city",
      "countryField": "country",
      "stateField": "state",
      "districtField": "district",
      "defaultCountry": "US",
      "countryCodeMapping": {
        "D": "DE",
        "USA": "US"
      }
    },
    {
      "module": "minimal_example_Contacts",
      "postalCodeField": "zipcode",
      "cityField": "town",
      "countryField": "nation"
    }
  ]
}

name-workflow

To use this feature, the module NameWorkflow needs to be installed.

Instead of adding workflows which generate big process audit entries, the NameWorkflow module can be used to add a name to a record.

The key of each entry is the name of the module.

For a module a value can be defined which is used as name for the record. It is possible to use the field values of the record in the name, by using the field name in curly braces. If a relation field is used as replacement, the name of the related record is used.

If the value at the end is empty, the name will be set to the value of emptyValue if it is set.

If onlyIfEmpty is set to true, the name will only be set if the name is empty and will not be updated if the name is already set.

{
  "name-workflow": {
    "core_Contacts": {
      "value": "{first_name} {last_name}",
      "emptyValue": "No need for a name",
      "onlyIfEmpty": true
    },
    "minimal_example_Contacts": {
      "value": "{first_name} {last_name}"
    },
    "more_examples": {
      "value": "Created User ID: {created_by} Created User name: {created_by_name}"
    },
    "more_examples_2": {
      "value": "Name of the first related: {test_test_drama_move_1}"
    }
  }
}

webhook

To use this feature, the module Webhook Integration needs to be installed.

The custom config can be used to add custom mappings for webhooks. For Webhooks please also see the documentation on the Webhook Access Token admin page.

The key of each entry is the name of the module which the webhook will write.

The mapping is then defined as field_name:webhook_field_name.

The webhook_field_name is the name of the field which would be used automatically by the Webhook Integration module.

This mapping should be used if the automatic generated name is too long or if the field name is not allowed by the module.

{
  "webhook": {
    "test_test": {
      "testarray": "properties_testarray_3_la",
      "properties_testarray": "properties_testarray_1"
    }
  }
}

This would map the fields for the following input json:

{
  "properties": {       // properties
    "testarray": [      // properties_testarray
      "a",              // properties_testarray_0
      "b",              // properties_testarray_1
      "c",              // properties_testarray_2
      {                 // properties_testarray_3
        "la": "test"    // properties_testarray_3_la
      }
    ]
  }
}