Recent Releases of static-search-portal
static-search-portal - v1.6.0
1.6.0 (2025-01-21)
Features
adds basic integration with Globus Search 'Advanced' query syntax (#283) (9087f2a)
adds support for 'bytes' and 'date' fields (#282) (7876d97)
jsonc // ... "fields": [ { "label": "Size", "property": "entries[0].content.file_size", "type": "bytes" }, { "label": "Modified", "property": "entries[0].content.mod_time", "type": "date" }, { "label": "Accessed", "property": "entries[0].content.access_time", "type": "date" }, // ...
Fixes
- Adds a popover describing how to use Advanced Search (with a link to Globus Search documentation) (#307) (fee543f)
- TypeScript
Published by github-actions[bot] over 1 year ago
static-search-portal - v1.5.0
1.5.0 (2024-11-14)
Features
Globus-embedded JSON files will now use a JSON tree view renderer. The JSON Renderer will be used automatically when the embedded file returns an application/json Content-Type.
- TypeScript
Published by github-actions[bot] over 1 year ago
static-search-portal - v1.4.0
1.4.0 (2024-11-14)
Features
The new render is used to render field definitions that resolve to JSON objects, the raw search result panel (pictured below), and error details.
- TypeScript
Published by github-actions[bot] over 1 year ago
static-search-portal - v1.3.1
1.3.1 (2024-11-14)
Fixes
- TypeScript
Published by github-actions[bot] over 1 year ago
static-search-portal - v1.2.0
1.2.0 (2024-11-08)
Embedding Globus-Sourced Assets
With this release, we've included a beta release of rendering Globus-sourced assets as a field on search and result pages.
If you have any issues or feedback related to this new feature, please feel free to open an issue!
Using "type": "globus.embed"
The derived value for the globus.embed field definition should be either:
- The Globus HTTPS Path, with
options.collections[^1] configured in thestatic.jsonfile. - Or, a compatible
optionsobject.
[^1]: This is currently required to ensure proper programatic authorization for the asset can occur.
Using a property Lookup
In the example below, a preview_url property has been added to the search result – this property is the Globus HTTPS URL of the asset we want to display on the result.
By using the property configuration and a JSON path lookup, we can dynamically source the value from the result. Since we can't derive the Collection from this HTTPS URL, options.collection must also be configured in the field definition. This implementation works well if all of the content in your search index is hosted on the same collection.
jsonc
// Result Excerpt
{
"entries": [
{
"content": {
"preview_url": "https://m-eef34f.fa5e.bd7c.data.globus.org/home/globus-shared-user/joebott/file-types/status-chunky-pause.svg"
}
}
]
}
// Field Definition
{
"label": "Preview",
"property": "entries[0].content.preview_url",
"type": "globus.embed",
"options": {
// Providing the collection is REQUIRED to ensure proper authorization for the asset can be programmatically initiated.
"collection": "996383e6-0c85-4339-a5ea-c3cd855c2692"
}
}
When your assets are hosted across many collections, and/or you want more control on the options provided to the globus.embed field, an alternative is to use a JSON path lookup to an object. The provided object will then be passed as options. The example below demonstrates this.
jsonc
// Result Excerpt
{
"entries": [
{
"content": {
"embed_preview": {
"collection": "996383e6-0c85-4339-a5ea-c3cd855c2692",
// When using this options method, you only need to supply the relative `path` to the asset, **not** the HTTPS URL.
"path": "/home/globus-shared-user/joebott/file-types/status-chunky-pause.svg"
}
}
}
]
}
// Field Definition
{
"label": "Preview",
"property": "entries[0].content.embed_preview",
"type": "globus.embed"
}
Using a Hardcoded value
An asset can be "hardcoded" into a field by using value instead of property.
jsonc
{
"label": "Embedded Asset",
"value": "https://m-eef34f.fa5e.bd7c.data.globus.org/home/globus-shared-user/joebott/file-types/status-chunky-pause.svg",
"type": "globus.embed",
"options": {
"collection": "996383e6-0c85-4339-a5ea-c3cd855c2692"
}
}
Supported Content Types
The default renderer will introspect the Content-Type returned by the asset and do its best to render the result to the screen for the user. Our initial implementation uses the <object> tag for embedding, content type support will be determined by the user's browser.
Plotly Support
We've also introduced the ability to render these Globus-sourced assets as a Plotly chart or graph using the Plotly JavaScript Open Source Graphing Library.
To use this functionality options.renderer should be set to plotly and the sourced asset should be a JSON object that is compatible with Plotly.newPlot single configuration object parameter.
json
{
"label": "Plotly Chart",
"value": "https://m-eef34f.fa5e.bd7c.data.globus.org/home/globus-shared-user/joebott/file-types/plotly/data.json",
"type": "globus.embed",
"options": {
"collection": "996383e6-0c85-4339-a5ea-c3cd855c2692",
"renderer": "plotly",
"width": "985px",
"height": "100%"
}
}
- TypeScript
Published by github-actions[bot] over 1 year ago
static-search-portal - v1.1.0
1.1.0 (2024-11-01)
Features
- Adds support for
features.requireAuthentication– this will update built-in routes to prompt for authentication before any information is displayed. This feature is useful for mostly/completely private Globus Search indicies. (abdd9cf)
Fixes
- OAuth: Ensures users are redirected back to the path they initiated a "Sign In" request from. (#236) (abdd9cf)
- TypeScript
Published by github-actions[bot] over 1 year ago
static-search-portal - v1.0.0
1.0.0 (2024-11-01)
⚠ 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-search-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
Fixes
- TypeScript
Published by github-actions[bot] over 1 year ago
static-search-portal - v0.12.0
0.12.0 (2024-10-22)
Features
- TypeScript
Published by github-actions[bot] over 1 year ago
static-search-portal - v0.11.0
0.11.0 (2024-10-11)
Features
- Adds support for rendering fields a links. (#212) (889d966)
Using
"type": "link"will render a field value as a link in Result and ResultListing components.
json
{
"label": "Documentation",
"property": "entries[0].content.documentation",
"type": "link"
},
{
"label": "More Details",
"value": "https://www.globus.org",
"type": "link"
}
Supports absolute and relative links.
- TypeScript
Published by github-actions[bot] over 1 year ago
static-search-portal - v0.10.1
0.10.1 (2024-10-10)
Fixes
- include basePath in publicRuntimeConfig (0e4585f)
- TypeScript
Published by github-actions[bot] over 1 year ago
static-search-portal - v0.10.0
0.10.0 (2024-10-10)
Features
Fixes
- Improves default styling of Markdown components. (e9356b8)
- Improves general layout styling. (e9356b8)
- TypeScript
Published by github-actions[bot] over 1 year ago
static-search-portal - v0.8.3
0.8.3 (2024-05-22)
What's Changed
- chore: adds Apache-2.0 LICENSE by @jbottigliero in https://github.com/globus/static-search-portal/pull/59
- deps: bump the react group with 3 updates by @dependabot in https://github.com/globus/static-search-portal/pull/61
- deps: bump eslint-plugin-react-hooks from 4.6.1 to 4.6.2 by @dependabot in https://github.com/globus/static-search-portal/pull/62
- deps: bump @globus/sdk from 3.0.0-alpha.17 to 3.0.0 by @dependabot in https://github.com/globus/static-search-portal/pull/63
- deps: bump @types/node from 20.12.7 to 20.12.8 by @dependabot in https://github.com/globus/static-search-portal/pull/65
- deps: bump @globus/sdk from 3.0.0 to 3.1.0 by @dependabot in https://github.com/globus/static-search-portal/pull/64
- deps: bump jsonata from 2.0.4 to 2.0.5 by @dependabot in https://github.com/globus/static-search-portal/pull/75
- deps: bump @types/node from 20.12.8 to 20.12.11 by @dependabot in https://github.com/globus/static-search-portal/pull/73
- deps: bump framer-motion from 11.1.7 to 11.1.9 by @dependabot in https://github.com/globus/static-search-portal/pull/72
- deps: bump @globus/sdk from 3.1.0 to 3.2.0 by @dependabot in https://github.com/globus/static-search-portal/pull/74
- deps: bump framer-motion from 11.1.9 to 11.2.4 by @dependabot in https://github.com/globus/static-search-portal/pull/82
- deps: bump @types/node from 20.12.11 to 20.12.12 by @dependabot in https://github.com/globus/static-search-portal/pull/78
- deps: bump @globus/sdk from 3.2.0 to 3.3.0 by @dependabot in https://github.com/globus/static-search-portal/pull/79
- deps: bump @types/react from 18.3.1 to 18.3.2 in the react group by @dependabot in https://github.com/globus/static-search-portal/pull/76
- deps: bump typedoc-plugin-markdown from 3.17.1 to 4.0.2 by @dependabot in https://github.com/globus/static-search-portal/pull/80
- deps: bump framer-motion from 11.2.4 to 11.2.5 by @dependabot in https://github.com/globus/static-search-portal/pull/84
- deps: bump @globus/sdk from 3.3.0 to 3.3.1 by @dependabot in https://github.com/globus/static-search-portal/pull/83
- fix: ensure "Authorization" header is included when fetching a single result. by @jbottigliero in https://github.com/globus/static-search-portal/pull/85
Full Changelog: https://github.com/globus/static-search-portal/compare/0.8.2...0.8.3
- TypeScript
Published by github-actions[bot] about 2 years ago
static-search-portal - v0.8.2
0.8.2 (2024-04-26)
What's Changed
- deps: bump the react group with 4 updates by @dependabot in https://github.com/globus/static-search-portal/pull/56
- deps: bump the next group with 2 updates by @dependabot in https://github.com/globus/static-search-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-search-portal/pull/57
Full Changelog: https://github.com/globus/static-search-portal/compare/0.8.1...0.8.2
- TypeScript
Published by github-actions[bot] about 2 years ago
static-search-portal - v0.8.1
0.8.1 (2024-04-24)
What's Changed
- fix: improved image rendering by providing source and more obvious 'View Image' button by @jbottigliero in https://github.com/globus/static-search-portal/pull/53
Full Changelog: https://github.com/globus/static-search-portal/compare/0.8.0...0.8.1
- TypeScript
Published by github-actions[bot] about 2 years ago
static-search-portal - v0.7.0
0.7.0 (2024-04-23)
Full Changelog: https://github.com/globus/static-search-portal/compare/0.6.1...0.7.0
- TypeScript
Published by github-actions[bot] about 2 years ago
static-search-portal - v0.6.1
0.6.1 (2024-04-22)
Full Changelog: https://github.com/globus/static-search-portal/compare/0.6.0...0.6.1
- TypeScript
Published by github-actions[bot] about 2 years ago
static-search-portal - v0.6.0
0.6.0 (2024-04-22)
What's Changed
- deps: bump @fontsource/ibm-plex-mono from 5.0.12 to 5.0.13 by @dependabot in https://github.com/globus/static-search-portal/pull/46
- deps: bump @fontsource/ibm-plex-sans from 5.0.19 to 5.0.20 by @dependabot in https://github.com/globus/static-search-portal/pull/45
- feat: adds support for jsonata based references in static.json by @jbottigliero in https://github.com/globus/static-search-portal/pull/47
Full Changelog: https://github.com/globus/static-search-portal/compare/0.5.1...0.6.0
- TypeScript
Published by github-actions[bot] about 2 years ago
static-search-portal - v0.5.1
0.5.1 (2024-04-19)
Full Changelog: https://github.com/globus/static-search-portal/compare/0.5.0...0.5.1
- TypeScript
Published by github-actions[bot] about 2 years ago
static-search-portal - v0.5.0
0.5.0 (2024-04-19)
What's Changed
- deps: bump the next group with 2 updates by @dependabot in https://github.com/globus/static-search-portal/pull/39
- deps: bump framer-motion from 11.1.1 to 11.1.7 by @dependabot in https://github.com/globus/static-search-portal/pull/43
Full Changelog: https://github.com/globus/static-search-portal/compare/0.4.0...0.5.0
- TypeScript
Published by github-actions[bot] about 2 years ago
static-search-portal - v0.4.0
0.4.0 (2024-04-17)
What's Changed
- feat: adds basic pagination and improved loading state by @jbottigliero in https://github.com/globus/static-search-portal/pull/37
- deps: bump @globus/sdk from 3.0.0-alpha.8 to 3.0.0-alpha.17 by @dependabot in https://github.com/globus/static-search-portal/pull/34
Full Changelog: https://github.com/globus/static-search-portal/compare/0.3.0...0.4.0
- TypeScript
Published by github-actions[bot] about 2 years ago
static-search-portal - v0.3.0
0.3.0 (2024-04-17)
What's Changed
- deps: bump typescript from 5.3.3 to 5.4.5 by @dependabot in https://github.com/globus/static-search-portal/pull/35
- deps: bump typedoc from 0.25.12 to 0.25.13 by @dependabot in https://github.com/globus/static-search-portal/pull/36
Full Changelog: https://github.com/globus/static-search-portal/compare/0.2.2...0.3.0
- TypeScript
Published by github-actions[bot] about 2 years ago
static-search-portal - v0.2.2
0.2.2 (2024-04-16)
Full Changelog: https://github.com/globus/static-search-portal/compare/0.2.1...0.2.2
- TypeScript
Published by github-actions[bot] about 2 years ago
static-search-portal - v0.2.1
0.2.1 (2024-04-16)
Full Changelog: https://github.com/globus/static-search-portal/compare/0.2.0...0.2.1
- TypeScript
Published by github-actions[bot] about 2 years ago
static-search-portal - v0.2.0
0.2.0 (2024-04-16)
What's Changed
- feat: adds support for globus.search.facet to generate filter UI based on configured facets and responses from the index by @jbottigliero in https://github.com/globus/static-search-portal/pull/28
- deps: bump the next group with 2 updates by @dependabot in https://github.com/globus/static-search-portal/pull/24
- deps: bump @types/react from 18.2.78 to 18.2.79 in the react group by @dependabot in https://github.com/globus/static-search-portal/pull/23
- deps: bump @emotion/styled from 11.11.0 to 11.11.5 by @dependabot in https://github.com/globus/static-search-portal/pull/27
- deps: bump eslint from 8.56.0 to 8.57.0 by @dependabot in https://github.com/globus/static-search-portal/pull/25
- deps: bump framer-motion from 10.18.0 to 11.1.1 by @dependabot in https://github.com/globus/static-search-portal/pull/30
Full Changelog: https://github.com/globus/static-search-portal/compare/0.1.1...0.2.0
- TypeScript
Published by github-actions[bot] about 2 years ago
static-search-portal - v0.1.1
0.1.1 (2024-04-15)
What's Changed
- deps: bump eslint-plugin-react from 7.33.2 to 7.34.1 by @dependabot in https://github.com/globus/static-search-portal/pull/1
- deps: bump @fontsource/ibm-plex-mono from 5.0.8 to 5.0.12 by @dependabot in https://github.com/globus/static-search-portal/pull/5
- deps: bump @types/node from 20.11.4 to 20.12.7 by @dependabot in https://github.com/globus/static-search-portal/pull/19
- deps: bump @types/react from 18.2.48 to 18.2.78 by @dependabot in https://github.com/globus/static-search-portal/pull/22
- deps: bump @types/react-dom from 18.2.18 to 18.2.25 by @dependabot in https://github.com/globus/static-search-portal/pull/20
- deps: bump @emotion/react from 11.11.3 to 11.11.4 by @dependabot in https://github.com/globus/static-search-portal/pull/2
- deps: bump @fontsource/ibm-plex-sans from 5.0.18 to 5.0.19 by @dependabot in https://github.com/globus/static-search-portal/pull/4
New Contributors
- @dependabot made their first contribution in https://github.com/globus/static-search-portal/pull/1
Full Changelog: https://github.com/globus/static-search-portal/compare/0.1.0...0.1.1
- TypeScript
Published by github-actions[bot] about 2 years ago
static-search-portal - v0.1.0
0.1.0 (2024-03-29)
Full Changelog: https://github.com/globus/static-search-portal/compare/0.0.0...0.1.0
- TypeScript
Published by github-actions[bot] about 2 years ago