Recent Releases of @globus/static-data-portal

@globus/static-data-portal - v3.0.0

3.0.0 (2025-04-03)

We're happy to announce another major upgrade to the data portal, ready for your deployment!

If you have any questions or issues with your portal, feel free to open a GitHub Issue or contact Globus Support at support@globus.org.

New Features

We've made some big improvements to the browse collections interface, surfacing many of the filters you may be familiar with from the Globus web application. A collection preview has been added, revealing even more information about the collection before attempting to open.

Screen Cast 2025-04-03 at 12 01 41 PM

Why a major release?

Internally, we've upgraded Next.js (15) and React (19) to their latest major versions – the portal code has been updated to reflect these changes. If you've only modified your application using content and the static.json file, no changes are required, but if you have altered the generator code (e.g. using overrides), these changes may require additional updates.

⚠ BREAKING CHANGES

  • Upgrades core dependencies (Next.js + React) (#451)

Features

  • Adds improved Collection Browser for selecting a destination. (#458) (3cc4ecb)
  • Upgrades core dependencies (Next.js + React) (#451) (6a5dd9b)

- TypeScript
Published by github-actions[bot] 12 months ago

@globus/static-data-portal - v2.1.0

2.1.0 (2024-11-15)

Features

  • Adds "Clear Selected" button to the source file browser. (79058b6)
  • Adds "Search All Collections" toggle in the search panel. (79058b6)
  • Updates Destination search to hide collections the user does not have Transfer-related permissions on (by default) (#370) (79058b6)

Screenshot 2024-11-15 at 11 56 30 AM

Fixes

  • Address issue causing the default header image not rendering on deep pages when portal was published. (#369) (ac3b7d2)

- TypeScript
Published by github-actions[bot] over 1 year ago

@globus/static-data-portal - v2.0.0

2.0.0 (2024-10-29)

⚠ BREAKING CHANGES

The portal will now store authorization tokens in memory (previously localStorage) by default. This change underlines our commitment to providing a "secure by default" implementation.

How is In-Memory Storage More Secure?

When using our GitHub Template Repository to create a portal, your portal is automatically configured to deploy to GitHub Pages. Without a custom domain configuration, your application will be deployed to {username}.github.io/{repository-name}. Due to the same origin access policies of localStorage this means any application you[^1] deploy to GitHub pages would have access to items placed in localStorage by the portal. We believe this default behavior is the less secure option and can lead to unexpected behavior based on your GitHub account usage.

Explaining the Breaking Change

With this new default, the end-user experience around authorization will change to requiring users to authenticate when the portal's browser window is closed. Due to the nature of this change we have flagged this change as a "breaking change", resulting in a major version bump. While we do believe most users should update without making changes to their static.json file, we have included the ability to opt-in to the previous behavior of storing authorization information in localStorage. Before enabling this functionality, we recommend being aware of security best practices related to localStorage, using a custom domain for your portal to better lock down origin access, or having policies in place to avoid unintended access when using the default GitHub Pages domain.

To opt out of this change, a new property in the static.json has been added to enable localStorage storage of authorization data (data.attributes.features.useLocalStorage).

json { "_static": { "generator": { "name": "@globus/static-data-portal" } }, "data": { "version": "1.0.0", "attributes": { "features": { "useLocalStorage": true } } } }

[^1]: localStorage is only available to applications on the same origin, which includes subdomain; Access is only shared with GitHub Pages applications or sites on the same account, not other GitHub account's deployments.

Features

  • Use in-memory based storage for authorization tokens, by default. (#347) (c6ac0f8)

- TypeScript
Published by github-actions[bot] over 1 year ago

@globus/static-data-portal - v1.12.0

1.12.0 (2024-10-25)

Features

  • Adds button to open files in a new tab when collections support HTTPS. (#337) (d6cc729)
    • Screenshot 2024-10-28 at 9 38 02 AM

Fixes

  • use zustand for state management and resolve various state issues in the File Browser (#335) (6b221e5)

- TypeScript
Published by github-actions[bot] over 1 year ago

@globus/static-data-portal - v1.11.0

1.11.0 (2024-10-09)

Features

  • Theming: Use "primary" and "secondary" color palettes for theming instead of "brand". (#319) (2a9c5f6)

Fixes

  • Addresses an issue preventing Transfers being initiated to the "server default" path on a destination collection. (#312) (e72ff70)

- TypeScript
Published by github-actions[bot] over 1 year ago

@globus/static-data-portal - v1.10.2

1.10.2 (2024-10-02)

Fixes

  • Addresses issue preventing HTTPS download button appearing on file entries. (#295) (27effc7)

- TypeScript
Published by github-actions[bot] over 1 year ago

@globus/static-data-portal - v1.10.1

1.10.1 (2024-09-19)

Fixes

  • Addresses issue causing new folders being prefixed with "undefined", updates file listing to be sorted by "Name" (#278) (1e1431c)

- TypeScript
Published by github-actions[bot] over 1 year ago

@globus/static-data-portal - v1.10.0

1.10.0 (2024-09-18)

Features

Multiple collections (and paths) can now be configured using the static.json file.

globus.transfer.collections can now be configured to an array of TransferCollectionConfiguration objects.

jsonc "globus": { "transfer": { "collections": [ { "collection_id": "543aade1-db97-4a4b-9bdf-0b58e78dfa69" }, { "collection_id": "8062693f-f8c2-46be-86d0-de651a974ff3", "path": "/home/u_odwnwpvxpjhatlzwj4ap3svc3q/My First Folder" } ] } // ... }

When this property is provided, the user will be presented with a source selector.

Screen Cast 2024-09-18 at 4 30 40 PM

globus.transfer.collection_id can still be used to enforce a single collection/path without the selector.

Fixes

  • ensure AuthorizationManager methods are awaited (#263) (1306141)

- TypeScript
Published by github-actions[bot] over 1 year ago

@globus/static-data-portal - v1.9.0

1.9.0 (2024-08-26)

Features

  • Updates the "Path" field to be editable for easy directory navigation. (#242) (a3a2d03)

Screen Cast 2024-08-26 at 11 26 23 AM

Fixes

  • Address scenarios where post-consent an existing (refreshed) token would be used instead of the result of the token response. (a3a2d03)
  • Search: Ensures GCSv5 Endpoints ("nonfunctional" endpoints that do not support transfer) are not displayed in destination collection search results. (#231) (1702e62)

- TypeScript
Published by github-actions[bot] over 1 year ago

@globus/static-data-portal - v1.8.0

1.8.0 (2024-08-19)

We're happy to announce the availability of many new features in the data portal – ready for your deployment!

If you have any questions or issues with your portal, feel free to open a GitHub Issue or contact Globus Support at support@globus.org.

New Features

Custom Content – content Directory

To simplify adding custom pages or documentation to your data portal, we now support a content directory that allows you to host arbitrary Markdown files. The generated portal will include these files as pages, resulting in URL-accessible routes hosted at their designated path.

Adding Markdown-based Documentation

The most common use case for the content directory is hosting documentation for your users.

https://github.com/user-attachments/assets/6deecb45-0b63-43ff-a9cf-ae1747b79f1a

Customizing the Landing Page Using Markdown

Provide a custom index.md in your content directory – the portal will then use this as the landing page. This override can be helpful for including customization beyond the properties supported in the static.json file.

https://github.com/user-attachments/assets/c37e695a-eba0-40de-a1eb-d346241c0b5d

Images and Other Assets

Prior to this release, images referenced in the static.json file (e.g., attributes.content.image) were expected to be externally hosted assets. With this update can now place arbitrary images and assets in content/assets. These files will be hosted similarly to the rest of your custom content and can be referenced using relative paths in the static.json file and Markdown.

For example, you have uploaded a file at content/assets/globus-site.png, the file can be referenced in Markdown as ![](/globus-site.png).

Screenshot 2024-08-19 at 12 51 41 PM

Advanced Use

To allow you to customize even further, files in the content directory support MDX (.mdx).

Using MDX can be a helpful method for incorporating existing UI/UX elements (e.g., buttons) into your Markdown-based content.

In addition to MDX, you can reach for JavaScript (.js(x)) or TypeScript (.ts(x)) since, under the hood, the files you provide in content are synced with our Next.js pages directory.

Navigation Support

While linking between Markdown files in your Custom Content might be enough for your use case, we've also added support for extending the portal's navigation using the static.json file.

json { "attributes": { "navigation": { "items": [ { "label": "Example, "to": "/example"}, { "label": "Source", "href": "https://github.com/globus/template-data-portal" } ] } } }

Screenshot 2024-08-19 at 12 49 36 PM

This structure allows you to include both internal (relative) paths, and external links.

Improvements

  • The file browser/Transfer experience has been moved to the /transfer route to accommodate custom landing pages.
  • Improves network request performance and loading states across the application.
  • Many UX and UI improvements to the Transfer page.

Screenshot 2024-08-19 at 12 55 27 PM

Auto-generated release notes can be found below.


Features

  • adds support for "content" directory (#159) (8a21371)
  • Globus Transfer interactions have been moved to the /transfer route. This allows for custom homepages on / using a index.(mdx/tsx) file. (#204) (c282f81)
  • Improves network request performance and loading states by implementing a cache layer. (#194) (070ab91)
  • support content/assets/* => public/* (2e5945d)
  • upgrade to @globus/sdk 3.8.0 and use new Transfer utility methods (#199) (989cc44)

Fixes

  • content file overrides for well-known pages (e.g. index.*, privacy-policy.*), no longer need to match the generator's extension (#224) (e3754a9)
  • Adds external link icon to external links in the main navigation and reorders custom links. (34b6915)
  • Adds loading states to "Refresh" and "Start Transfer" buttons. (070ab91)
  • adds predev script (runs prebuild) (d027fe4)
  • adds useLayout hook and improves rendering of pages by sharing a Container (#207) (68bccd8)
  • Ensure full hosted base path is used in various image rendering contexts. (#218) (03a3c43)
  • Ensure relative links in Markdown use Next.js Link component for rendering. (#206) (34b6915)
  • ensure relative paths can be used for images in Markdown (#217) (92ebdf3)
  • ensure the /authorization route refreshes tokens (when returning from an authorization_requirements prompt) (#195) (b042a81)
  • Improves base Markdown rendering for various elements (#216) (b3e1f30)
  • improves the loading states of file browsers (#205) (fe58559)
  • Only render "Size" values for files in file browsers. (a89c2d0)
  • Throttles the <CollectionSearch> requests. (070ab91)

- TypeScript
Published by github-actions[bot] over 1 year ago

@globus/static-data-portal - v1.7.1

1.7.1 (2024-07-11)

Fixes

  • Improves header rendering on smaller devices (#154) (3de3e29)

- TypeScript
Published by github-actions[bot] over 1 year ago

@globus/static-data-portal - v1.7.0

1.7.0 (2024-07-10)

Features

  • Persist collection (destination) selection state in session storage – this will improve the UX when users are redirected through various authorization flows after selecting a collection to transfer to. (#128) (d6a0d12)

Fixes

  • Addresses build error encountered due to image configurations (bbf2cfc)

- TypeScript
Published by github-actions[bot] over 1 year ago

@globus/static-data-portal - v1.6.0

1.6.0 (2024-07-10)

Features

  • Adds support for content.subtitle (#140) (d74bf52)

    • Screenshot 2024-07-10 at 4 11 48 PM
  • Adds support for MDX (#142) (7c02ca0)

    • This feature is part of a suite of changes targeted toward simplifying the addition of custom pages in distributed portals – we'll have more documentation and updates on usage patterns soon!
    • The following pages have been changed to MDX files to simplify overrides:
      • pages/privacy-policy.tsx is now pages/privacy-policy.mdx
      • pages/terms-and-conditions.tsx is now pages/terms-and-conditions.mdx

Fixes

  • Removes default image attribution when a custom content.image is used. (d74bf52)
  • Adds Globus logo to "Powered by Globus" footer. (d74bf52)

- TypeScript
Published by github-actions[bot] over 1 year ago

@globus/static-data-portal - v1.4.0

Features

  • Adds support for mkdir and rename in destination browser. (#58) (a1e93a4)

Screen Cast 2024-06-18 at 3 58 25 PM

- TypeScript
Published by github-actions[bot] almost 2 years ago

@globus/static-data-portal - v1.3.0

1.3.0 (2024-05-01)

What's Changed

  • deps: bump the typescript-eslint group across 1 directory with 2 updates by @dependabot in https://github.com/globus/static-data-portal/pull/51
  • deps: bump the next group across 1 directory with 2 updates by @dependabot in https://github.com/globus/static-data-portal/pull/53
  • deps: bump @types/react from 18.2.78 to 18.2.79 in the react group by @dependabot in https://github.com/globus/static-data-portal/pull/45
  • deps: bump the react group with 4 updates by @dependabot in https://github.com/globus/static-data-portal/pull/55
  • deps: bump eslint-plugin-react-hooks from 4.6.0 to 4.6.1 by @dependabot in https://github.com/globus/static-data-portal/pull/56
  • chore: adds Apache-2.0 LICENSE by @jbottigliero in https://github.com/globus/static-data-portal/pull/57
  • deps: bump the react group with 3 updates by @dependabot in https://github.com/globus/static-data-portal/pull/59
  • deps: bump eslint-plugin-react-hooks from 4.6.1 to 4.6.2 by @dependabot in https://github.com/globus/static-data-portal/pull/60
  • deps: bump @globus/sdk from 3.0.0-alpha.17 to 3.0.0 by @dependabot in https://github.com/globus/static-data-portal/pull/61
  • deps: bump the typescript-eslint group with 2 updates by @dependabot in https://github.com/globus/static-data-portal/pull/62
  • feat: add link to Globus Web App Task Overview on successful Transfer task creation. by @jbottigliero in https://github.com/globus/static-data-portal/pull/63
  • feat: adds support for data.attributes.theme by @jbottigliero in https://github.com/globus/static-data-portal/pull/64

Full Changelog: https://github.com/globus/static-data-portal/compare/1.2.3...1.3.0

- TypeScript
Published by github-actions[bot] almost 2 years ago

@globus/static-data-portal - v1.2.3

1.2.3 (2024-04-24)

What's Changed

  • deps: bump framer-motion from 11.0.28 to 11.1.7 by @dependabot in https://github.com/globus/static-data-portal/pull/50

Full Changelog: https://github.com/globus/static-data-portal/compare/1.2.2...1.2.3

- TypeScript
Published by github-actions[bot] almost 2 years ago

@globus/static-data-portal - v1.2.2

1.2.2 (2024-04-15)

What's Changed

  • deps: bump @emotion/styled from 11.11.0 to 11.11.5 by @dependabot in https://github.com/globus/static-data-portal/pull/41
  • deps: bump framer-motion from 11.0.24 to 11.0.28 by @dependabot in https://github.com/globus/static-data-portal/pull/42

Full Changelog: https://github.com/globus/static-data-portal/compare/1.2.1...1.2.2

- TypeScript
Published by github-actions[bot] almost 2 years ago

@globus/static-data-portal - v1.2.1

1.2.1 (2024-04-15)

Full Changelog: https://github.com/globus/static-data-portal/compare/1.2.0...1.2.1

- TypeScript
Published by github-actions[bot] almost 2 years ago

@globus/static-data-portal - v1.2.0

1.2.0 (2024-04-15)

What's Changed

  • deps: bump @types/react from 18.2.55 to 18.2.70 by @dependabot in https://github.com/globus/static-data-portal/pull/4
  • deps: bump framer-motion from 11.0.20 to 11.0.24 by @dependabot in https://github.com/globus/static-data-portal/pull/24
  • deps: bump eslint from 8.56.0 to 8.57.0 by @dependabot in https://github.com/globus/static-data-portal/pull/17
  • deps: bump next from 14.1.0 to 14.1.4 by @dependabot in https://github.com/globus/static-data-portal/pull/18
  • feat: updates Header authenticated state to render username; name and organization included in menu. by @jbottigliero in https://github.com/globus/static-data-portal/pull/34
  • deps: bump @types/react-dom from 18.2.19 to 18.2.25 by @dependabot in https://github.com/globus/static-data-portal/pull/33
  • deps: bump eslint-plugin-react from 7.33.2 to 7.34.1 by @dependabot in https://github.com/globus/static-data-portal/pull/32
  • deps: bump @emotion/react from 11.11.3 to 11.11.4 by @dependabot in https://github.com/globus/static-data-portal/pull/27
  • deps: bump typescript from 5.3.3 to 5.4.5 by @dependabot in https://github.com/globus/static-data-portal/pull/31
  • deps: bump next from 14.1.4 to 14.2.1 by @dependabot in https://github.com/globus/static-data-portal/pull/36
  • deps: bump @types/react from 18.2.70 to 18.2.78 in the react group by @dependabot in https://github.com/globus/static-data-portal/pull/35
  • deps: bump eslint-config-next from 14.1.4 to 14.2.1 by @dependabot in https://github.com/globus/static-data-portal/pull/39
  • deps: bump typedoc from 0.25.12 to 0.25.13 by @dependabot in https://github.com/globus/static-data-portal/pull/38
  • deps: bump @types/node from 20.11.19 to 20.12.7 by @dependabot in https://github.com/globus/static-data-portal/pull/37

Full Changelog: https://github.com/globus/static-data-portal/compare/1.1.0...1.2.0

- TypeScript
Published by github-actions[bot] almost 2 years ago

@globus/static-data-portal - v1.1.0

1.1.0 (2024-03-25)

static.json Updates

  • Adds support for data.attributes.tagline for customizing the tagline displayed when logged out. image

Other Changes

  • deps: bump @globus/sdk from 3.0.0-alpha.6 to 3.0.0-alpha.8 by @dependabot in https://github.com/globus/static-data-portal/pull/11

Full Changelog: https://github.com/globus/static-data-portal/compare/1.0.5...1.1.0


This PR was generated with Release Please. See documentation.

- TypeScript
Published by github-actions[bot] about 2 years ago

@globus/static-data-portal - v1.0.5

1.0.5 (2024-03-25)

What's Changed

  • deps: bump @heroicons/react from 2.1.1 to 2.1.3 by @dependabot in https://github.com/globus/static-data-portal/pull/10
  • deps: bump eslint-config-next from 14.1.0 to 14.1.4 by @dependabot in https://github.com/globus/static-data-portal/pull/6

Full Changelog: https://github.com/globus/static-data-portal/compare/1.0.4...1.0.5

- TypeScript
Published by github-actions[bot] about 2 years ago

@globus/static-data-portal - static-data-portal: v1.0.4

1.0.4 (2024-03-25)

What's Changed

  • feat!: Move to npm packaging and update to new static.json format by @jbottigliero in https://github.com/globus/static-data-portal/pull/1
  • chore: bootstrap releases for path: . by @jbottigliero in https://github.com/globus/static-data-portal/pull/2
  • ops: adds release-please GitHub Action by @jbottigliero in https://github.com/globus/static-data-portal/pull/3
  • deps: bump framer-motion from 11.0.5 to 11.0.20 by @dependabot in https://github.com/globus/static-data-portal/pull/8

New Contributors

  • @jbottigliero made their first contribution in https://github.com/globus/static-data-portal/pull/1
  • @dependabot made their first contribution in https://github.com/globus/static-data-portal/pull/8

Full Changelog: https://github.com/globus/static-data-portal/commits/static-data-portal-1.0.4

- TypeScript
Published by github-actions[bot] about 2 years ago