Customizations

Customizations allow you to tailor Entropy Data to your organization's specific needs. You can customize data product filters, the data contract editor, and the marketplace info card.

Customizations are configured per organization using a YAML configuration.

Editing Customizations

To edit your organization's customizations:

  1. Navigate to Organization Settings (click on your organization name in the top navigation, then select "Settings")
  2. Go to the Customization page
  3. Edit the YAML configuration in the editor
  4. Save your changes

Configuration Schema

The customization configuration supports three main sections:

  • dataProduct: Customize data product filters, status values, and marketplace visibility
  • dataContract: Customize the data contract editor
  • marketplace: Customize the marketplace page

Data Product Customizations

You can customize data products by overriding standard properties, adding custom properties and custom sections, configuring custom filters, and controlling marketplace visibility.

Configurable Sections

The following sections of the data product can be customized:

SectionDescription
rootTop-level data product properties (name, status, type, domain, etc.)
descriptionODPS description sub-fields (purpose, usage, limitations)
outputPortsOutput port properties

Standard Properties

Override the behavior of built-in data product properties:

dataProduct:
  root:
    standardProperties:
      - property: status
        required: true
        enum:
          - value: draft
            label: Draft
            showInMarketplace: false
          - value: active
            label: Active
            showInMarketplace: true
      - property: tenant
        hidden: true
  description:
    standardProperties:
      - property: purpose
        required: true
        description: Describe the business purpose of this data product
PropertyTypeDescription
propertystringName of the standard property to customize (required)
titlestringOverride the display title
descriptionstringOverride the description/help text
placeholderstringPlaceholder text for the input
requiredbooleanWhether the field is required
hiddenbooleanHide the field from the form
readOnlybooleanMake the field read-only
enumarrayRestrict values to a specific list
patternstringRegex pattern for validation
patternMessagestringError message when pattern validation fails
defaultanyDefault value

Available Standard Properties

dataProduct.root:

PropertySupports
idreadOnly, description, placeholder
namereadOnly, description, placeholder
statusrequired, readOnly, enum (with marketplace visibility and disabled conditions)
typehidden, required, readOnly, title, description, enum
domainreadOnly
descriptionreadOnly, description, placeholder
tagsreadOnly
tenanthidden, readOnly

dataProduct.description (ODPS only):

PropertySupports
purposerequired, readOnly, description
usagereadOnly, description
limitationsreadOnly, description

dataProduct.outputPorts:

PropertySupports
statusenum

Data Product Status Enum

The status property supports extended enum formats with marketplace visibility and conditional disabling:

enum:
  - value: draft
    label: Draft
    showInMarketplace: false
  - value: active
    label: Active
    showInMarketplace: true
  - value: deprecated
    label: Deprecated
    showInMarketplace: true
    disabledCondition: "status == 'active'"
  - value: end-of-life
    label: End of Life
    showInMarketplace: false
    disabledCondition: "status == 'active' || status == 'deprecated'"
PropertyTypeDescription
valuestringThe stored value (required)
labelstringDisplay label shown in the UI
showInMarketplacebooleanWhether data products with this status appear in the marketplace
disabledConditionstringConditional expression to disable this option

When showInMarketplace is false, data products with that status are hidden from the marketplace but still visible in the data product list.

Use disabledCondition to enforce lifecycle workflows (e.g., preventing backwards status transitions). When the condition evaluates to true, the option is grayed out in the dropdown.

Custom Properties

Add custom properties to capture organization-specific metadata on data products. Custom properties can be defined at different section levels (root, description, team, team.members, outputPorts).

dataProduct:
  root:
    customProperties:
      - property: riskAssessment
        title: Risk Assessment
        description: The risk assessment according to internal policies.
        type: select
        enum:
          - low risk
          - medium risk
          - high risk
      - property: dataResidency
        title: Data Residency
        description: The region where the data is stored and processed.
        type: select
        enum:
          - EU
          - US
          - APAC
          - Global
          - Other
PropertyTypeDescription
propertystringProperty name (required)
titlestringDisplay title (required)
typestringInput type (required). See supported types below
descriptionstringHelp text for the property
requiredbooleanWhether the field is required
defaultanyDefault value
placeholderstringPlaceholder text
conditionstringConditional display expression
enumarrayOptions for select/multiselect types
minimumnumberMinimum value for number/integer types
maximumnumberMaximum value for number/integer types
minLengthintegerMinimum length for text fields
maxLengthintegerMaximum length for text fields
patternstringRegex pattern for validation
patternMessagestringError message when pattern validation fails

Supported Types

TypeDescription
textSingle-line text input
textareaMulti-line text input
numberDecimal number input
integerWhole number input
selectDropdown selection (single value)
multiselectDropdown selection (multiple values)
booleanCheckbox (true/false)
dateDate picker
datetimeDate and time picker
urlURL input with validation
emailEmail input with validation

