Assets Waiting Area in the Back-Office

Principles of operation of the waiting area

The waiting area will be available on your DAM objects as soon as these items will have the tag gallery_multi_upload on one of their file property.

It will allow users to:

  • mass upload new assets onto the system

  • insert the assets later into the destination DAM object

Upload assets

One click on the button Upload new asset will allow the user to send files to the system either via HTTP or FTP.

Access to asset download functionality is conditional on the result of a security rule on the insert action of the objectdata domain for the object damimport.
To be allowed to upload files on the system the user must have the right to insert new instances in the damimport object.

Sending assets via HTTP

This feature allows a user to upload one or more assets to the system from their workstation.

The user selects a set of assets from his workstation and sends them to the system.

Assets downloading via FTP

This feature allows the server to connect to an FTP server and retrieve all the files available to it.

Indexation of the assets

Regardless of the upload method used each asset will be the source of a new instance in the damimport object in which the property having tag gallery_multi_upload will be feeded with the uploaded files and property name will be feeded with its name (ie: my_picture.png).

Indexing will then allow a user to chain the creation of new DAM objects instances from files previously uploaded via mass download.

A click on the button Index all assets will allow the user to access the asset indexing interface.

 

The assets to be indexed are presented in thumbnails on the left of the screen. Navigation buttons allow you to move from thumbnail to thumbnail.

The form in the central area is used to fill in property values instances to be created in the destination DAM object.

By default, the forms will be preloaded with the instance data represented by the highlighted thumbnail on the left with its stored data in the damimport object.

If you navigate from thumbnail to thumbnail, you will see the form update itself with the data of the instances present in the object damimport.

There are two indexing modes, single or multiple. It is possible to switch from one mode to another by clicking on the image button:

Regardless of the selected mode, access to the functionalities indexing of assets is conditioned by the result of a safety rule on the insert action of the objectdata domain for the DAM object in which the user wants to create the assets.

Single indexing

During a single indexing the records are created one by one when the user clicks on the button Start indexing.

When the master record is created, the form loads the following pre-filled record all fields with the values of the new record.

The checkboxes next to the properties allow you to keep the values properties to pre-fill the following records. Property values checked will have priority over the initial values of the card.

When a master record is created in the destination background it is automatically removed from the indexing basket (damimport).

Multiple indexing

During a multiple indexing all records will be created automatically. The values used to fill records depend on of the checkbox next to each property:

  • if the box is checked, the entered value is used.

  • if the box is not checked, a calculated value is used.
    The calculated values can be: the default value of the field, the file name, EXIF/IPTC…​ property depending on the setting.

It is also possible to limit the creation to a few records by checking the following box checkboxes under the carousel vignettes located at left of the screen.

When the user clicks on the button Start indexing he will be able to choose either to index the files in the background by clicking on the button Index in background or index all files interactively.

When indexing in the background ends, the user is informed via a back-office notifications.

Pre-loading data into the system when uploading

The damimport object has two properties by default: name and file which allow you to store the name of the initial file and the downloaded file by the user.

These properties are then used to pre-fill out the indexing form of the DAM object in which the user will index the asset.

The DAM object generally has other properties and you want to often be able to preload these values directly into the damimport object when uploading assets to the system.

For each record the indexing form will load the data of the asset damimport and will use its data to pre-feed the indexing form for the destination DAM object.

Thus if there exists in the damimport object a xyz property of the same type and nature that a property named xyz of the destination DAM object, then the indexing form will be preloaded with this data.

It is possible to add to the damimport object as many properties as necessary.

Manual data preloading

The data can be pre-fed into the system in the damimport object by displaying an input form that will be presented to the user before downloading files to the system.

All instances of the damimport object that will be created in this case will be created with the data entered by the user in this form.

To display this form you must place tag dam_import_cart/prefill on the configuration of the DAM object.

The values entered in this form will be stored in the damimport instance to which the files will be attached.

The input form is based on the datanew form from the DAM object for which only common properties between the DAM object and the object damimport will be presented to the user.

In order to display an input for property named xyz in this form, the xyz will have to exists and be editable on both objects (dam object and damimport object).

Automatic data preloading

The data of the damimport object properties can be fed to the damimport object via a trigger in the damimport object, for example by reading the IPTC metadata of images or by loading data via a third party API for each of the imported assets.

Example of preloading IPTC data

To retrieve IPTC information on an image it is necessary to go through IPTC codes defined by the IPTC standard defined here:
http://www.iptc.org/std/IIM/4.1/specification/IIMV4.1.pdf

So if, for example, you want to retrieve the stored creation date in the IPTC file, you will have to fetch the Date created property in the Application record, i. e. the key 2:55 stored in the application under the key: iptc: 2:55.

The metadata discovered by the engine are all visible on the the fileview action of the images by clicking on the thumbnails preview in dataview pages.

 

For each of the properties of the DAM objects where you want to map properties with IPTC data it will be necessary to:

  • find the IPTC key as read by the system, for example iptc: 2:55, for the date of creating an image,

  • create a property of the same name/type/type/nature in the damimport object

  • create a trigger in the damimport object that will fetch the value of the IPTC meta-data and place it in the associated damimport object property

Conversion of values

The engine recovers raw data in java.lang.String format only. So it is sometimes necessary to make conversions, it is the case of dates for example.

In IPTC the creation date is stored in yyyyMMdd format.

Doing a CTObjet.setProperty in a date-type property with raw IPTC data will trigger an exception when saving the data ⇒ it will then be necessary to convert it to a real date.

Multiple values

The asset properties (meta-data) storage format is a java properties String⇒String.

The IPTC format allows for some fields to store several values; this is the case of keywords for example. When there is more than one value for an IPTC key, it is advisable to set the following values recuperate in the following way:

Example

infos.getProperty("iptc:2:25"); // will bring back the 1st keyword infos.getProperty("iptc:2:25_1"); // will bring back the 2nd keyword infos.getProperty("iptc:2:25_2"); // will bring back the 3rd keyword infos.getProperty("iptc:2:25_3"); // will bring null => there is no more keyword

About IPTC keys you will find here a document a little more digestible about them:
http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/IPTC.html