Intents
Disclaimer: The Intent functionality described in this Article is only available for Output Organizer advanced.
To get a trial license for advanced functionality please contact us at jadice-support@levigo.de
With intents, you can manipulate the behaviour of Output Organizer depending on the workflow you are using it in. Workflows can give additional information in form of intents to an API call or a redirect to the application. These intents, as the name implies, predefine the intent or the goal of the current workflow step. The applications can then adjust predefined configuration options to reach the desired goal without explicitly setting individual values. In the following article you can learn what intents are available in Output Organizer and how to use them.
Export Intent
This intent can override the default export behaviour. The default export process combines all output documents into a single downloadable PDF file. With an export intent you can change this behaviour to trigger another job when the user decides to trigger the export process. To transport your intention you can add a URL parameter to the Output Organizer URL: If you start with an empty collection:
https://output-organizer.levigo.de?export-intent=<custom-job-template>
or if you have an already existing collection:
https://output-organizer.levigo.de/view/<collection-id>?export-intent=<custom-job-template>
The custom-job-template
placeholder for the export-intent
parameter can define a Jadice Flow job template containing one or multiple steps of workers.
To define your template and make it available in your deployment.
Preprocessing Intent
The Preprocessing Intent is used to perform universal modifications on new elements, before they are added to a collection.
Use cases for such Intents are conversions, scaling or watermarks.
Similar to Export Intents, preprocessing intents are passed when opening a collection using:
https://output-organizer.levigo.de?preprocessing-intent=flow:<custom-job-template>
or if you have an already existing collection:
https://output-organizer.levigo.de/view/<collection-id>?preprocessing-intent=flow:<custom-job-template>
When using the REST API, you can pass an intent url parameter to trigger preprocessing.
This parameter is available on the following endpoints.
Creating new collections:
POST: https://output-organizer.levigo.de/api/v1/collections?intents=flow:<custom-job-template>
Updating collections:
PUT: https://output-organizer.levigo.de/api/v1/collections/<collection-id>?intents=flow:<custom-job-template>
Adding elements:
POST: https://output-organizer.levigo.de/api/v1/collections/<collection-id>/elements?intents=flow:<custom-job-template>
Updating elements:
PUT: https://output-organizer.levigo.de/api/v1/collections/<collection-id>/elements/<element-id>?intents=flow:<custom-job-template>
The custom-job-template
placeholder for the preprocessing-intent
parameter can define a Jadice Flow job template. These job templates can preform various tasks using a chain of workers.
When USING the REST API and the intents
the template name has to be prefixed with flow:
.
To define your template and make it available in your deployment.
Configuration
You need to add two configuration files to your deployment:
workers.yaml
contains a definition of available workers and their configuration.
As an example the default configuration looks like this and defines a single worker namedfusionCollectionExport
:jadice-flow.workers:
workerDefinitions:
- workerName: "fusionCollectionExport"
description: "Creates a single PDF export for a fusion collection"
processorClass: "com.jadice.flow.controller.server.processor.RemoteItemProcessor"
workerURL: "http://jf-worker-topdf"
infoTags:
- "ITEM_BASED"
- "IMAGE_PROCESSING"
- "REMOTE"
workerParameters:
- name: "pdfaConformanceLevel"
type: "com.jadice.flow.worker.topdf.settings.Conformance"
subTypes: null
value: "PDF/A 2b"
description: "PDF-A conformance level"
- name: "isCollection"
type: "java.lang.String"
subTypes: null
value: "\"true\""
description: "PDF export settings"
- name: "processingStepSettings"
type: "com.jadice.flow.worker.topdf.settings.ProcessingStepSettingsDTO"
subTypes: null
value: "{\"repackingAllowed\":false,\"genericProcessingAllowed\":true,\"rasterizationAllowed\"\
:true}"
description: "PDF export settings"
- name: "pdfStructureReaderSettings"
type: "com.jadice.flow.worker.topdf.settings.PDFStructureReaderSettingsDTO"
subTypes: null
value: "{\"readStrategy\":null}"
description: "PDF reader settings. LENIENT-Mode enables to read some documents\
\ with structural defects"
- name: "outputMode"
type: "com.jadice.flow.worker.topdf.settings.OutputMode"
subTypes: null
value: "\"JOINED\""
description: "PDF export output mode. Generate one stream per page or join all\
\ incoming documents together."
- name: "modcaReaderSettings"
type: "com.jadice.flow.worker.topdf.settings.ModcaReaderSettingsDTO"
subTypes: null
value: "{\"fontMode\":\"FocaRasterShape\"}"
description: "Modca reader settings"
- name: "baseReshapeSettings"
type: "com.jadice.flow.worker.topdf.settings.BaseReshapeSettingsDTO"
subTypes: null
value: "{\"pageSelection\":null,\"imageRepackingAllowed\":true,\"imageDownsamplingResolutionPPI\"\
:0.0}"
description: "Base reshape settings"
- name: "validationSettings"
type: "com.jadice.flow.worker.topdf.settings.ValidationSettingsDTO"
subTypes: null
value: "{\"performValidation\":false,\"validationMode\":\"PAGE_COUNT_AND_HASH\"\
,\"validationModeFailureAction\":\"FAIL\"}"
description: "Validation settings"jobtemplates.yaml
contains a definition of available job templates which contain the process steps and refer to the workers defined above.
As an example the default configuration looks like this and defines a single job namedfusionCollectionExport
:
jadice-flow.jobs:
jobTemplates:
- jobName: "fusionCollectionExport"
description: "This worker exports document(s) and publishes them to the configured export target(s)."
properties: { }
enabled: true
stepTemplates:
- stepName: "fusionCollectionExport"
workerDefinitionName: "fusionCollectionExport"
inputMimeTypes: [ ]
inputFilterJson: null
expectsNewPartResult: true
markSrcAsMetaOnResult: true
parameters:
- name: "pdfaConformanceLevel"
type: "com.jadice.flow.worker.topdf.settings.Conformance"
subTypes: null
value: "\"PDFA2b\""
description: "PDF-A conformance level"
jobFlow:
- from: null
"on": "*"
to: "fusionCollectionExport"
For more information about workers and job templates please refer to the Jadice Flow documentation here.
To add these files to your deployment see.