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:
InfaResources.bpr
DAM_Tools.bpr
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:
InfaResources.zip
DAM_Tools.zip
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.
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.
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"> |
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.
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
<
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.
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
<
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 |
<
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!
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
<
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
<
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.
After clicking on Run Now you should see the following processes