MDL Overview
Use MDL (Metadata Definition Language) to manage Vault configuration. Like DDL (Data Definition Language) in databases, you can use MDL to create, describe (read), update, and drop (delete) Vault components that make up its configuration.
MDL is a powerful tool for manipulating components programmatically, but its primary use is automating tasks. While MDL mimics the behavior of Vault's Admin UI, it is not intended for use as a default tool for basic configuration tasks or maintenance on an ongoing basis. To manage most standard configuration tasks, use the Admin UI.
MDL Commands
Section link for MDL CommandsMDL uses CRUD-like commands to manage components for Vault. You can use the CREATE, RECREATE, RENAME, ALTER, and DROP commands to manage Vault configuration components.
Use operators to define conditions for MDL command execution. Learn more in the MDL Commands documentation.
Vault Components
Section link for Vault ComponentsMDL provides access to component types, which are the configuration elements of a Vault. Vault groups component types by either metadata types (Picklist, Object, Docfield, etc.) which manage the configuration of a Vault, and code types (Recordtrigger, Documentaction, Recordaction, and Userdefinedclass) which extend the functional behavior of a Vault.
See Component Type References for details of each MDL supported Vault component type.
Subcomponents
Section link for SubcomponentsSome component types store data in additional child components, called subcomponents. For example, each section visible to users in a Searchcollection is stored as an individual Searchcollectionsection subcomponent record.
Components have a parent-child relationship with their subcomponents, meaning that a subcomponent record must belong to a parent component record. Deleting a component record with the DROP command also deletes any associated subcomponent records.
With the exception of the component types listed below, inactivating a record by changing its active attribute value to false also inactivates any associated subcomponent records. Note that reactivating a parent component record does not reactivate its children.
Inactivating records of the following component types does not inactivate associated subcomponent records:
AtomicsecurityDoclifecycleDocmatchingruleDocparticipantruleJobObjectObjectlifecycleObjecttypeObjectworkflowPicklistSharingruleTabWorkflow
Attribute Constraints
Section link for Attribute ConstraintsSome component types include attribute constraints, which ensure all values for a given attribute meet certain criteria. Attribute constraints are read-only.
Localization
Section link for LocalizationBy default, MDL executes in the context of Vault’s base language. Vault Admins manage localizable attributes, including Java SDK custom Messages, using Vault's translation tools