Properties Editor
The Properties editor allows users to edit the properties of all assets from a search result inline in a table. The editable properties are configured in a Table (Properties editor) asset. Several Properties editor configurations can be added to your system.
Key concept
The Properties editor is a bulk-edit tool for censhare Web. The Properties editor is available in asset lists. For example, a user searches all article assets that she created, and then starts the Properties editor for Articles and adds or changes the author property.
The Properties editor launches a table view with all assets from the list (rows) and the editable properties (columns). The table allows inline editing of the respective properties.
A Properties editor configuration stores the asset properties and their attributes that can be edited. Multiple Properties editor configurations can be added to censhare. When users start the Properties editor, they can select the desired configuration. For example, the Properties editor configurations Product properties, Image metadata and Content metadata can be available.
A Properties editor configuration is stored in a JSON file in a Module / Table (Properties editor) asset. The table configuration defines, which properties can be edited in the Properties editor.
The censhare default configuration is based on the data model for products and can be used in PIM systems. For details, see Default properties editor configuration .
You can define multiple table configurations with different asset properties. Depending on the use case and governance model, you can configure your system in one of the following ways:
Domain-based: Assign your Properties editor configurations to a specific domain. In the Choose editor configuration dialog, users can select all configurations from their domain, from parent and child domains, but not from sibling domains. For example, add Properties editor configurations for the Media domain, Content domain and Product domain.
Workspace-based: Create a Resource replace variant of the Properties editor configurations in the censhare standard product to replace the configurations in the whole workspace. Users can select replaced configuration in the Choose editor configuration dialog. The original configurations are no longer available.
Multiple editor configurations: Create multiple Properties editor configurations without any restrictions. Users can select these additional configurations in the Choose editor configuration dialog.
JSON schema
The JSON schema represents the data model of editable asset properties. The schema works independently from the asset type. Each asset property is represented as a JSON object with required and optional attributes:
Attribute | Required | Description |
---|---|---|
trait | yes | Trait key and property key combined are the unique identifier of the asset property. For more information, see Create a new feature. |
property | yes | |
readOnly | no | Boolean. If true, the property cannot be edited in the Properties editor table. See also other restrictions that can prevent a property from being editable. Default: false. |
required | no | Boolean. If true, users can only save the Properties editor table when a value is entered. Default: false. |
pinned | no | Use the values left and right to pin the table column. If multiple columns are pinned to the same side, they display in the same order as in the JSON file. |
children | no | Use to display child properties of an asset property. |
Editable value types
Asset properties have a value type that determines the storage, possible operations and actions. For more information, see the section Notes on the value types in Create a new feature.
The Properties editor table supports the editing of the following value types:
Value type | Description |
---|---|
Text (string) | Text values are stored as a string and can contain any character. For example, asset name and asset description. |
Numeric | The subtypes integer and floating-point number are supported. For example product price, or EAN. |
Date / time | All subtypes and pair values are supported. For example, Expiry date, or End of life. |
Value lists | All subtypes (flat value list, hierarchical value list, and dynamic value list) are supported. For example, Keywords. |
Boolean | Allowed values are true/false. The Properties editor displays the defined UI control (toggle or checkbox). |
The value types Asset key reference, Asset reference, and XML are shown in the table, but cannot be edited.
Basic schema
To add an asset property to the Properties editor table, use the following schema:
{
"relations": [
"ASSET_RELATION_CONFIG_RESOURCE_KEY"
],
"features": []
}
Multiple values
The Properties editor supports properties with multiple values.
Inherited and looked-up values
Inherited and looked-up property values are displayed in the table with the respective icons. Inherited and looked-up properties cannot be edited.
Child properties
Child properties display in expandable table columns. You can also display nested child properties (child properties of child properties). Although the JSON schema allows to set the readOnly parameter to false, child properties cannot be edited currently in the Properties editor. The edit mode of a child property table cell shows the values of the parent property. Therefore, we strongly recommend to always use the "readOnly": true mode for child properties.
To add an asset property and the respective child property, use the following schema:
"features": [
{
"trait": "TRAIT_NAME",
"property": "PROPERTY_NAME",
"readOnly": TRUE/FALSE,
"required": TRUE/FALSE,
"children": [
{
"trait": "TRAIT_NAME",
"property": "PROPERTY_NAME_Context",
"readOnly": TRUE,
"required": TRUE/FALSE,
"children": []
}
]
},
]
To add nested child properties, use the following schema:
"features": [
{
"trait": "TRAIT_NAME",
"property": "PROPERTY_NAME",
"readOnly": TRUE/FALSE,
"required": TRUE/FALSE,
"children": [
{
"trait": "TRAIT_NAME",
"property": "PROPERTY_NAME_Context",
"readOnly": TRUE,
"required": TRUE/FALSE,
"children": [
{
"trait": "TRAIT_NAME",
"property": "PROPERTY_NAME_ContextContext2",
"readOnly". "TRUE^",
"required": "TRUE/FALSE",
"children": []
}
]
}
]
},
]
Asset structures
The Properties editor can display asset structures in a nested view. Users can expand rows that are flagged with an ► icon to display related assets. Relations can be configured in either direction (child or parent assets, feature references or feature-reverse references). Related assets are editable as well.
The asset structures that you want to include in a Properties editor configuration are configured separately in Asset relation (config) Module assets.
The asset relation configurations must be referenced in the JSON schema as follows:
{
"relations": [
"ASSET_RELATION_CONFIG_RESOURCE_KEY"
],
"features": []
}
You can add multiple asset relation configurations to the same JSON file.
To search for the asset relation configurations that are preconfigured in censhare, search for the Asset type Module / Configuration / Asset relation (config).
To learn more about the usage, and to create custom asset relation configurations, see Asset relations (config) assets.
Conditions that prevent a property from being editable
In the Properties editor, censhare checks the following conditions in descending order (top row has the highest priority):
Condition | Description |
---|---|
Modifiable-by-user must be enabled | In the Feature table, asset properties can be excluded from editing. |
Asset is checked-out | Assets that are checked-out by other users when the Properties editor is launched, cannot be edited. |
User has no permission | The current user needs permissions to edit assets, otherwise, properties can only be viewed. |
No non-owner access | If the non-owner access of an asset is removed and the current user is not the owner, the asset cannot be edited. |
Asset is master asset from a working copy | If a working copy was created from an asset, the master asset is locked until the working copy is released. |
Default configuration
The censhare standard distribution contains a default configuration that can be used as is to display and edit product properties in a PIM system. You can use the default configuration to create your own configurations. Search for the Default Properties Editor Configuration asset (resource key censhare:properties-editor-default-config). Download the JSON master file and edit it in an external editor.
The JSON representation of the default configuration:
{
"features": [
{
"trait": "display",
"property": "name",
"readOnly": false,
"required": true,
"pinned": "left",
"children": []
},
{
"trait": "type",
"property": "type",
"readOnly": true,
"required": true,
"children": []
},
{
"trait": "content",
"property": "language",
"children": []
},
{
"trait": "product",
"property": "ean",
"children": []
},
{
"trait": "product",
"property": "brand",
"children": []
},
{
"trait": "product",
"property": "designer",
"children": []
},
{
"trait": "product",
"property": "manufacturer",
"children": []
},
{
"trait": "product",
"property": "retailer",
"children": []
},
{
"trait": "type",
"property": "category",
"children": [
},
{
"trait": "product",
"property": "priceOffer",
"readOnly": true,
"required": true,
"children": []
},
{
"trait": "product",
"property": "priceRetail",
"readOnly": true,
"required": true,
"children": []
},
{
"trait": "created",
"property": "by",
"readOnly": true,
"required": true,
"children": []
},
{
"trait": "created",
"property": "date",
"readOnly": true,
"required": true,
"children": []
},
{
"trait": "modified",
"property": "date",
"readOnly": true,
"required": true,
"children": []
},
{
"trait": "modified",
"property": "by",
"readOnly": true,
"required": true,
"children": []
},
{
"trait": "versioning",
"property": "version",
"readOnly": true,
"required": true,
"children": []
}
]
}
Related contentxible structuring and article length according to the necessary depth and scope of information. Describe the concept of a feature, or the approach to a solution in cenTaur. Do not repeat the Excerpt! Add more sections, graphics, tables, and lists.
Result
Write one sentence about what users see or what they have learned in this article. Do not repeat the Excerpt!
Next steps
Optionally, enter the following tasks that are necessary to complete a task. Only use if you can link to the next steps. Otherwise, remove.