ryan-roemer / django-cloud-browser

Django application browser for cloud datastores (Rackspace, AWS, etc.).
http://ryan-roemer.github.com/django-cloud-browser/
MIT License
81 stars 27 forks source link

Add option to redirect to custom object view #21

Closed c-w closed 5 years ago

c-w commented 5 years ago

Currently the cloud browser works very nicely as a stand-alone for exploring object hierarchies in cloud storage, similar to other tools such as the Azure Storage Explorer. To further improve the utility of the cloud browser and make it easier to inter-op with other Django projects, this pull request adds a new setting which enables developers to customize the "leaf node" on-click behavior of the cloud browser.

Currently when a user clicks on a "leaf node" file in the cloud browser, the file's contents are displayed. If the new setting is provided, instead of displaying the file contents, the request is redirected to an arbitrary URL passing the full context information for the file. This is useful for scenarios where the cloud browser is embedded in a larger application, e.g. for user flows such as "on this button click, open the cloud browser (host app context)" then "navigate to a file in the browser and click on it (cloud_browser app context)" and finally "parse the file and import it into a database (host app context)".

To enable continuity between context when the cloud browser is entered and exited, any metadata that is passed via query parameters to the first call of the cloud browser is persisted in the session and passed to the caller on cloud browser exit.