Conditional Display

Use the condition property to show or hide fields based on other property values:

customProperties:
  - property: retentionPeriod
    title: Retention Period
    type: text
    condition: "status == 'active'"

Supported operators: ==, !=, &&, ||, contains, null checks.

Custom Sections

Organize custom properties into dedicated sections on the data product detail and edit pages:

dataProduct:
  root:
    customProperties:
      - property: riskAssessment
        title: Risk Assessment
        description: The risk assessment according to internal policies.
        type: select
        enum:
          - low risk
          - medium risk
          - high risk
      - property: dataResidency
        title: Data Residency
        description: The region where the data is stored and processed.
        type: select
        enum:
          - EU
          - US
          - APAC
          - Global
          - Other
    customSections:
      - section: compliance
        title: Compliance
        description: Example of custom properties
        positionAfter: description
        expanded: true
        customProperties:
          - riskAssessment
          - dataResidency
PropertyTypeDescription
sectionstringUnique identifier for the section (required)
titlestringDisplay title for the section (required)
descriptionstringOptional description shown below the title
positionAfterstringWhere to place the section (see positions below)
expandedbooleanWhether the section is expanded by default
customPropertiesstring[]List of custom property names to include

Section Positions

The positionAfter value controls where the section appears on the page:

ValuePlaced after
overview / fundamentalsThe overview/fundamentals card
descriptionThe description section
teamThe team section
outputPortsThe output ports section
inputPortsThe input ports section

Custom properties not assigned to any section are rendered inline within their parent card.

Custom Filters

Custom filters appear in the data product list sidebar and allow filtering by custom field values.

dataProduct:
  customFilters:
    - displayName: Subject Area
      customField: subjectArea
    - displayName: Business Unit
      customField: businessUnit
PropertyTypeRequiredDescription
displayNamestringYesThe label shown in the UI for this filter
customFieldstringYesThe name of the custom field to filter on

Data Contract Editor Customizations

You can customize the data contract editor to show, hide, or modify standard properties, add custom properties, and organize them into custom sections.

For detailed documentation on all customization options, see the Data Contract Editor Customization documentation.

Configurable Sections

The following sections of the data contract editor can be customized:

SectionDescriptionStorage Location
rootTop-level contract properties (id, version, status, etc.)customProperties
descriptionDescription section (title, description, purpose)description.customProperties
schemaSchema configurationschema[*].customProperties
schema.propertiesIndividual schema field propertiesschema[*].properties[*].customProperties
serversServer/connection configurationservers[*].customProperties
teamTeam informationteam.customProperties
team.membersTeam member detailsteam.members[*].customProperties
rolesRole definitionsroles[*].customProperties
supportSupport informationsupport[*].customProperties

Standard Properties

You can customize standard (built-in) properties of the data contract by overriding their behavior:

dataContract:
  root:
    standardProperties:
      - property: status
        enum:
          - draft
          - active
          - retired
      - property: version
        required: true
        pattern: "^\\d+\\.\\d+\\.\\d+$"
        patternMessage: Version must follow semantic versioning (e.g., 1.0.0)
  schema.properties:
    standardProperties:
      - property: classification
        hidden: true
PropertyTypeDescription
propertystringName of the standard property to customize (required)
titlestringOverride the display title
descriptionstringOverride the description/help text
placeholderstringPlaceholder text for the input
requiredbooleanWhether the field is required
hiddenbooleanHide the field from the editor
enumstring[]Restrict values to a specific list
patternstringRegex pattern for validation
patternMessagestringError message when pattern validation fails
defaultanyDefault value for new contracts

Custom Properties

Add custom properties to capture organization-specific metadata:

dataContract:
  root:
    customProperties:
      - property: legalEntity
        title: Legal Entity
        description: This is an example for a custom property
        type: text
  schema.properties:
    customProperties:
      - property: businessCriticality
        title: Business Criticality
        type: select
        enum:
          - low
          - medium
          - high
          - critical
      - property: businessImpact
        title: Business Impact
        type: textarea
        description: Impact if data is unavailable, inaccurate, or delayed (financial, operational, legal, reputational)
        placeholder: e.g., Revenue loss of $10k/hour if unavailable
        condition: team.name == 'sales-team'
PropertyTypeDescription
propertystringProperty path, typically prefixed with custom. (required)
titlestringDisplay title for the property (required)
typestringInput type (required). See supported types below
descriptionstringHelp text for the property
requiredbooleanWhether the field is required
defaultanyDefault value
placeholderstringPlaceholder text
conditionstringConditional display expression
enumstring[]Options for select/multiselect types
minimumnumberMinimum value for number/integer types
maximumnumberMaximum value for number/integer types
minLengthintegerMinimum length for text fields
maxLengthintegerMaximum length for text fields
patternstringRegex pattern for validation
patternMessagestringError message when pattern validation fails

