This extension allows to versioning infofields of an asset. Prior to installing the plugin the database table at the end has to be created.
To be configured in {home}/appserver/conf/custom.properties
type: String, required: yes, default: -
The license key for the plugin (product: versionedInfofields), provided by brix.
type: list of long (comma separated), required: no, default: -
Restrict the use of the plugin to this user group IDs (superadmins will always see it in any case). If not set, all users can use the plugin.
type: list of long (comma separated), required: no, default: -
Restrict the use of the editor to this user group IDs (superadmins can always use it). If not set, all users can use the editor.
type: list of long (comma separated), required: yes, default: -
List of the versioned information field ids.
type: boolean, required: no, default: false
Enables or disables the CELUM authentication of the versioned infofields api.
type: String, required: no, default: false
If a secret is specified, all requests to the Version Data Controller need to send a valid secret or they will be denied.
The secret can be sent as a GET-Parameter, alternatively you can pass the secret as an
Authentication
header, e.g.Authentication: Bearer <your-secret>
type: boolean, required: no, default: false
User that will be used for the Version Data Controller. If not set, the api user will be used.
type: boolean, required: no, default: false
Enables the version editor context menu entry (Versioned Infofields)
type: boolean, required: no, default: true
Show the version editor menu entry if the asset has version 0.
type: list of downloadformat ids, required: no, default: -
Restrict the available download formats in the version viewer. If empty, the downloadformats are not restricted.
type: boolean, required: no, default: false
Restricts the version editor tab in the version viewer to assets included in a search expression (see Search Util 2).
There are system tasks to trigger the import and export.
Exports asset data to an Excel file, so that it can be used for the import.
type: string, required: no, default: yyyy-MM-dd
The date format to use for the export (Java's SimpleDateFormat syntax).
type: string, required: yes, default: -
The filter to use for the export (see Search Util 2).
type: string, required: yes, default: -
A file path where the file is exported. The file should end in .xlsx
. E.g. C:/celum/migration/export.xlsx
type: string, required: yes, default: -
A comma-separated list of fields to export. If versionId is missing only the active values are exported. Possible values:
Import versioned fields. Important to know:
.xlsx
.type: string, required: no, default: yyyy-MM-dd
The date format to use for the import (Java's SimpleDateFormat syntax).
type: string, required: yes, default: -
A folder for the import. The import task will look for *.xlsx files in this folder and if there is only one it will continue with this file, otherwise there is an error.
type: boolean, required: no, default: true
Only set the values if they are different from the current ones.
type: boolean, required: no, default: true
Ignore imported rows. This is useful if a processed file is imported again. All rows with status "imported" will be ignored.
Get a list of all versioned infofield values.
No parameters
[
{
"assetId": 0,
"version": 0,
"fieldId": 0,
"value": {}
}
]
Save or update a versioned infofield value.
Name | Description |
---|---|
RequestBody | {"assetId": 0,"fieldId": 0,"value": {},"version": 0 } |
1
Save or update multiple versioned infofield values.
Name | Description |
---|---|
RequestBody | [{"assetId": 0,"fieldId": 0,"value": {},"version": 0 }] |
1
Get a list of all verisoned infofields.
No parameters
[
{
"name": "infofield_name",
"labels": {
"_class": "com.celum.api.model.LocalizedValue",
"values": {
"en": "English Label"
}
},
"editorInformation": {
"_class": "com.celum.api.model.LocalizedValue",
"values": {}
},
"readerInformation": {
"_class": "com.celum.api.model.LocalizedValue",
"values": {}
},
"required": false,
"rootNode": {
"_class": "com.celum.api.identifiers.NodeId",
"id": 0
},
"nodeChooserViewable": true,
"kind": "NODE_REFERENCE",
"id": {
"_class": "com.celum.api.identifiers.InformationFieldId",
"id": 0
},
"maxSelections": -1,
"rootSelectable": false,
"valueType": "com.celum.api.model.informationfields.NodeReferences"
},
{
"name": "dropdown",
"labels": {
"_class": "com.celum.api.model.LocalizedValue",
"values": {
"en": "Dropdown"
}
},
"editorInformation": {
"_class": "com.celum.api.model.LocalizedValue",
"values": {}
},
"readerInformation": {
"_class": "com.celum.api.model.LocalizedValue",
"values": {}
},
"required": false,
"options": {
"en": [
{
"key": 0,
"displayText": "option 0"
}
]
},
"kind": "DROP_DOWN",
"id": {
"_class": "com.celum.api.identifiers.InformationFieldId",
"id": 0
},
"sortOder": "MANUAL",
"valueType": "java.lang.Integer"
},
{
"name": "text",
"labels": {
"_class": "com.celum.api.model.LocalizedValue",
"values": {
"en": "Text"
}
},
"editorInformation": {
"_class": "com.celum.api.model.LocalizedValue",
"values": {}
},
"readerInformation": {
"_class": "com.celum.api.model.LocalizedValue",
"values": {}
},
"required": false,
"minLength": 0,
"maxLength": 255,
"validationPattern": null,
"kind": "TEXT",
"id": {
"_class": "com.celum.api.identifiers.InformationFieldId",
"id": 803
},
"valueType": "java.lang.String"
}
]
Get a list of all verisoned infofield values of an asset.
Name | Description |
---|---|
assetId | Integer |
[
{
"assetId": 0,
"version": 0,
"fieldId": 0,
"value": {}
}
]
Save or update multiple versioned infofield values of an asset.
Name | Description |
---|---|
assetId | Integer |
RequestBody | [{"fieldId": 0,"value": {},"version": 0 }] |
1
Delete all versioned infofield values of an asset.
Name | Description |
---|---|
assetId | Integer |
1
Ger all versioned infofield values of a version of an asset.
Name | Description |
---|---|
assetId | Integer |
version | Integer |
[
{
"assetId": 0,
"version": 0,
"fieldId": 0,
"value": {}
}
]
Save or update multiple versioned infofield values of a version of an asset.
Name | Description |
---|---|
assetId | Integer |
version | Integer |
RequestBody | [{"fieldId": 0,"value": {} }] |
[
{
"assetId": 0,
"version": 0,
"fieldId": 0,
"value": {}
}
]
Delete all versioned infofield values of a version of an asset.
Name | Description |
---|---|
assetId | Integer |
version | Integer |
1
Get a specific versioned infofield value of an infofield of a version of an asset.
Name | Description |
---|---|
assetId | Integer |
version | Integer |
fieldId | Integer |
{
"assetId": 0,
"version": 0,
"fieldId": 0,
"value": {}
}
Save or update a specific infofield value of an infofield of a version of an asset.
Name | Description |
---|---|
assetId | Integer |
version | Integer |
fieldId | Integer |
RequestBody | {"value": {}} |
1
Delete a specific infofield value of an infofield of a version of an asset.
Name | Description |
---|---|
assetId | Integer |
version | Integer |
fieldId | Integer |
1
Get the version data of a version of an asset
Name | Description |
---|---|
assetId | Integer |
version | Integer |
secret | String or Authentication Header |
The secret can be send as a GET-Parameter, alternatively you can pass the secret as an
Authentication
header, e.g.Authentication: Bearer <your-secret>
{
"assetId": 0,
"version": 0,
"versionStatus": 0,
"infofield1": "<infofield1-value>",
"infofield2": "<infofield2-value>",
"infofield3": "<infofield3-value>",
"preview": "<preview-url>"
}
CREATE TABLE versioned_infofields (
ims_id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
ims_asset_id BIGINT,
ims_version INT(6),
ims_field_id INT(6),
ims_longtext_value LONGTEXT,
ims_int_value INT,
ims_text_value TEXT,
ims_double_value DOUBLE,
ims_bigint_value BIGINT,
ims_date_value DATETIME(6),
ims_tinyint_value TINYINT(1),
ims_locale VARCHAR(2)
);
CREATE TABLE versioned_infofields (
ims_id BIGINT IDENTITY PRIMARY KEY,
ims_asset_id BIGINT,
ims_version INT(6),
ims_field_id INT(6),
ims_longtext_value LONGTEXT,
ims_int_value INT,
ims_text_value TEXT,
ims_double_value DOUBLE,
ims_bigint_value BIGINT,
ims_date_value DATETIME(6),
ims_tinyint_value TINYINT(1),
ims_locale VARCHAR(2)
);
Versioned Infofields | CELUM (min. version) |
---|---|
1.0 | 5.13.4 |
Release: 2022-01-10
Initial Version
Release: 2022-03-03
editorGroups property added