Versioned Infofields

For the most up-to-date documentation, please visit docs.brix.ch

Advanced-UI

This extension allows to versioning infofields of an asset.

Properties

To be configured in {home}/appserver/conf/custom.properties

versionedInfofields.license

type: String, required: yes, default: -

The license key for the plugin (product: versionedInfofields), provided by brix.

versionedInfofields.visibleForGroups

type: list of long (comma separated), required: no, default: -

Restrict the use of the plugin to this user group's IDs (superadmins always see it in any case). If not set, all users can use the plugin.

versionedInfofields.versionedInfofields

type: list of long (comma separated), required: yes, default: -

List of the versioned information field ids.

versionedInfofields.authorization

type: boolean, required: no, default: false

Enables or disables the CELUM authentication of the versioned infofields api.

versionedInfofields.versionDataSecret

type: String, required: no, default: false

If a secret is specified, all requests to the Version Data Controller need to send a valid the secret or they will be denied.

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>

versionedInfofields.versionDataApiUser

type: boolean, required: no, default: false

User the will be used for the Version Data Controller. If not set, the api user will be used

API

Versioned Infofields Controller

GET versionedInfofields/

Get a list of all versioned infofield values.

Parameters

No parameters

Response
[
  {
    "assetId": 0,
    "version": 0,
    "fieldId": 0,
    "value": {}
  }
]
POST /versionedInfofields/

Save or update a versioned infofield value.

Parameters
Name Description
RequestBody {"assetId": 0,"fieldId": 0,"value": {},"version": 0 }
Response

1

POST /versionedInfofields/values

Save or update multiple versioned infofield values.

Parameters
Name Description
RequestBody [{"assetId": 0,"fieldId": 0,"value": {},"version": 0 }]
Response

1

GET /versionedInfofields/infofields

Get a list of all verisoned infofields.

Parameters

No parameters

Response
[
    {
        "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 /versionedInfofields/{assetId}

Get a list of all verisoned infofield values of an asset.

Parameters
Name Description
assetId Integer
Response
[
  {
    "assetId": 0,
    "version": 0,
    "fieldId": 0,
    "value": {}
  }
]
POST /versionedInfofields/{assetId}

Save or update multiple versioned infofield values of an asset.

Parameters
Name Description
assetId Integer
RequestBody [{"fieldId": 0,"value": {},"version": 0 }]
Response

1

DELETE /versionedInfofields/{assetId}

Delete all versioned infofield values of an asset.

Parameters
Name Description
assetId Integer
Response

1

GET /versionedInfofields/{assetId}/{version}

Ger all versioned infofield values of a version of an asset.

Parameters
Name Description
assetId Integer
version Integer
Response
[
  {
    "assetId": 0,
    "version": 0,
    "fieldId": 0,
    "value": {}
  }
]
POST /versionedInfofields/{assetId}/{version}

Save or update multiple versioned infofield values of a version of an asset.

Parameters
Name Description
assetId Integer
version Integer
RequestBody [{"fieldId": 0,"value": {} }]
Response
[
  {
    "assetId": 0,
    "version": 0,
    "fieldId": 0,
    "value": {}
  }
]
DELETE /versionedInfofields/{assetId}/{version}

Delete all versioned infofield values of a version of an asset.

Parameters
Name Description
assetId Integer
version Integer
Response

1

GET /versionedInfofields/{assetId}/{version}/{fieldId}

Get a specific versioned infofield value of an infofield of a version of an asset.

Parameters
Name Description
assetId Integer
version Integer
fieldId Integer
Response
{
  "assetId": 0,
  "version": 0,
  "fieldId": 0,
  "value": {}
}
POST /versionedInfofields/{assetId}/{version}/{fieldId}

Save or update a specific infofield value of an infofield of a version of an asset.

Parameters
Name Description
assetId Integer
version Integer
fieldId Integer
RequestBody {"value": {}}
Response

1

DELETE /versionedInfofields/{assetId}/{version}/{fieldId}

Delete a specific infofield value of an infofield of a version of an asset.

Parameters
Name Description
assetId Integer
version Integer
fieldId Integer
Response

1

Version Data Controller

GET /versionedInfofields/versiondata/{assetId}/{version}?secret={your-secret}

Get the version data of a version of an asset

Parameters
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>

Response
{
  "assetId": 0,
  "version": 0,
  "versionStatus": 0,
  "infofield1": "<infofield1-value>",
  "infofield2": "<infofield2-value>",
  "infofield3": "<infofield3-value>",
  "preview": "<preview-url>"
}

Compatibility Matrix

Versioned Infofields CELUM (min. version)
1.0 5.13.4

Release Notes

1.0

Release: 2022-01-10

Initial Version