Properties Editor
The Properties Editor (PE) allows users to edit properties of multiple assets at once. The editable properties are configured in a Table (Properties editor) asset. Several Properties editor configurations can be added to your system.
What is Properties Editor
The Properties Editor is a bulk-edit tool for censhare Web. The Properties Editor is accessible from asset lists, e.g., search results, Favorites, etc.
The Properties Editor appears as a table view with all assets from the list as rows and the editable properties as columns. The table allows inline editing of the respective properties.
Properties Editor Configuration
General notes
Properties Editor configuration defines which 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 a configuration that better fits with the type of assets they want to edit.
Properties Editor configurations are stored as JSON files on the assets of the Table (Properties editor) type.
Default configuration
The censhare default configuration is based on the data model for products and can be used in PIM systems out-of-the-box. It is called Properties Editor - Default. Resource key:
censhare:properties-editor-default-config
Create a new Properties Editor configuration
To create a new PE configuration:
Duplicate the Properties Editor - Default configuration.
Edit the properties of the duplicated asset.
In the censhare Admin Client, open the Actions menu () and click Synchronize module assets. In the dialog, select the Required and Optional fields and click OK.
Users must log out and log in again for the changes to become effective.
Using non-default PE configurations
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.
More on the 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. |
Allowed 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 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.
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 in the PE interface are child features of a feature asset, i.e., other feature assets related to the parent feature asset. In the PE configuration, you can specify which of the existing child features should be displayed for each feature.
If you do not state any children in the configuration, the PE will show all child features defined in the master data for this feature.
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": []
}
]
},
]
Only trait
and property
are required. readOnly
and required
may be skipped. However, in this case they will be set to false
.
Nested child properties
Nested child properties are children of child properties. 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": []
}
]
}
]
},
]
Any amount of levels is supported.
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 Configure 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 before 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. |