Documentation Center

Configuring Veeva integration

The Veeva post-publish plugin allows for different workflows to be triggered based on how the document is classified. This type and classification of documents is configurable.

Steps to configure the plugin

  1. Sign in to Organize Space.
  2. Go to Settings > XML Settings > Publish Plug-ins.
  3. Add configuration based on provided property definitions and example.
  4. Select Save (Save) to apply your changes.

Extension configuration properties

The following parameters can be used to configure the Veeva post-publish plugin:

  • FilePathToUploadContextItemsKey - Item containing the path to the file that should be copied.
  • VeevaUrl - Endpoint URL to Veeva API, for example: https://vvtechpartner.veevavault.com/api/v19.2
  • VeevaUsername - Veeva username
  • VeevaPassword - Veeva password
  • IdFieldName - Veeva field name for the unique ID field (default: 'tridion_guid__c'). This is used to keep track of document in Veeva. If it already exists, it will create a new minor version of the document (if the document is not locked by a workflow etc). Default the ID consist of the publication GUID + language(s). For example: GUID-75CD4383-F94E-49AA-8182-9776535F8522-en
  • VersionIncludedInId (true/false): Control whether the publication version should be appended to the unique ID stored in Veeva. Example of ID with version: GUID-75CD4383-F94E-49AA-8182-9776535F8522-en-v1
  • RenameFileToStandardFormat (true/false): Indicates if the document file should be renamed to the standard format or not. If set to 'false' the document filename is taken as-is from the pipeline (it might be steps in the pipeline that renames the file). If set to 'true' the file is renamed to the following format: <Title>=<Publication GUI>=<Version>=<Output Format>=<language(s)> . For example: MP660=GUID-75CD4383-F94E-49AA-8182-9776535F8522=1=PDF (Letter Manual)=en
  • JavaExecutablePath - Path to Java executable (default: 'java'). Can be used to point to a specific Java JDK/JRE to use. Windows environment variables can also be used in the path, for example: %VEEVA_JAVA_HOME%\bin\java.exe
  • MetadataMappings - Mappings of document metadata in Veeva; Is an XML document with the following format:
    <metadatamappings>
       <metadatamapping name="<Veeva field name>" default="<default value>">
           <ishfield name="<Tridion Docs field name in publication output>" level="<ISH level, e.g. 'logical'>" ishvaluetype="<ISH value type, e.g. 'value' " />
       </metadatamapping>
       <metadatamapping ...>
    </metadatamappings>

Extension configuration example

<plugindefinition name="PublishToVeeva" handler="VeevaPostPublishPlugin">
       <description>This plugin uploads file to Veeva Vault</description>
       <initialize>
         <parameters>
           <parameter name="VeevaUrl">https://vvtechpartner-sdl.veevavault.com/api/v19.2</parameter>
           <parameter name="VeevaUsername">user1@vvtechpartner.com</parameter>
           <parameter name="VeevaPassword">Secret</parameter>
           <parameter name="FilePathToUploadContextItemsKey">DITAOTOutputFile</parameter>
           <parameter name="IdFieldName">tridion_guid__c</parameter>
           <parameter name="VersionIncludedInId">true</parameter>
           <parameter name="RenameFileToStandardFormat">true</parameter>
           <parameter name="JavaExecutablePath">%JAVA_HOME%\bin\java.exe</parameter>
           <parameter name="MetadataMappings">
             <metadatamappings>
               <metadatamapping name="type__v" default="Clinical" />
               <metadatamapping name="subtype__v" default="Listings" />
               <metadatamapping name="lifecycle__v" default="General Lifecycle" />
               <metadatamapping name="classification__v" default="Patient Data Listing">
                 <ishfield name="FMBPRODUCTRELEASENAME" level="version" ishvaluetype="value" />
               </metadatamapping>
               <metadatamapping name="product__v" default="00P000000000101" />
             </metadatamappings>
           </parameter>
         </parameters>
       </initialize>
     </plugindefinition>