Batch Update from IDM Utilities Tool
Business Problem
Your organization has a collection of digital documents in IDM that contain incorrect attributes, and you need to modify them in bulk. Alternatively, you may want to reorganize your data by updating multiple files. You are seeking an automated and efficient solution to accomplish this task in order to reduce labor costs.
Components
Requirements
- A basic understanding of how to use the command line is recommended for this guide.
- IDM-Administrator role
- User privileges to ION Desk (IONDeskAdmin) and ION API Gateway (IONAPI-Administrator)
- This will involve running a local program that connects to the Infor Cloud. Large imports and exports can consume a lot of memory on the local machine so 16GB RAM is recommended.
- Java 8+ is required on the local machine.
If Java 11+ is used then JavaFX needs to be installed as well (https://openjfx.io/). The Utilities tool can be started from command line where the “module-path” points to the JavaFX directory:
java -Xms1024m -Xmx1024m –module-path “C:\Program Files\Java\javafx-sdk-11.0.1\lib” –add-modules=javafx.controls,javafx.fxml,javafx.web -jar Utilities-.jar
Tutorial
Difficulty: Easy
Estimated completion time: 15 minutes
Batch updating documents via the Infor Document Management (IDM) Utilities tool allows mass changing of document metadata.
1. Finding the IDM Utilities Tool
To access the Batch Update function in IDM, start by navigating to the Control Center.
Once there, select the “Tools” tab and click on “Utilities” then “Download”.
Keep in mind that there is extensive documentation available for these packages, but this guide will focus specifically on the IDM Utilities’ Bulk Import function.
2. Starting up the tool
There will be 2 jar files in the unzipped utilities package. The one you’ll want to run is does not have “sources” at the end.
The IDM Utilities tool can be ran completely in the command line, but there’s also a GUI that we can use. Navigate to the folder, type “cmd” in the folder address bar and hit Enter. This will open the command line right in that folder. Then input this command along with the name of the correct jar file to open up the GUI.
java –jar <ExecutableJarFileName>.jar
Ex: java -jar Utilities-2022.08.00-47.20220728T090651Z.jar
3. Setting up the IONAPI file
Now, in order to connect the IDM Utilities tool to your respective environment you’ll need to generate an IONAPI file. Navigate to Infor API Gateway, click on “Authorized Apps” and in the search bar type in “IDM”. You are looking for an API that says “Backend Service”.
Note: The name of this API can be different from the picture below. It should be a “Backend Service” one.
Click on it, navigate down to “Download Credentials” and click on that. You’ll want to enable “Create Service Account” and input your name and then hit Download.
4. Running the Tool
Using the jar command from earlier, start up the tool, and put in the IONAPI file you created. Your screen should look something like this.
Select the Batch Update tab.
Some things to note here.
- The XQuery you put in must not point to the documents you want to change after they’ve been edited or else you’ll end up in an infinite loop. For this reason, you must also avoid multiple attributes.
- The Thread and Batch Size are already set to their default maximum
- You can optionally set the ACL for the documents
- Additional arguments are the attributes that should be changed, like this: MDS_Name “ABC” MDS_Status 20
5. (Optional) Generating XQuery
For those unfamiliar with XQueries, an easy way to build one is through the IDM XQuery Builder.
XQueries allow you to specify what documents you want to search for through this program. You can find the IDM XQuery Builder in IDM itself.
Put in the criteria you are searching for and then at the top click “Enter Query Manually” and it will give you the XQuery which you can copy and paste into Batch Update.
Query :
/Simple_PO_Document[@Simple_PO_Status="For Approval"]
If you’d like, you can also follow along in this video.
Command Line Arguments
If you’d like to run this on the command line, here are the arguments for running the jar file:
xquery | the search query. If only XQuery is specified with no other arguments, only the number of matched documents is returned with no changes |
acl | an optional access control list to set on the matched documents |
java –jar <ExecutableJarFileName>.jar
Ex: java -jar Utilities-2022.08.00-47.20220728T090651Z.jar
6. Running the batch update
After setting all the arguments and putting in the search query, the batch processing will be performed and you will see a screen like this: