Skip to content

Commit

Permalink
add feature docs for integration options, reporting, workspaces
Browse files Browse the repository at this point in the history
  • Loading branch information
cofiem committed Sep 4, 2024
1 parent d2944b1 commit b7442a7
Show file tree
Hide file tree
Showing 13 changed files with 313 additions and 33 deletions.
18 changes: 9 additions & 9 deletions _includes/html_body_nav.html
Original file line number Diff line number Diff line change
Expand Up @@ -39,19 +39,19 @@
<hr class="dropdown-divider">
</li>
<li>
<a class="dropdown-item {% if page.url == '/features/feature-1' %}active{% endif %}"
{% if page.url == '/features/feature-1' %}aria-current="page"{% endif %}
href="{{ site.baseurl }}{% link features/feature-1.md %}">Feature 1</a>
<a class="dropdown-item {% if page.url == '/features/integration-options' %}active{% endif %}"
{% if page.url == '/features/integration-options' %}aria-current="page"{% endif %}
href="{{ site.baseurl }}{% link features/integration-options.md %}">Integration Options</a>
</li>
<li>
<a class="dropdown-item {% if page.url == '/features/feature-2' %}active{% endif %}"
{% if page.url == '/features/feature-2' %}aria-current="page"{% endif %}
href="{{ site.baseurl }}{% link features/feature-2.md %}">Feature 2</a>
<a class="dropdown-item {% if page.url == '/features/reporting' %}active{% endif %}"
{% if page.url == '/features/reporting' %}aria-current="page"{% endif %}
href="{{ site.baseurl }}{% link features/reporting.md %}">Reporting</a>
</li>
<li>
<a class="dropdown-item {% if page.url == '/features/feature-3' %}active{% endif %}"
{% if page.url == '/features/feature-3' %}aria-current="page"{% endif %}
href="{{ site.baseurl }}{% link features/feature-3.md %}">Feature 3</a>
<a class="dropdown-item {% if page.url == '/features/workspaces' %}active{% endif %}"
{% if page.url == '/features/workspaces' %}aria-current="page"{% endif %}
href="{{ site.baseurl }}{% link features/workspaces.md %}">Workspaces</a>
</li>
</ul>
</li>
Expand Down
19 changes: 13 additions & 6 deletions data-lifecycle.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,9 @@ then allowing users to extract manifests of data back into ReDBox and publishing
alongside the data collection metadata.
alongside the data collection metadata.

![How ReDBox supports the DCC Curation Life Cycle]({{ '/static/images/curationlifecycle.png' | relative_url }})
<img src="{{ '/static/images/curationlifecycle.png' | relative_url }}"
class="img-fluid border"
alt="How ReDBox supports the DCC Curation Life Cycle">

How ReDBox supports the DCC Curation Life Cycle

Expand Down Expand Up @@ -54,14 +56,16 @@ In the initial release, these services will include GitLab code repositories, OM
LabArchive electronic lab notebooks. In ReDBox, the researcher can then manage that workspace with a variety of
functions, including:

sharing a workspace (a directory, site or project belonging to a researcher in a particular tool) with other researchers
setting a workspace to be immutable (read-only)
making a workspace from one tool available in a different research tool.
- sharing a workspace (a directory, site or project belonging to a researcher in a particular tool) with other researchers
- setting a workspace to be immutable (read-only)
- making a workspace from one tool available in a different research tool.

Future Provisioner development is expected to support many more useful processes, including data archiving
and data publication.

![The UTS Provisioner links services to their Stash research data management platform via workspaces]({{ '/static/images/provisioner.jpg' | relative_url }})
<img src="{{ '/static/images/provisioner.jpg' | relative_url }}"
class="img-fluid border"
alt="The UTS Provisioner links services to their Stash research data management platform via workspaces">

The UTS Provisioner links services to their Stash research data management platform via workspaces

Expand All @@ -87,6 +91,9 @@ including planning, provisioning, data harvesting and publishing. It will give i
into how researchers manage and publish their data while providing assurances that researcher practices conform
to Australian standards and expectations.

