Use case repository

External Object Storage Connector

OVERVIEW

The Collaborate product charges by the amount of data stored, so an integration which can provide efficient transfer out of the system, is a valuable tool for system administrators/ product owners.


The HighQ REST API can be leveraged to download the file & folder structures of an instance's sites. This tool does so both onto the server this app is running on, as well as to a remote storage repository like AWS S3. A user can then soft/hard delete the contents of sites in Collaborate, from the UI of the app. 


Users of the integration get a different UI for viewing the system level perspective on sites. If this was built out to a production grade, we would add many more options for filtering and ordering the results. The idea being that a system admin can get a clear view of which sites are old and large and then make an informed decision about moving the data out, before deleting. 

Data Room List

Here is what a site detail page looks like: 

Data Room Detail
At the bottom of the site detail page, we have the buttons which can launch jobs to copy a site as well as either 'recycle bin' all its contents or permanently delete: 

Task Buttons

We expect some actions to be long-running, (i.e. transferring a large site), so these operations are pushed out to a background worker process. We then 'poll' the status of the background job from the app's frontend.


Polling the Celery Progress

Here is 'New Test Site Hamza' in our support UAT: 

External Object Storage Connector 3

We run the site copy job and here is the site downloaded on the sever: 


External Object Storage Connector 2

 

Here is the site replicated on Amazon S3: 

External Object Storage Connector


There is a settings page, so it would be easy to switch between Collaborate instances, as well as remote storage provider (it currently supports AWS S3 and Digital Ocean Spaces). 

Settings

Comments


0 Comments

Last Updated: Nov 08,2024