Supported Types

TypeDescription
textSingle-line text input
textareaMulti-line text input
numberDecimal number input
integerWhole number input
selectDropdown selection (single value)
multiselectDropdown selection (multiple values)
arrayArray of text values
booleanCheckbox (true/false)
dateDate picker
datetimeDate and time picker
urlURL input with validation
emailEmail input with validation

Enum Formats

Enums can be defined as simple strings or as value-label pairs for more control over display:

Simple strings:

enum:
  - public
  - internal
  - confidential

Value-label pairs:

enum:
  - value: pub
    label: Public
  - value: int
    label: Internal
  - value: conf
    label: Confidential

Conditional Display

Use the condition property to show or hide fields based on other property values:

customProperties:
  - property: custom.retentionPeriod
    title: Retention Period
    type: text
    condition: "status == 'active'"

Condition syntax:

  • Reference root properties directly: status == 'active'
  • Reference other levels with prefix: schema.type, schema.properties.piiCategory
  • Supported operators: ==, !=, &&, ||
  • Array checks: tags contains 'gdpr'
  • Null checks: tenant != null

Custom Sections

Organize custom properties into dedicated sections in the editor:

dataContract:
  schema.properties:
    customProperties:
      - property: businessCriticality
        title: Business Criticality
        type: select
        enum:
          - low
          - medium
          - high
          - critical
      - property: businessImpact
        title: Business Impact
        type: textarea
        description: Impact if data is unavailable, inaccurate, or delayed
        condition: team.name == 'sales-team'
    customSections:
      - section: business-criticality
        title: Business Criticality
        customProperties:
          - businessCriticality
          - businessImpact
PropertyTypeDescription
sectionstringUnique identifier for the section (required)
titlestringDisplay title for the section (required)
positionAfterstringReference section ID to position this section after
customPropertiesstring[]List of custom property names to include in this section

Marketplace Customizations

Customize the info card displayed on the marketplace page to provide organization-specific guidance.

marketplace:
  infoCard:
    headline: Our Data Catalog
    text: Welcome to our internal data catalog. Find and request access to data products.
    linkText: Learn More
    linkUrl: https://wiki.example.com/data-catalog
PropertyTypeDescription
headlinestringHeadline text for the info card
textstringDescription text explaining the marketplace
linkTextstringText for the call-to-action link button
linkUrlstringURL for the link button (must be a valid URL)

Complete Example

Here is a complete example combining all customization options:

dataProduct:
  root:
    standardProperties:
      - property: status
        required: true
        enum:
          - value: draft
            label: Draft
            showInMarketplace: false
          - value: active
            label: Active
            showInMarketplace: true
          - value: deprecated
            label: Deprecated
            showInMarketplace: true
            disabledCondition: "status == 'active'"
          - value: retired
            label: Retired
            showInMarketplace: false
            disabledCondition: "status == 'active' || status == 'deprecated'"
      - property: tenant
        hidden: true
    customProperties:
      - property: riskAssessment
        title: Risk Assessment
        description: The risk assessment according to internal policies.
        type: select
        enum:
          - low risk
          - medium risk
          - high risk
      - property: dataResidency
        title: Data Residency
        description: The region where the data is stored and processed.
        type: select
        enum:
          - EU
          - US
          - APAC
          - Global
          - Other
    customSections:
      - section: compliance
        title: Compliance
        description: Example of custom properties
        positionAfter: description
        expanded: true
        customProperties:
          - riskAssessment
          - dataResidency
  description:
    standardProperties:
      - property: purpose
        required: true
  outputPorts:
    standardProperties:
      - property: status
        enum:
          - active
          - deprecated
          - retired

dataContract:
  root:
    customProperties:
      - property: legalEntity
        title: Legal Entity
        description: This is an example for a custom property
        type: text
  schema.properties:
    customProperties:
      - property: businessCriticality
        title: Business Criticality
        type: select
        enum:
          - low
          - medium
          - high
          - critical
      - property: businessImpact
        title: Business Impact
        type: textarea
        description: Impact if data is unavailable, inaccurate, or delayed (financial, operational, legal, reputational)
        placeholder: e.g., Revenue loss of $10k/hour if unavailable
        condition: team.name == 'sales-team'
    customSections:
      - section: business-criticality
        title: Business Criticality
        customProperties:
          - businessCriticality
          - businessImpact

marketplace:
  infoCard:
    headline: Data Marketplace
    text: Discover and request access to data products across the organization.
    linkText: Documentation
    linkUrl: https://docs.example.com/data-catalog