![The UTS Provisioner links services to their Stash research data management platform via workspaces]({{ '/static/images/rbdlc.jpg' | relative_url }})
<img src="{{ '/static/images/rbdlc.jpg' | relative_url }}"
class="img-fluid border"
alt="The UTS Provisioner links services to their Stash research data management platform via workspaces">


ReDBox is a complete data management system for supporting the Research Data Life Cycle Framework
6 changes: 0 additions & 6 deletions features/feature-1.md

This file was deleted.

6 changes: 0 additions & 6 deletions features/feature-2.md

This file was deleted.

6 changes: 0 additions & 6 deletions features/feature-3.md

This file was deleted.

91 changes: 91 additions & 0 deletions features/integration-options.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
---
layout: page_general
permalink: /features/integration-options
title: Integration Options
excerpt: ReDBox can seamlessly integrate with a range of institutional systems.
---

## Integration Options in ReDBox


This document outlines the various integration options available in the ReDBox platform.
ReDBox is designed to seamlessly integrate with a range of institutional systems, enabling
efficient data management and enhanced research workflows.

The integration options include a fully featured REST API, provisioner plugins for research
services, publishing integrations for disseminating data, and robust lookup data functionalities.
These integrations help ensure that ReDBox can be tailored to meet the specific needs of your
institution, fostering better data accuracy, streamlined processes, and improved collaboration
among researchers.

### REST API

ReDBox has a fully featured REST API that enables other systems to either modify information
within the platform or retrieve information from it. This API facilitates seamless integration
with various institutional systems, ensuring smooth data flow and interoperability.

#### Common Use Cases

- **Exporting Data**: The export API can be utilized to retrieve data from ReDBox for integration
with an institutional data lake or reporting system. This ensures that data within ReDBox
can be consolidated with other institutional data for comprehensive analysis and reporting.
- **Triggering Record Creation**: The API can trigger the creation of a record in ReDBox based on
an action performed in another system. For example, an RDMP can be automatically created in
ReDBox when a project grant is approved in the Research Information Management System (RIMS).
This automation helps in maintaining data consistency and reducing manual effort.

### Provisioner Plugins

As part of ReDBox's workspace functionality, a variety of plugins are provided to provision
research services such as storage or other online tools. These plugins not only incentivize
researchers to complete their RDMPs but also help in linking the usage of these services to
specific projects. Several provisioner plugins are available for configuration:

