Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Overview

User can use bulk upload service for various artifacts like User, Organization, Location etc. Currently, user can access the results of upload through upload/status api, where in user gets all the records uploaded in json format. This can be difficult to consume for the end-user. Hence it is ideal to upload this results into cloud-service, and user can download the same from BulkUpload status service.


Solution

Outcome

As part of the story SB-8067, we are going to show all the bulkupload process to user, and allow him to filter and get all the bulk upload request that he has done through sunbird portal.

As part of this result, we will add one more column, which will provide the download link to bulkupload results.User can download the results as csv from here.

It will also hold additional data like - organisationId for Org Bulk Upload.


One column will be added to the curent table: bulk_upload_process, which will store the download link.

The link should only be visible if the process is marked to completed state.


Approach 1: Upload immediately

When bulk upload process finishes in background we will trigger the call to upload the results to cloud service.


Pros:

1. Results will be readily available to client, as soon as the upload process is completed.

Cons:

1. Is user need not download, we will end up consuming cloud storage unnecessarily.


Approach 2: Upload on user action

When bulk upload process finishes, we will just mark the status to completed. But, results will not be uploaded.

Now, when user clicks for the first time, we will check in our database, whether url is already generated. If not generated, we will now upload and generate the URL.

Next time, when user clicks, there will be 2 scenarios:

  1. Link might have expired: In this case we will regenerate and return the new URL.
  2. Link is still valid: we will just return the URL, so that no extra call is required.


Pros:

  • Cloud storage consumption is avoided

Cons:

  • This will be little time consuming, as upload is invoked only once user has initiated the action


Recommended link expiration: 1 day




  • No labels