dataInstall decides whether a data scope’s content installs. Mandatory on every scope.

Minimal JSON

{
    "condition": "",
    "targetApplicationKey": ""
}
{
    "condition": "targetSpaceApplicationEmpty",
    "targetApplicationKey": "core_data_catalog#core_data_catalog_app"
}

Nested properties

PropertyDescriptionValuesMandatory
conditionDecides whether the scope installs. See Supported condition values.stringYes
targetApplicationKeyKey of the application this scope’s space and objects belong to.stringYes

Supported condition values

ValueDescription
alwaysInstall unconditionally.
targetSpaceApplicationEmptyInstall only when this scope’s space has no objects of the target application yet — a space the package hasn’t created yet also counts as empty. Checked per (space, application) pair, so the same application already holding objects in a different space doesn’t block this scope. Export object data always writes this condition.
targetApplicationEmptyInstall only when the target application holds no objects anywhere, including this scope’s own space — even a brand-new space skips if the application already has objects elsewhere. Use this when a package owns the application outright; the skip reason names only the application and object count, since no single space drives the decision.