- **ServiceNow**: Integrates with the [ServiceNow](https://www.servicenow.com/) platform to
create and manage service requests.
- **REDCap**: Facilitates the provisioning of [REDCap](https://www.project-redcap.org/) projects
and resources.
- **Terraform**: Automates the provisioning of infrastructure using
[Terraform](https://www.terraform.io/).
- **GitLab**: Manages [GitLab](https://about.gitlab.com/) repositories and resources.
- **OMERO**: Integrates with [OMERO](https://www.openmicroscopy.org/omero/) for
managing image data.
- **LabArchives**: Connects with [LabArchives](https://www.labarchives.com/) for managing
lab notebooks and research data.

Additionally, many more plugins can be developed to extend the provisioning capabilities of
ReDBox, making it highly adaptable to various research needs and institutional requirements.

### Publishing Integrations

ReDBox aids in the publishing of data by providing configurable workflows for review and
integration with [Datacite Fabrica's](https://doi.datacite.org/) API for DOI minting.
This facilitates the formal publication and dissemination of research data.
ReDBox also supports pushing records to institutional publication search and discovery portals.
The following portal systems are currently supported:

- **Figshare**: Integrates with [Figshare](https://figshare.com/) for publishing and managing
research outputs.
- **OAI-PMH Feed**: Supports any portals that can ingest records using the OAI-PMH protocol,
such as [Research Data Australia](https://researchdata.edu.au/).

Additional portal systems can be integrated with further development, ensuring broad
compatibility with various publication platforms and maximizing the visibility and impact
of research data.

### Lookup Data

One of ReDBox's powerful features is its ability to provide lookup functionality for
institutional information, ensuring that records are filled out accurately. ReDBox supports
two primary methods for integrating lookup data:

- **API Integration**: ReDBox can integrate with the APIs of source institutional systems, allowing
users to search and suggest values directly from these systems. This real-time integration
ensures that the most up-to-date information is available for record creation and management.
- **Ingesting Feeds**: ReDBox can ingest data feeds from source institutional systems using its REST
API. Once ingested, the internal search APIs can be used to suggest values to users,
facilitating accurate data entry and enhancing the overall user experience.

These lookup capabilities help maintain data integrity and streamline the process of filling
out records within ReDBox.

89 changes: 89 additions & 0 deletions features/reporting.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
---
layout: page_general
permalink: /features/reporting
title: Reporting Options
excerpt: There are many options for creating reports in ReDBox
---

## ReDBox Reporting

ReDBox has been designed to capture metadata from a variety of sources to help institutions
manage research data. While the intention of the system isn’t to be a fully fledged
reporting/business intelligence (BI) tool, it’s important for the system to be able to
provide some basic functionality as well as provide integration options for reporting tools
so that more complex reports can be created. This document outlines the options currently
available in ReDBox, how they can be used and any potential limitations with their approaches.

## Features

### Exports

ReDBox provides the ability to export record metadata by record type (e.g. RDMPs) and can
filter down to a date range based on when the record was modified.
The export functionality supports exporting to CSV or to JSON formats.

<img src="{{ '/static/images/reporting-exports.png' | relative_url }}"
class="img-fluid border"
alt="Export record metadata by record type">


The output produced contains all the metadata that is being captured in the system for each
record and there’s no ability to choose which fields are exported though this can be done as
a post-processing task in the tool of your choice once the export is completed.
As the metadata stored in ReDBox is not
"[flat](https://www.techtarget.com/searchdatamanagement/definition/flat-file)"
but the CSV output is, some columns contain
JSON formatted strings to ensure all the metadata is present in the output.

In general, the CSV output is more useful for work within a spreadsheet tool such as Excel.
Most modern reporting/BI tools support JSON data sources and therefore the JSON output would
be recommended for use with those sorts of systems.

### REST API

ReDBox includes a
[REST API](https://redbox-mint.github.io/redbox-portal/additional-documentation/rest-api.html)
that has endpoints that give systems the ability to retrieve record
metadata from ReDBox. A reporting/BI tool could use the APIs to query ReDBox for report generation
or simply as a machine to machine method to export metadata for importation into the system.

### Report Screens

<img src="{{ '/static/images/reporting-report-screens.png' | relative_url }}" class="img-fluid border" alt="ReDBox includes some basic reporting functionality">

ReDBox includes some basic reporting functionality.
With this functionality it is possible to configure a basic query, define filter parameters and
a basic table output. The functionality also provides the ability to export the output to a CSV.
The functionality was developed early in the development of the system and has a number of
limitations currently:

- The source of the data used for exporting is the index built for searching.
The search index is generated from the source database and can sometimes be out of sync and
therefore what is displayed is not accurate. Ideally it should be using the database.
- There are a very limited number of options as to what the table columns can output. It can be
configured to generate HTTP links based on the data to support providing links to access records
but all other data cannot be formatted and will show exactly as it is in the data source.
- While the table column output has the ability to generate a link that will be shown in the UI
report preview, it is not possible to format the content of the CSV export at all and hence the
HTML links will not be shown in the exports.

### Connecting Business Intelligence (BI) tools to the database

ReDBox uses a
[MongoDB](https://www.mongodb.com/)
database, most BI/Reporting tools support this type of database as a
datasource and therefore its possible to generate reports using this method.

There are however security implications, especially for QCIF managed ReDBox instances that are
hosted outside an institution’s network and therefore would require discussions regarding
requirements and effort to configure to enable.

### Other options

In addition to the above, it is possible to customize ReDBox to the use case required by an
institution. This might include:
- Sending data to a location within the institution. For example, outputting the metadata to
institutional storage or system
- Providing a custom endpoint to cater for the specific requirements of the system ingesting
the content. For example, a system may require the content to be provided to it in a specific
protocol and metadata format
111 changes: 111 additions & 0 deletions features/workspaces.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
---
layout: page_general
permalink: /features/workspaces
title: Workspaces
excerpt: Workspaces provide researchers access to external services from ReDBox
---

## Workspaces in ReDBox

Workspaces in ReDBox are a record type that describes a service
a researcher is using in their research project.

This feature integrates with these services through a provisioner
framework to automate the provisioning process.

### Purpose and Benefits

- Incentivizes the creation of Research Data Management Plans (RDMPs)
- Streamlines the provisioning process with pre-filled information

### Accessing the Workspaces Feature

1. Navigate to the RDMP Form: Access the RDMP form within ReDBox.
2. Locate the Workspaces Tab: Find the tab listing all configured workspaces.

## Key Functionalities

- **Pre-Filled Information**: Saves time by using data from the RDMP to fill in the workspace form.
- **Custom Fields**: Enter specific details required for the service being provisioned.

### Customization Options

- **Adjusting Storage Size**: For storage-related workspaces, specify the required storage size.
- **Adding Additional Details**: Include any additional information relevant to the workspace.

### Linkage Between RDMP and Workspace

- **Associated Workspaces**: The linkage between the RDMP and the workspace allows
displaying associated workspaces in the RDMP record.
- **Workspaces Dashboard**: Researchers can view all their workspaces and the related
RDMP through a dedicated dashboard.

### Pushing RDMP Metadata to Services

- **Provisioning Framework**: If the service being provisioned supports it,
the provisioning framework can push RDMP metadata to the service to assist
maintainers of the service.

## Using the Workspaces Feature

1. Creating an RDMP:

1. Fill out the RDMP form with the necessary details about your research project.
2. Save the RDMP to proceed to the workspaces section.

2. Selecting and Opening a Workspace:

1. In the RDMP form, navigate to the Workspaces tab.
2. Select the desired workspace from the list.

<img src="{{ '/static/images/workspaces-open.png' | relative_url }}"
class="img-fluid border"
alt="Select the desired workspace from the list">

3. Filling Out the Workspace Form:

1. Review the pre-filled information from the RDMP.
2. Enter any additional required information
(e.g., storage size for a research data storage workspace).

<img src="{{ '/static/images/workspaces-additional-info.png' | relative_url }}"
class="img-fluid border"
alt="Enter any additional required information for the workspace">

3. Save the form to initiate the provisioning process.
4. View details about the status of the workspace either in the
RDMP or the workspaces dashboard

<img src="{{ '/static/images/workspaces-list.png' | relative_url }}"
class="img-fluid border"
alt="View details about the status of the workspaces">


## Case Study: ServiceNow Provisioner

The ServiceNow provisioner is one of the most popular provisioners in ReDBox.
It allows creating Service Catalog requests within the ServiceNow platform,
streamlining the process for researchers and service maintainers.

### Features

- **Automated Request Creation**: Automatically creates Service Catalog requests in
ServiceNow based on the information in the RDMP and workspace forms.
- **Pre-Filled Information**: Utilizes RDMP data to pre-fill request forms in ServiceNow,
reducing manual entry and errors.
- **Metadata Push**: Pushes relevant RDMP metadata to ServiceNow to assist service
maintainers with additional context and information about the research project.
- **Status Tracking**: Allows researchers to track the status of their Service Catalog requests
directly from the ReDBox interface.

### Implementation Details

1. Service Catalog Types Configuration in ServiceNow:
- Define and configure the Service Catalog types within the ServiceNow platform.
2. Request Forms Configuration in ReDBox:
- Configure the corresponding request forms in ReDBox for each Service Catalog type.
3. Updating Metadata via REST API:
- ServiceNow is provided with an identifier for the workspace.
- ServiceNow can update the metadata of the record to provide status and implementation
information using ReDBox's REST API.

Binary file added static/images/reporting-exports.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/images/reporting-report-screens.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/images/workspaces-additional-info.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/images/workspaces-list.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/images/workspaces-open.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit b7442a7

Please sign in to comment.