Veeva DAM Connector module


Incubator (services)





Compatible with Magnolia 6.2+.

The Veeva DAM Connector module provides a connector to Veeva to use assets form this service. It provides an app to browse images, and a dialog to use this images/videos into your website.

veeva dam

This module is at the INCUBATOR level.

Installing with Maven

Maven is the easiest way to install the module. Add the following to your bundle:



Add the following configuration to the config.yaml, JCR, or alternatively, decorate it from another module. The following values are found in your Veeva account.

  • dns: Veeva DNS

  • apiUsername: Veeva Username

  • apiPassword: Veeva Password

  • clientId: Veeva Client ID

Alternatively, username and password can be stored in Magnolia’s Password Manager app. Create entries for these first and then modify config.yaml to reference these entries via absolute paths. eg.

apiUsername: "/veevaVault/apiUsername"
apiPassword: "/veevaVault/apiPassword"

Per-user authentication

In a large organisation, it may not be ideal for every user to access the Veeva API via the same account. A user can access the API with their own credentials by opening the user preferences dialog and, under the 'Veeva access' tab, entering their Veeva username and password. If they check the box marked 'Use own Veeva credentials?' the will only see Veeva content in the Magnolia UI that their account is allowed access to.


  • A central account is still needed for rendering content for anonymous website viewers.

  • Clients are cached for users. A user changing their credentials or opting to use their own credentials for the first time should log out for at least five minutes.


Once the module has been installed, you can add assets to the website and/or apps by using the default link field. There are three types of objects that you can use from Veeva:

  • asset

  • text

  • module

Asset example

veeva chooser

  • Asset

  • Text

  • Module

    $type: linkField
    label: Choose Veeva Asset Element
    chooserId: dam-veeva:chooser-asset
      $type: veeva-asset
        variationName: preview
    $type: linkField
    label: Choose Veeva Text Element
    chooserId: dam-veeva:chooser-text
      $type: veeva-text
    label: Choose Veeva Module Element
    $type: linkField
    chooserId: dam-veeva:chooser-module
        $type: veeva-module

Call Veeva objects

In the templates, access the Veeva objects by calling Veeva templating functions:

veevafn.getVeevaText(veevaTextId!)! (1)
1 Where veevafn is the function, getVeevaText is the method. See info.magnolia.external.dam.veeva.templating.VeevaTemplatingFunctions for more details.

Link to a Veeva asset using Magnolia’s DAM servlet:

link = ctx.contextPath + "/dam/" + node.veevaImage!

veeva usage


Version Notes


Initial release of the module.





This widget lets you know where you are on the docs site.

You are currently perusing through the Veeva DAM Connector module docs.

Main doc sections

DX Core Headless PaaS Legacy Cloud Incubator modules