In our application we have links to download files in different places and we wa

In our application we have links to download files in different places and we want to store the time, doc name and username that downloaded the file. Is it possible to add some code in the sail form to either:
a) Write to the database from the sail form to store the username, doc name and time
b) Kick off a business process that will store the username/time/doc name
?
Any of these solutions would need to execute when the user clicks on the file link.
Thanks in advance!

OriginalPostID-146602

OriginalPostID-146602

  Discussion posts and replies are publicly visible

  • @jesusp To answer your question, yes, a process can be kicked off as desired by you and database updates can be made from SAIL form by making use of a function namely startprocesswrite. Please refer plugin at https://forum.appian.com/suite/tempo/records/type/components/item/i8BWsQdLlzKy55h8z8zJ0sPqpDWFrba_b1aOsna8Uc_NIimwaIDItVI6iAo65QvGA/view/summary for doing so.

    In order to make use of startprocesswritre along with document download link, please bear in mind that you can achieve it by making use of a 'saveInto' attribute of a component. If you are using a!documentDownloadLink, you can't invoke startprocesswriter because a!documentDownloadLink() doesn't have a associated 'saveInto' attribute. [Refer https://forum.appian.com/suite/help/7.9/Custom_Function_Plug-ins.html#Writer_Functions, https://forum.appian.com/suite/help/7.9/Appian_Data_Types.html#Writer, https://forum.appian.com/suite/help/7.9/Evaluation_Functions.html#bind.28.29 for further explanation.]

    If you strongly adhere to doing it from the SAIL form, an alternative I could think of at this moment is:
    1. Display the documents in a selectable paging grid.
    2. Add a button labelled 'Download' above or below the grid constructed in step - 1.
    3. When user clicks the Download button (created in Step - 2):
    a. Surface the selected documents in a separate section with a link to download the document.
    b. Perform the desired updates by invoking the startprocesswrite with the parameters namely logged in user,array of selected document Id, latest date time etc.

    Though if you opt to perform the database updates out of the SAIL form, as per my knowledge, the above steps should be performed in order to keep track of the users who downloaded the document apart from invoking startprocesswrite in Step - 3(b)

    Hope the above explanation gives you a basic idea and you can expect a better solution in subsequent steps.
  • 0
    Certified Lead Developer
    Jesus if I remember correctly your app has links to the documents in Sail forms, emails and the news feed. Don't think you'd be able to start process if the user opened the doc via the email or the news feed