Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.9%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: robertbjornson
  • Default Branch: main
  • Size: 80.1 KB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 1
  • Releases: 0
Created over 1 year ago · Last pushed over 1 year ago
Metadata Files
Readme Citation

README.md

Globus
🧪 BETA 🧪
This is template repository used to generate a Globus-powered research data portal.


View the result at: globus.github.io/template-data-portal.

While this repository is a working example of a data portal, it is also a template for creating your own static research data portal.


Creating Your Own Static Research Data Portal

  1. Create a new repository from the globus/template-data-portal template.
    • Screenshot 2024-03-11 at 12 24 22 PM
  2. Update your repository to allow publishing with GitHub Actions.
  3. Ensure your GitHub Pages are configured to Enforce HTTPS
  4. Register an application on Globus – https://app.globus.org/settings/developers
    • You'll be creating an OAuth public client; This option is presented as "Register a thick client or script that will be installed and run by users on their devices".
    • Update the Redirects to include your GitHub Pages URL + /authenticate, i.e., https://globus.github.io/template-data-portal/authenticate, https://{username}.github.io/{repository}/authenticate
    • Optional: Specify the Privacy Policy URL and Terms & Conditions URL to the portal-provided routes, i.e. https://globus.github.io/example-data-portal/privacy-policy
  5. Update the static.json to include:
    • data.attributes.globus.application.client_id – The UUID of the client created in the previous step.
    • data.attributes.globus.transfer.collection_id – The Collection UUID that will be the "source" of your data portal.
    • Optional: Set the data.attributes.globus.transfer.path to a specific path within the collection.
    • See the static.json type definitions for more configuration options.
  6. That's it! The changes made (and any future changes) to the static.json will trigger a GitHub Action that will automatically build and deploy your research data portal to your GitHub Pages URL.

Common Changes after Creating Your Portal

  • Updating the Title and Tagline – Update the data.attributes.content.title and data.attributes.content.tagline in the static.json.
  • Edit/Remove the CITATION file – Update the CITATION.cff file to reflect the appropriate citation information for your research data portal – learn more about CITATION files.
  • Removing this section of the README – Remove this section from the README.md file or update the README to meet your needs.

Features + Functionality

Data Portal

  • Powered by Globus
  • List the directory contents of a configured Globus collection at a specific path.
    • Support for HTTPS Access download of files where available.
  • Transfer data from the configured collection to another Globus collection.

GitHub Repository

  • 📄 Hosted via GitHub Pages – Users can access your data portal at this repository's GitHub Pages URL. Use all the functionality built-in to GitHub pages to suit your needs, including configuring a custom domain.

  • 🚀 Automated Deployments via GitHub Actions – Any file changes will result in the deployment (and rebuild) of your data portal.

    • You can manually trigger a deployment by navigating to the Actions tab and selecting the static workflow.
  • 🤖 Dependabot – A default Dependabot configuration (.github/dependabot.yml) to keep your repository up-to-date with latest changes to globus/static-data-portal.

static.json

The type used for data by the @globus/static-data-portal generator.

Type declaration

| Name | Type | Description | | :------ | :------ | :------ | | attributes | { content: { image?: string ; privacy_policy?: string ; tagline?: string ; terms_of_service?: string ; title: string } ; globus: { application: { client_id: string ; redirect_uri?: string } ; transfer: { collection_id: string ; path?: string } } ; theme?: ThemeSettings } | - | | attributes.content | { image?: string ; privacy_policy?: string ; tagline?: string ; terms_of_service?: string ; title: string } | - | | attributes.content.image? | string | The URL of the portal's header image. | | attributes.content.privacy_policy? | string | A privacy policy to be rendered at /privacy-policy. This is especially useful for associating the published URL with your registered Globus Auth application. | | attributes.content.tagline? | string | - | | attributes.content.terms_of_service? | string | Terms and conditions to be rendered at /terms-and-conditions. This is especially useful for associating the published URL with your registered Globus Auth application. | | attributes.content.title | string | The title of the research data portal. | | attributes.globus | { application: { client_id: string ; redirect_uri?: string } ; transfer: { collection_id: string ; path?: string } } | - | | attributes.globus.application | { client_id: string ; redirect_uri?: string } | Information about your registered Globus Auth Application (Client) See https://docs.globus.org/api/auth/developer-guide/#developing-apps | | attributes.globus.application.client_id | string | The UUID of the client application. | | attributes.globus.application.redirect_uri? | string | The redirect URI for the Globus Auth login page to complete the OAuth2 flow. The portal will make a reasonable effort to determine this URI, but this field is provided as a fallback. To use the portal's built-in authorization handling, redirects should be sent to /authenticate on the host. Example ts "https://example.com/data-portal/authenticate" | | attributes.globus.transfer | { collection_id: string ; path?: string } | Configuration for Transfer-related functionality in the portal. | | attributes.globus.transfer.collection_id | string | The UUID of the Globus collection to list and transfer files from. | | attributes.globus.transfer.path? | string | The path on the collection to list and transfer files from. | | attributes.theme? | ThemeSettings | - | | version | string | The version of the data object, which is used to determine how the generator will render its attributes. Example ts "1.0.0" |

Owner

  • Login: robertbjornson
  • Kind: user

Citation (CITATION.cff)

cff-version: 1.2.0
authors:
- family-names: "Bottigliero"
  given-names: "Joe"
  orcid: "https://orcid.org/0009-0009-9663-0050"
title: "Template Data Portal"
version: 1.3.0
date-released: 2024-03-14
url: "https://github.com/globus/template-data-portal"

GitHub Events

Total
  • Delete event: 3
  • Issue comment event: 3
  • Pull request event: 6
  • Create event: 3
Last Year
  • Delete event: 3
  • Issue comment event: 3
  • Pull request event: 6
  • Create event: 3

Dependencies

.github/workflows/jekyll-gh-pages.yml actions
  • actions/checkout v4 composite
  • actions/configure-pages v5 composite
  • actions/deploy-pages v4 composite
  • actions/jekyll-build-pages v1 composite
  • actions/upload-pages-artifact v3 composite
.github/workflows/static.yml actions
package-lock.json npm
  • 402 dependencies
package.json npm
  • @globus/static-data-portal ^1.7.1