The IDM integration module provides InterFormNG2 users with an option to upload documents to IDM as part of an InterFormNG2 workflow. It also allows you to read documents from IDM via a custom URL.
Below is a more detailed description of the functionality, followed by some technical details of how it has been implemented.
Prerequisites
In order to use the IDM module, you first need to configure a connection in the InterFormNG2 tenant settings. You find can see this configuration, if you look into the tenant settings. If the IDMConnector jar file has been copied into the modules folder as described in the Prerequisites section above, then you can find the Infor Document Management setting on the left under Workflow:
Here you see this configuration screen:
On the screen above you setup a name for the connection, and click the icon 'choose file' to load the ION API file, that has been generated in Ming.le. You can define multiple connections and you refer to them in InterFormNG2 via the name specified in the top. The default name is 'Default'.
As part of an NG2 workflow, you can upload any kind of document to IDM. This is done by inserting the “To Infor Document Mangement” component in the workflow. In the component’s properties, you have to specify the IDM document type that you want the document to be uploaded as. You can also specify a number of IDM attributes and the values that they should have. These attributes will be set in IDM on the uploaded document. Currently we are limited to three attributes, but this could be increased easily. However, due to limitations in the workflow UI, it has to be a fixed maximum.
For both document type and attributes, you have to use the actual name, not the display name.
In the below screenshot, the value names are hard-coded, but it is also possible to get these values from the workflow input XML (which is probably what will be done in most real-world scenarios).
You can also set the name of the access control list that should be attached to the document. This is an optional field, that can be left empty.
In several places in InterFormNG2, it is possible to fetch a resource via a URL, for instance to embed it in a generated PDF. With the IDM module, you can use a custom URL to retrieve documents from IDM.
For instance if we wanted to retreive a previously uploaded document, and embed it in a PDF that we generate later, we can do that with a URL that looks like this:
idm://<IDM-Instance-Name>/<Filename>?documentType=<IDM-Document-Type>&<IDM-Attribute-Name>=<Value>
Example:
idm://Default/DemoDoc.pdf?documentType=MDS_File&Path=Demo_Id100&MDS_Name=Demo
Note : 1. If the URL parameters match more than one document, then the first match will be returned.
2. With any other URL, special characters have to be URL encoded.