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 configuration 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.

sortable

no


Ensure to sort the results before opening the Properties Editor, as column sorting inside the Properties Editor is not currently supported.

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": []
}
CODE

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": []
   }
  ]
},
]
JAVA


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": [] 
      }
    ]
   }
  ]
 },
]
JAVA

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": []
}
JAVA


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 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": []
  }
 ]
}
JAVA


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.