Is is best practice to use MNI's in appian , if we need to avoid this could suggest me the ways to so ?
It depends on what you are trying and on which node. In most other cases we choose to go for MNI or Looping flow based on the following considerations,
1. If its a UI node places between activity chaining then check here
2. if its on a script task the same can be converted into a expression rule making use of looping functions.
3. If its a process then using start process smart service with MNI is suggested to distribute load. An alternative to achieve the same is running process start process smart service in loop, the drawback is that it will occupy more memory space in terms of process memory and analytics data but the same can be avoided by deleting the previously completed instances and marking variables hidden.
Based on previous experiences We choose to go for MNI when the no of execution is less than 10 when its more than that we go for looping flows.
I am generating a pdf file for each record in an array of data records and using MNI on the "Generate PDF from Template" smart service for this to iterate through the array. There may be 1 to 10 records at any time in the array when it is invoked. Also I am setting the instances to run one at a time. I don't see any performance issues. I am using MNI only because it is convenient. Is this a bad idea from a design perspective? Should I replace with an XOR gateway?
No, I wouldn't go with an XOR loop - this is a reasonable case for MNI usage, as long as you don't end up with problems storing your generated documents into a PV.
Discussion posts and replies are publicly visible
© 2020 Appian. All rights reserved.