Properties Editor concept - SysAdmin
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.
Context
The Properties editor is available in asset lists (search results). The Properties editor configuration is stored in a Table (Properties editor) asset.
Prerequisites
None
Introduction
The Properties editor table offers a convenient way to edit the properties of search results. The table allows inline editing of the respective properties.
The configuration defines, which properties can be edited in the Properties editor table. Each table row represents an asset from the search results. Each column represents an asset property. Editable properties can be edited directly in the respective table cell. Non-editable properties can only be viewed.
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.
Usage
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.
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 configuration in the Choose editor configuration dialog.
JSON schema
Properties editor table configurations are stored in a Module / Table (Properties editor) type asset. The master file must contain a JSON representation of the data model (asset properties) that can be edited with this configuration.
The JSON schema represents the data model of the Properties editor table and contains additional parameters that define the table layout and the editable properties.
For each asset property, add the required and optional set of parameters that define the property to be displayed. Also, configure the display and edit options in the Properties editor:
Parameter | 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. |
sortable | no | Boolean. If true, users can sort the table by this property. Default: false. |
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 multiple values. For example, multiple items from a value list.
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 an 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. For example calculated or automatically generated properties. |
Asset is checked-out | Assets that are checked-out by other users when the Properties editor initializes, cannot be edited. |
User has no permission | The current user needs permissions to edit the assets, otherwise the 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 properties editor 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, 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 following tasks that are necessary to complete a task. Only use if you can link to the next steps. Otherwise, remove.