I am working on a web application which allows users to review pdf documents. These documents are submitted from another public facing website. A typical workflow involves:
- A document is uploaded on the public facing website and stored into document management system (DMS).
- The internal web application grabs the document from the shared DMS and shows it to the user.
- The user of the web application downloads this pdf to his local file system.
- He adds some markups/annotations/comments on the pdf.
- The reviewed document is submitted to the application, which processes the document and presents the corrections to the user who submitted the document on the website.
We were using a cloud service for manipulating the pdfs until now, so there was no problem accessing the reviewed pdf, as the API handled that. But some of the customers are having issues storing the pdfs on the cloud, so I need to implement a local solution.
My question is, how can my web-application know when the user has finished reviewing the document (which will probably be a save event), so it can fetch the document for processing. As far as I know, the server doesn't know anything about, and cannot access the local file system.
I can probably force the user to upload the reviewed document on the application, and that would make my life easy. But, from a usability point of view, and for a consistent user experience with the cloud solution; which allowed the communication on "save" event, I would like to have something similar, i.e. when the user hits save after reviewing, my application would like to grab the document for further processing.
I am not sure if there is a way around the server trying to access the local file system.
Note: It's an on-premise, enterprise web-application.
TL;DR: My web-application server would like to know when a document is saved locally, and grab that document.