A Web App resource is a shortcut (or reference) to an external web application that functions with HydroShare data resources. A Web App can be a simple webpage, a resource viewer, a data editor, or a complex scientific model. Third-party web applications can access HydroShare data resources using the HydroShare REST API, link to specific HydroShare resource types, and be made discoverable within HydroShare by registration as a Web App resource.
A specific webapp can be linked to a resource so that the web app appears in the Open with dropdown on the resource page. To make this link on the resource page, fill in the extended metadata with an “appkey” and an associated app name. Both resource and web app resource landing page should have matching appkeys for this linkage. See the example below for linking a resource to the model-my-watershed web app.
In most cases, an app will have been programmed to expect certain parameters in its App URL, which sends the app HydroShare resources to retrieve and process. HydroShare provides predefined API parameters have been set to achieve this. When a user launches the Web App from a resource landing page, the REST API dynamically updates the URL at run-time, offering greater flexibility when customizing App URLs. Click here to browse an example of a Web App resource.
If an external web app uses the iRODS server for distributed data storage and management, HydroShare provides an option for the external iRODS server to federate with the HydroShare iRODS server to efficiently push requested data to a temporary directory managed by the external iRODS server via iRODS parallel file transfer. This requested data push operation via iRODS will only happen right before the external web app is being launched so the requested data is ready to be consumed by the web app. To become federated with the HydroShare production system, the external web app institution is required to sign a federation agreement to take full responsibility of keeping its iRODS server operational and well-maintained. To inform HydroShare to perform this requested data push operation when launching a web app, users are required to add the following three extended metadata key-value pairs in the web app tool resource they create:
irods_federation_target_path the target logical path in the federated iRODS server to which to push requested data in HydroShare
irods_federation_target_resource the target iRODS resource in the federated iRODS server to which to push requested data in HydroShare
require_user_authentication true if the web app requires user authentication and false otherwise. This extended metadata is optional, and if not provided, false will be the default option.
The following resource provides an example of the required extended metadata for the GABBS app: