Custom Properties (Metadata)

Custom Properties allow you to add metadata fields to objects in TrialGrid. Think of them as user-defined attributes that extend the built-in properties of each object type.

When you define a Custom Property for an object type in a URL, that property becomes available to all objects of that type in that URL. For example, adding a "Version" property to Fields means every field in your URL will have a Version attribute you can edit.

Supported Objects

Custom Properties can be associated with:

Property Types

Type

Description

Text

Free text up to 8,000 characters. Optionally constrained by a maximum length and/or a validation pattern (see Text Validation below).

HTML

Rich text with HTML formatting support. HTML content is sanitized for security — script tags and potentially dangerous HTML are automatically removed.

Choice

A set of predefined options from which users select a value

Reference

A reference to a custom object type. Creates a dynamic pick-list from custom objects of the referenced type in the same Draft.

Important

Reference properties are only valid for Drafts and objects within Drafts. Projects cannot have reference properties. Note also that referenced properties cannot be self-referential so a custom object of type "Approval State" cannot have a reference property that relates to objects of type Approval State.

Property Attributes

Each Custom Property has several configurable attributes:

Attribute

Description

Display Order

Controls the sequence in which properties appear. Properties with the same order value appear in undefined order. Negative values are allowed.

Active

Determines if the property is available for use. Unchecking this retires the property while preserving existing data.

Show in Lists

Makes the property visible in object listings alongside standard attributes like Name and OID.

Reserved for Actions

Prevents manual editing. Only Actions can modify these values. Read-only properties display with a icon.

Include in Compliance Calculations

Controls whether property values affect compliance checks when comparing objects for standards deviations.

Text Validation

Text-type properties support two optional validation constraints that are enforced wherever property values are entered — the form editor, property sheets, and action dialogs.

Maximum Length

Limits the number of characters allowed. Values exceeding this limit are rejected with a message indicating the maximum length.

Validation Pattern

A regular expression that values must match in full. For example, [A-Z]{2}\d+ requires two uppercase letters followed by one or more digits. A good introduction to regular expressions is available at https://regexone.com/ and you can test patterns at https://regex101.com/.

Both constraints are configured on the property definition form when the value type is set to Text. They appear automatically and are hidden for other value types.

When editing a property definition, TrialGrid checks existing values against new constraints. If any existing values would violate the new constraint, the change is rejected with an example of a conflicting value.

Tip

Keep validation patterns simple. Common examples include [A-Z0-9]+ for alphanumeric codes or \d{4}-\d{2}-\d{2} for date-like strings. Patterns that could cause excessive backtracking (nested quantifiers like (a+)+) are automatically rejected.

Managing Choice Values

Choice-type properties have a dedicated management page for their value list. To access it, edit the property and click Manage Value Choices.

Adding values

Enter a new value and click Add. Duplicate values (case-insensitive) are not allowed.

Renaming values

Click the rename button next to a value, enter the new name and confirm. TrialGrid updates the definition immediately and queues a background task to update all objects that use the old value. If the new name matches an existing value you are offered the option to merge instead.

Merging values

When renaming would create a duplicate, TrialGrid offers to merge the source value into the target. Merging removes the source from the value list and updates all objects that used it to the target value.

Deleting values

A value can only be deleted if it is not currently assigned to any object. TrialGrid checks usage in the background and reports an error if the value is in use.

Reordering values

Use the up/down arrows to change the display order of values. The order is reflected in all dropdown selectors.

Activating and deactivating values

Individual choice values can be deactivated without removing them. Deactivated values:

  • Do not appear in dropdown selectors for new selections

  • Still appear in dropdowns where an object already has that value, so existing data is preserved

  • Remain in the value list on the management page and can be reactivated at any time

Tip

Deactivating a value is useful when a choice should no longer be assigned to new objects but existing assignments must be preserved.

Inactive Properties

When a property is marked inactive, it becomes hidden in most contexts but remains functional where already in use:

Hidden from:
  • New object creation screens

  • Property listings

  • Spreadsheet views (unless at least one row has a value)

  • Metadata tabs in editors (unless a value exists)

  • Comparison views (unless either object has a value)

Still active in:
  • Compliance calculations and rules

  • Diagnostic processing

  • ALS imports and exports

  • Existing projects that already use the property

Tip

Use inactive properties to phase out metadata fields without breaking existing projects or losing historical data.

Compliance Calculations

The "Include in Compliance Calculations" setting is particularly useful for library objects that contain metadata not relevant to study drafts.

Example scenario:

A library form might have properties like "Standards Reference" or "Usage Instructions" that shouldn't trigger compliance failures when absent from study drafts.

Import and Export

Custom Properties integrate with the Architect Loader Spreadsheet format:

Export

Properties are exported to worksheets named TG_<objectname>Properties (e.g., TG_FieldProperties)

Import

Properties can be imported from these same worksheets, with one critical requirement:

Important

TrialGrid only imports properties that already exist in the destination URL. For example, if your spreadsheet contains a "DOMAIN" property for Fields, it will only import if "DOMAIN" is already defined as a Field property in the target URL. Undefined properties are skipped with a warning.

Note

Medidata Rave ignores Custom Property worksheets in Architect Loader Spreadsheets uploaded to Architect.

Common Use Cases

Version Management

Add a "Version" text property to track iteration numbers across draft objects

Documentation

Add an HTML-enabled "Instructions" text property to provide formatted guidance within objects