DAM Configurator

Cloud Edition only

This project is designed for Product 360 Cloud Edition customers only. (On premise customers can use this project and modify it to their needs, but it is not under Informatica's support! )

Preface

This BPM (AVOS) project enables Product 360 Cloud Edition customer's to define Digital Asset Management (DAM) settings without the help of Informtica's Operational teams . This functionality works only for the Asset Provider HMM, which is the default in the Cloud Edition settings.

Table of Contents

Prerequisites

This workflow also supports the messaging functionality over the message queue communication. Therefor the messaging service of ActiveVOS must be configured. Please reach out to the Installation and Operation guide for the following areas:

  • Installation of ActiveVOS with ActiveMQ support and configuration of queues in ActiveVOS (Note: ActiveVOS version 9.2.4.6 is a prerequisite for queue based interactions between Product 360 and ActiveVOS)

Installation

You have to deploy these resources:

  1. InfaResources.bpr

  2. DAM_Tools.bpr

  3. DAM_Resources.bpr

with the BPM (AVOS) console.

Also it is possible that you deploy the workflows with your BPM designer. The resources of the projects are in the zip files:

  1. InfaResources.zip

  2. DAM_Tools.zip

  3. DAM_Resources.zip

Configuration

The base configuration of the DAM Event Listener, which is the base for creating derivatives, must be defined in the BPM URN mappings. Therefore you have to define the following mappings in the BPM console.
These settings will be done from Informatica OPS team when the customer request it.

URN mappings

URN

URL

Mand.

Description

urn:p360.dam.resource.project

DAM_Resources

No

Name of the resource project where the customer can define the derivatives

Context properties for the messaging service

These 3 required context properties in the messaging service ActiveMQ have to be created. You can navigate to the service in the ActiveVOS console.
images/download/attachments/485049225/image2022-6-1_17-0-9.png

Name

Value

queue.JNDI_P360_DAM_ASSIGNMENT

heiler.hmm.backend.event.assignment

queue.JNDI_P360_DAM

heiler.hmm.backend.event

queue.JNDI_P360_DAM_MODIFIED

heiler.hmm.backend.event.assetModified

Database JNDI

ActiveVOS must be able to connect to the DAM related tables on the database, therefor you have to create an additional JNDI entry "<Resource name="jdbc/DAM" auth="Container" type="javax.sql.DataSource"" to the HMM tables, in the configuration file active-bpel.xml.

Schedule the maintenance job

DAM configuration changes can be applied via executing a maintenance job in the ActiveVOS console. Therefor you have to define a maintenance job. The workflow has to be started every time when you want to apply any configuration changes.

images/download/attachments/485049225/image2022-6-8_8-57-15.png

Job settings

Key

Value

Name

DAM Configurator

Frequency

Once

Start Date on Server

Do not modify

Start Time on Server

Do not modify

Run Options

Skip if running

Service Name

DAM_Init_Values

Input Document

<dam:damInitValuesRequest xmlns:dam="http://p360.dam/activevos/process/damInitValues" xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<dam:updateValues>true</dam:updateValues>
</dam:damInitValuesRequest>

Defining Main settings

Main settings must be defined with the help of a xml definition, which is located in the resource project which is defined in the URN mappings of ActiveVOS.

images/download/attachments/485049225/image2022-6-7_14-47-34.png

images/download/attachments/485049225/image2022-6-8_9-6-25.png

If you want to make some modifications you have to click on the link, make your modifications and click on update.

The configuration file DAM_DefineMainSettings.xml

DAM_DefineMainSettings.xml
<das:dataAccessResponse xmlns:das="http://schemas.active-endpoints.com/data-access/2010/04/data-access.xsd"
statementId="string">
<!-- Description of defining DAM main setting
Tag: MODE: Defines the versioning behavior
Allowed values:
VERSIONING (A new version will be created when a file with the same filename was uploaded. This new asset will inherit the values of the previous version
OVERWRITE (The current version will be replaced when a file with the same filename was uploaded.)
-->
<!-- Example
<das:row>
<MODE>OVERWRITE</MODE>
</das:row>
-->
</das:dataAccessResponse>

Key

Value

Description

MODE

OVERWRITE or VERSIONING

Standard behaviour when you upload new files into the asset area. If versioning is active, always a new version will be created if the filename including the extension are the same. This new version will be automatically the current version. In the mode overwrite the previous file will be overwritten automatically.

Defining Property fields for digital assets

Property fields must be defined with the help of a xml definition, which is located in the resource project which is defined in the URN mappings of ActiveVOS.

images/download/attachments/485049225/image2022-6-7_14-47-34.png

images/download/attachments/485049225/image2022-6-8_9-17-56.png

If you want to make some modifications you have to click on the link, make your modifications and click on update.

The configuration file DAM_DefinePropFields.xml

DAM_DefinePropFields.xml
<das:dataAccessResponse xmlns:das="http://schemas.active-endpoints.com/data-access/2010/04/data-access.xsd" statementId="string">
<!-- Description of defining DAM property fields
Tag: IMF_LFD_NR: Mandatory number of the property field.
Allowed values between 1 and 110
Tag: IMF_BEZ: Description of the property field 50 characters at maximum.
Mandatory for all formats except format INVISIBLE
Tag: IMF_FORMAT: Mandatory format of the property field:
Allowed values for property field 1 to 100:
TEXT (Characters with maximum length of 3000 chars)
INVISIBLE (disables the property field)
BOOLEAN
DATE
INTEGER
NUMBER (Floating point number with 2 decimals at maximum)
SELECTIONLIST (List with selectable entries)
MULTISELECTIONLIST (List with multiple selectable entries)
Allowed values for property field 101 to 110:
LONGTEXT (Characters with no maximum length clob)
INVISIBLE (disables the property field)
Tag: IMF_FORMATSIZE: Maximum size field. Only mandatory for these formats:
TEXT valid values from 1 to 3000
NUMBER (valid values from 0.2 up to 8.2)
Tag: IMF_LISTVALUES: Values of the list. Each entry is separated by a linefeed.Only mandatory for these formats:
SELECTIONLIST
MULTISELECTIONLIST
-->
<!-- Example TEXT field
<das:row>
<IMF_LFD_NR>88</IMF_LFD_NR>
<IMF_BEZ>Number 88</IMF_BEZ>
<IMF_FORMAT>TEXT</IMF_FORMAT>
<IMF_FORMATSIZE>250</IMF_FORMATSIZE>
</das:row>
-->
<!-- Example INIVISIBLE field
<das:row>
<IMF_LFD_NR>88</IMF_LFD_NR>
<IMF_FORMAT>INVISIBLE</IMF_FORMAT>
</das:row>
-->
<!-- Example BOOLEAN field
<das:row>
<IMF_LFD_NR>88</IMF_LFD_NR>
<IMF_BEZ>Number 88</IMF_BEZ>
<IMF_FORMAT>BOOLEAN</IMF_FORMAT>
</das:row>
-->
<!-- Example DATE field
<das:row>
<IMF_LFD_NR>88</IMF_LFD_NR>
<IMF_BEZ>Number 88</IMF_BEZ>
<IMF_FORMAT>DATE</IMF_FORMAT>
</das:row>
-->
<!-- Example INTEGER field
<das:row>
<IMF_LFD_NR>88</IMF_LFD_NR>
<IMF_BEZ>Number 88</IMF_BEZ>
<IMF_FORMAT>INTEGER</IMF_FORMAT>
</das:row>
-->
<!-- Example NUMBER field
<das:row>
<IMF_LFD_NR>88</IMF_LFD_NR>
<IMF_BEZ>Number 88</IMF_BEZ>
<IMF_FORMAT>NUMBER</IMF_FORMAT>
<IMF_FORMATSIZE>3.1</IMF_FORMATSIZE>
</das:row>
-->
<!-- Example SELECTIONLIST field
<das:row>
<IMF_LFD_NR>88</IMF_LFD_NR>
<IMF_BEZ>Number 88</IMF_BEZ>
<IMF_FORMAT>SELECTIONLIST</IMF_FORMAT>
<IMF_FORMATSIZE></IMF_FORMATSIZE>
<IMF_LISTVALUES>2020
2021
2022
2023</IMF_LISTVALUES>
</das:row>
-->
<!-- Example MULTISELECTIONLIST field
<das:row>
<IMF_LFD_NR>88</IMF_LFD_NR>
<IMF_BEZ>Number 88</IMF_BEZ>
<IMF_FORMAT>MULTISELECTIONLIST</IMF_FORMAT>
<IMF_FORMATSIZE></IMF_FORMATSIZE>
<IMF_LISTVALUES>2020
2021
2022
2023</IMF_LISTVALUES>
</das:row>
-->
<!-- Example LONGTEXT field
<das:row>
<IMF_LFD_NR>105</IMF_LFD_NR>
<IMF_BEZ>Number 105</IMF_BEZ>
<IMF_FORMAT>LONGTEXT</IMF_FORMAT>
</das:row>
-->
</das:dataAccessResponse>

Example define 3 different property fields

Property fields

All property fields have to be defined in one xml definition!

Example requirement:

Type

Description

Text

Text field with a maximum length of 250 characters

List

List of selectable entries. I.e. publication dates (2018, 2019, 2020, 2021, 2022)

Text

Text field with unlimited characters

EXAMPLE_DAM_DefinePropFields.xml
<das:dataAccessResponse xmlns:das="http://schemas.active-endpoints.com/data-access/2010/04/data-access.xsd" statementId="string">
 
<das:row>
<IMF_LFD_NR>1</IMF_LFD_NR>
<IMF_BEZ>Field 1</IMF_BEZ>
<IMF_FORMAT>TEXT</IMF_FORMAT>
<IMF_FORMATSIZE>250</IMF_FORMATSIZE>
</das:row>
 
 
<das:row>
<IMF_LFD_NR>2</IMF_LFD_NR>
<IMF_BEZ>Field 2</IMF_BEZ>
<IMF_FORMAT>SELECTIONLIST</IMF_FORMAT>
<IMF_FORMATSIZE></IMF_FORMATSIZE>
<IMF_LISTVALUES>2018
2019
2020
2021
2022</IMF_LISTVALUES>
</das:row>
 
<das:row>
<IMF_LFD_NR>101</IMF_LFD_NR>
<IMF_BEZ>Field 3</IMF_BEZ>
<IMF_FORMAT>LONGTEXT</IMF_FORMAT>
</das:row>
 
</das:dataAccessResponse>

Defining Derivatives

Derivatives must be defined with the help of a xml definition, which is located in the resource project which is defined in the URN mappings of ActiveVOS.

ImageMagick

Only conversions for images with the command line tool convert from ImageMagick are supported!

images/download/attachments/485049225/image2022-6-7_14-47-34.png

images/download/attachments/485049225/image2022-6-7_14-48-56.png

If you want to make some modifications you have to click on the link, make your modifications and click on update.

The configuration file DAM_DefineDerivatives.xml

DAM_DefineDerivatives.xml
<das:dataAccessResponse xmlns:das="http://schemas.active-endpoints.com/data-access/2010/04/data-access.xsd" statementId="string">
<!-- Description of defining DAM property fields
Tag: DEV_ID: Mandatory number of the derivate.
Allowed values between 1 and 100
Tag: DEV_NAME: Mandatory description of the derivate 50 characters at maximum.
If this value is empty the derivative with this id will be deleted!
Tag: DEV_EXT: Mandatory extension of the derivate 10 characters at maximum.
Tag: DEV_CONVERT_PARAMS:
Optional parameters for the ImageMagick command convert. If this value is set a derivative will be created otherwise not!
Tag: DEV_PUBLIC:
Optional parameter which defines whether the derivative will be copied into the public space. Valid values: Yes, No, 1,0
Tag: DEV_PROP_FIELD_ID:
Optional parameter defines whether the public path will be pushed into a property field. Allowed values between 1 and 100
-->
<!-- Examples
<das:row>
<DEV_ID>1</DEV_ID>
<DEV_NAME>Jpeg 70x70</DEV_NAME>
<DEV_EXT>.jpg</DEV_EXT>
<DEV_CONVERT_PARAMS>-alpha off -flatten -strip -antialias -quality 80 -resize 70x70 -background white -gravity center -extent 70x70 -density 72x72 -colorspace sRGB "%1"[0] "%2"</DEV_CONVERT_PARAMS>
<DEV_PUBLIC>YES</DEV_PUBLIC>
<DEV_PUBLIC_PROP_FIELD_ID>81</DEV_PUBLIC_PROP_FIELD_ID>
</das:row>
<das:row>
<DEV_ID>2</DEV_ID>
<DEV_NAME>Jpeg 300x300</DEV_NAME>
<DEV_EXT>.jpg</DEV_EXT>
<DEV_CONVERT_PARAMS>-alpha off -flatten -strip -antialias -quality 80 -resize 300x300 -background white -gravity center -extent 300x300 -density 72x72 -colorspace sRGB "%1"[0] "%2"</DEV_CONVERT_PARAMS>
<DEV_PUBLIC>YES</DEV_PUBLIC>
<DEV_PUBLIC_PROP_FIELD_ID>82</DEV_PUBLIC_PROP_FIELD_ID>
</das:row>
<das:row>
<DEV_ID>3</DEV_ID>
<DEV_NAME>PNG 1024x1024</DEV_NAME>
<DEV_EXT>.png</DEV_EXT>
<DEV_CONVERT_PARAMS>-alpha off -flatten -strip -antialias -quality 80 -resize 1024x1024 -background white -gravity center -extent 1024x1024 -density 72x72 -colorspace sRGB "%1"[0] "%2"</DEV_CONVERT_PARAMS>
<DEV_PUBLIC>YES</DEV_PUBLIC>
<DEV_PUBLIC_PROP_FIELD_ID>83</DEV_PUBLIC_PROP_FIELD_ID>
</das:row>
-->
</das:dataAccessResponse>

Example define a 70 pixel RGB Jpeg as derivative

Example 70x70
<das:dataAccessResponse xmlns:das="http://schemas.active-endpoints.com/data-access/2010/04/data-access.xsd" statementId="string">
<das:row>
<DEV_ID>1</DEV_ID>
<DEV_NAME>Jpeg 70x70</DEV_NAME>
<DEV_EXT>.jpg</DEV_EXT>
<DEV_CONVERT_PARAMS>-alpha off -flatten -strip -antialias -quality 80 -resize 70x70 -background white -gravity center -extent 70x70 -density 72x72 -colorspace sRGB "%1"[0] "%2"</DEV_CONVERT_PARAMS>
<DEV_PUBLIC>NO</DEV_PUBLIC>
<DEV_PUBLIC_PROP_FIELD_ID></DEV_PUBLIC_PROP_FIELD_ID>
</das:row>
</das:dataAccessResponse>

Key

Value

Description

DEV_ID

1

Unique identifier of the derivate

DEV_NAME

Jpeg 70x70

Name of the derivative

DEV_EXT

.jpg

New extension of the converted image

DEV_CONVERT_PARAMS

-alpha off -flatten -strip -antialias -quality 80 -resize 70x70 -background white -gravity center -extent 70x70 -density 72x72 -colorspace sRGB "%1"[0] "%2"

Command line parameters for the command convert to create a jpeg derivative with the dimension 70x70 in the colorspace RGB

DEV_PUBLIC

NO

This tag defines whether the derivative will also pushed to a public accessible blob storage. Please create a CTP ticket to create this storage.

DEV_PUBLIC_PROP_FIELD_ID

empty

The public URL to the derivative will be stored in this property field, when DEV_PUBLIC is YES.

Apply DAM configurations

As mentioned above, every time you made some configuration changes you have to run the workflow again. The workflow can be started in the ActiveVOS console.

images/download/attachments/485049225/image2022-6-8_9-44-20.png

After clicking on Run Now you should see the following processes

images/download/attachments/485049225/image2022-6-8_9-48-23.png