Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
stylenone

Requirements

Structure

...

Plugin PACKAGED_Versions

This plugin holds all the services needed for the correct execution of the version management feature and thus needs to be activated on a project that wants to use the feature.

Structure

The version management feature is available only for assets with a workcopy-compliant structure. A An asset structure is considered workcopy-compliant if it has includes the following properties:

Property

Type

Description

copietravail

Child

->

#self

References the current version of the asset to

be replaced

replace.

uid

Text

Unique identifier linking asset versions in the format objectname_id

linking asset versions

. This field is empty for current versions that have not been replaced yet.

version

Integer

Indicates the version number.

Info

These properties are can be verified in the Wizards tab of the object structure administration interface.

Arounf the tab “Versions”

Configuration

Additionally, for identifying archived versions, a new property has been added:

Property

Type

Description

versionsdata

Word

Stores version-related data, such as the reason for archiving (e.g., obsolete).

Configuration

Display Setup

The version management feature is accessible on the front end via the tab Versions from the Versions tab on the asset detail page.

...

To configure the tab display of that tab, use the following entry point can be used:

Code Block
$.common.namedDisplays.defaultAssetDetailTabVersions

...

By default, this configuration is included in the tab settings delivered via:

Code Block
$.common.namedDisplays.defaultAssetDetailMeta.column.tabs

...

Security

...

Under the security property of the tab configuration(defaultAssetDetailTabVersions.security), it is possible to define which security domain(s) should be evaluated to display the versions tab.

By default, it is preconfigured with :

...

languagejson

Configuration

The tab’s visibility depends on its security configuration:

  • Entry Point: defaultAssetDetailTabVersions.security

  • Default Security Domain: ["objectdata/insert"]

It is possible to use the following security domains :

...

This default setup ensures the Versions tab is visible to users allowed to create instances. Additional security domains include:

  • objectactions/create

  • objectactions/multiupdate

  • objectactions/delete

  • objectactions/view

  • objectactions/changestatus

Note

If

...

multiple security domains

...

are

...

specified, the user

...

must be granted all listed permissions to see the

...

Versions tab.

Actions on

...

Versions

The available actions depend on the version type of versions and user permissions of the user.:

Draft

...

Version

  • Preview

    and edit

    & Edit:

    Only

    Allowed if the user

    is allowed to

    can edit the instance.

  • Delete:

    Only

    Allowed if the user can delete the instance.

  • Publish: Accessible through the preview interface if the user

    is allowed to delete the instance

    Archived version : has permission to execute a workflow action transitioning the instance to an online status.

Archived Version

  • Preview:

    Works

    Allowed if the user

    is allowed to

    can edit the instance.

  • Delete:

    Only

    Allowed if the user

    is allowed to

    can delete the instance.Current version:

  • Restore: Possible if the user has permission to transition the asset from archived to online status.

Current Version

No actions are available

...

in the

...

Versions tab.

...

Related actions are accessible from the header section.

Note

Versions are still assets and thus are evaluated through security the same way as assets not involved in version management (through their status for instance).

Restoration of an archived version

...

Version Identification

In certain situations, such as security assessments or base evaluations, it may be helpful to distinguish between the different types of versions. The table below describes how to do this:

Version Type

Description

Key Characteristics

Current Version

The active version of an asset.

  • Status: Always online.

  • uid ends with _$id, where $id is the asset ID.

Draft Version

Represents the initial state of a new version.

  • Must have exactly one workcopy.

  • copietravail links to the current version.

  • Status: Not online or archived.

Archived Version

Represents past current versions, replaced by a draft version.

  • uid: $objectname_$id (with $id different from the instance ID).

  • versionsdata: Contains "obsolete".

  • Status: Should be always archived.

Miscellaneous features

Tag: pkg/versions/keep/on/publish

The tag pkg/versions/keep/on/publish identifies fields that must be retained when an instance is replaced by a new version.

Example:

  • Asset X (current version) is assigned to sections A and B.

  • A new draft version of X is created, retaining sections A and B.

  • While the draft is being worked on, Asset X is assigned to a new section C.

  • This assignment does not affect the draft version.

Result: After publishing the draft version, section C remains assigned due to the retention tag.

Filtering Archived Versions on the Frontend

Archived versions are hidden by default via the PACKAGED_Versions plugin. They are filtered when using these API endpoints:

  • api/rest/dam/asset (ASSET)

  • api/rest/dam/data/asset (SEARCH)

  • api/rest/dam/data/asset1,asset2 (TOPSEARCH)

  • api/rest/dam/asset/aggs (ASSET_AGGS)

  • api/rest/dam/data/aggs/asset1,asset2 (MULTI_AGGS)

Customization Tip: Extend the APIBaseWhereBusinessServiceAdapter using the versionsdata field to filter additional endpoints as needed. Alternatively, consider submitting a product enhancement request.