Appian Design to Create Bulk PDF Files

Certified Senior Developer

I have been asked to check feasibility to implement below requirement,

  • User will upload an excel file which can have records up to 2000. We have to read the parse the file and create separate pdf file for each of the record. The template of pdf file will be same for all.
  • In short we have to generate 2000 files in one go.
  • Once files are generated we need to display status of each record to user that file has been generated successfully or not.

I want to confirm if this is possible to generate 2000 files quickly. If yes then how to do it without getting performance issues.

  Discussion posts and replies are publicly visible

Parents
  • As others have already said, it depends on what you mean by "quickly". But generating 2000 files in Appian - even trivial ones - is going to take some time. 

    There needs to be a balance between how quickly you want this done and managing the resources in your environment. So whilst you could create two instances of a process model, each of which runs an MNI node that creates the PDF documents (MNI is capped at 1000 instances) with each instance being spawned concurrently I don't think that's a very good idea for the health of your environment. You could also set up MNI to run "one at a time" but now the processing is serialized and will not be "quick" (I've just ran 1000 instances that create a PDF from a blank template and that took 10 minutes, and that's without doing any of the work required to populate a true template)

    As others have alluded to...you could manage the User's expectations regarding the process by providing them a confirmation message like: "Thankyou for uploading the Excel file. We are processing this and will let you know when the processing has completed" and then send the user an email prompt when it is completed. Or, at the next level of sophistication, you can build a UI with a progress bar that is periodically refreshed, and only display the final results when the process is 100% complete. You could even generate the first 20 documents and then based upon the time taken so far extrapolate and provide an estimated completion time!

    If the speed at which this can be completed in Appian isn't acceptable you could perhaps send the data to a document generation service outside of Appian that does provide the necessary performance, but even then you'd be subject to the marshalling of the request/response data between Appian and the service and for 2k records/documents this is still not going to be quick.

  • 0
    Certified Senior Developer
    in reply to Stewart Burchell

    Above context is helpful, Thanks. I agree, MNI is going to impact the our appian environment.

    As suggested i'll work PoC ,  calculate the time and discuss with client.

  • 0
    Certified Lead Developer
    in reply to Hemant Borate

    Yes, this needs a conversation. I try to implement applications that are process driven. So e.g. when you need to generate these files and send them to clients via email, no user needs to wait for this. It just happens in the background.

    Some of our client's considerations are just coming from their old way of doing things. I try to catch this and transform it into something new and exciting.

Reply
  • 0
    Certified Lead Developer
    in reply to Hemant Borate

    Yes, this needs a conversation. I try to implement applications that are process driven. So e.g. when you need to generate these files and send them to clients via email, no user needs to wait for this. It just happens in the background.

    Some of our client's considerations are just coming from their old way of doing things. I try to catch this and transform it into something new and exciting.

Children
No Data