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
•You need a license code for InterFormNG2, which includes the Infor IDM module.
•You need to get an ION API file, that has been generated in Ming.le. You need to contact Infor for more details about this file.
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>
As IDM-Instance-Name use the name of the IDM instance as configured in tenant settings.
As Filename, use any filename that you wish, however for images the extension must match the image type (i.e. .JPG) in order for InterFormNG2 to read it correctly. In case of embed file, the filename is also used as the default filename of the attachment in the PDF.
As IDM-Document-Type use the name of the document type to search for. This must be the actual name, not the display name.
As IDM-Attribute-Name use the name of the attribute to use as search criteria. This must be the actual name, not the display name. Multiple attributes can be added to the URL. It is also possible to use multi-value attributes in the search criteria. Multi-value attributes are considered matching if just one of the multiple values match the search value.
Example:
idm://Default/DemoDoc.pdf?documentType=MDS_File&Path=Demo_Id100&MDS_Name=Demo
Note that if the URL parameters match more than one document, then the first match will be returned.
Note that as with any other URL, special characters have to be URL encoded.