Skip to content

v1.8.0

Compare
Choose a tag to compare
@github-actions github-actions released this 19 Aug 18:56
bef52b9

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 [email protected].

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.

Custom-Content.mp4

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.

Custom-Landing.mp4

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.

{
  "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)