Documentation Center

IPublishPostProcessPlugin - DitaDeliveryUploadPackages

Uploads the compressed transport packages to Dynamic Delivery and signals that they need to be processed.

Plugin Input

Plugin configuration parameters
ParameterRequiredDefault valueAllowed valuesDescription
ActionYesValid action nameThe name of the command action to execute on a queue.
VerbsYesValid verb namesThe names of the verbs that the queue operates upon. Multiple verbs need to be separated with ", " (comma+space).
NumberOfRetriesYesNumber

The number of times an http request is retried.

TimeoutNo00:02:00Valid TimeSpanTimeout of the http request.
WaitTimeBetweenRetriesNo00:00:30Valid TimeSpanTime to wait between retries of the http request.
FinishDeployingBackgroundTaskEventTypeNoDITADELIVERYCHECKREMOTESTATUSEvent type of a configured background taskEvent type of the background task which will check if the uploaded packages are successfully deployed in Dynamic Delivery
Input expected in the context.Items collection
Item KeyRequiredDefault valueItem Value TypeDescription
CompressedPackagesFilePathsYesList<String>The list with full file path for every compressed file created.

Plugin Outcome

Values set on the context as a result:

  • The property FinishDeployingBackgroundTask is set to an instance of FinishDeployingBackgroundTask that points to the background task specified in the FinishDeployingBackgroundTaskEventType parameter (typically DITADELIVERYCHECKREMOTESTATUS) and contains an ishobject structure with all necessary information to start the background task:
     <ishobject ishref = "GUID-CED582EC-8D42-4888-8784-1446DA711F25" ishtype="ISHPublication" ishlngref="1953653">
       <ishfields>
         <ishfield name = "VERSION" level="version">1</ishfield>
         <ishfield name = "DOC-LANGUAGE" level="lng">en</ishfield>
         <ishfield name = "FISHEVENTID" level="lng">PUBLISHDITADELIVERY MECDEVAPP01 20170912034617169 2024398932</ishfield>
       </ishfields>
     </ishobject>
Values set in the database on the Publication Output
Publication Output FieldTypical ValueDescription
FISHDITADLVRDEPLOYERIDSish[PUBLICATIONOUTPUTID]-1-66560-[TIMESTAMP], ish[PUBLICATIONOUTPUTID]-2-66560-[TIMESTAMP], ..., ish[PUBLICATIONOUTPUTID]-N-66560-[TIMESTAMP]The list with IDs we can use later to query the status of the Deployer.

plugin name="ISHDITADELIVERYUPLOADPACKAGES" example


<plugin name="ISHDITADELIVERYUPLOADPACKAGES" handler="DitaDeliveryUploadPackages">
  <description>Uploads every package zipped by DitaDeliveryCompressPackages to Content Delivery and signals that they need to be processed</description>
  <initialize>
	<parameters>
	  <parameter name="Action">IshPublish</parameter>
	  <parameter name="Verbs">IshPrepare, IshProcess</parameter>
	  <parameter name="NumberOfRetries">2</parameter>
	  <parameter name="FinishDeployingBackgroundTaskEventType">DITADELIVERYCHECKREMOTESTATUS</parameter>
	</parameters>
  </initialize>
</plugin>

Plugin flow

The DitaDeliveryUploadPackages does the following:
  • Authenticates with the delivery platform database using the credentials provided on the Dynamic Delivery output format.
  • Finds queue which contains all the verbs provided in the parameters in the delivery platform database.
    • If there is no queue containing all the verbs, the queue containing at least one verb is returned.
  • Uploads every zip file that is provided in the items collection of the context with the key CompressedPackagesFilePaths to the delivery platform database.
  • For every uploaded package, generates an execution id and adds a "IshPublish" execution record in the delivery platform database to signal that the package needs to be processed.
  • Stores the execution ids in the FISHDITADLVRDEPLOYERIDS field of the Publication Output.
  • Sets the FinishDeployingBackgroundTask on the context using:
    • An ishobject structure containing all information of the publication output
       <ishobject ishref = "GUID-CED582EC-8D42-4888-8784-1446DA711F25" ishtype="ISHPublication" ishlngref="1953653">
         <ishfields>
           <ishfield name = "VERSION" level="version">1</ishfield>
           <ishfield name = "DOC-LANGUAGE" level="lng">en</ishfield>
           <ishfield name = "FISHEVENTID" level="lng">PUBLISHDITADELIVERY MECDEVAPP01 20170912034617169 2024398932</ishfield>
         </ishfields>
       </ishobject>
    • The event type provided by parameter FinishDeployingBackgroundTaskEventType