...
The remainder of this document will walk through the process of creating and configuring a portal.
...
We're here to help, and we want to understand community needs so we can refine our features. Email Valerie Dixon (valerie.dixon@nasadixon@nasa.gov) to get started with your portal and get in touch with developers.
...
A significant amount of configuration can be done through this config.json file. You can view an example configurations at configuration at https://github.com/nasa/earthdata-search/treeblob/mastermain/portals/simpledefault/config.json and or browse https://github.com/nasa/earthdata-search/tree/mastermain/portals/complex/config.json. to see all portal configurations. Here is an explanation of the configuration:
Key | Data Type | Explanation |
---|---|---|
features | Object | Feature configuration |
advancedSearch | Boolean | Enable/disable the advanced search feature |
authentication | Boolean | Enable/disable all features that rely on authentication (logging in/projects) |
featureFacets | Object | Feature Facet configuration |
showAvailableFromAwsCloud | Boolean | Show/hide the Available from AWS Cloud feature facet |
showCustomizable | Boolean | Show/hide the Customizable feature facet |
showMapImagery | Boolean | Show/hide the Map Imagery feature facet |
footer | Object | Footer configuration |
|
attributionText | String | Text to display in the footer, example "NASA Official: ..." |
displayVersion | Boolean | Display the current application version in the footer |
primaryLinks | Array | Array of links to display on the left side of the footer This array is made up of objects with two values: { |
|
href: "The |
URL |
the |
link |
will |
follow", |
|
title: "The |
viewable text of the link |
" |
| ||
secondaryLinks | Array | Array of links to display on the right side of the footer. This uses the same objects as `primaryLinks` |
hasLogo | Boolean |
This tells EDSC if it needs to load a "styles.scss" file, see Advanced Configuration.
Toggle to for a logo to appear on the portal context sidebar header and in the the portal browser modal (if it is enabled, see portalBrowser boolean field). |
hasStyles |
Boolean | This tells EDSC if it needs to load a " |
styles. |
scss" file |
moreInfoUrl |
logo
id
image
String (Optional) | This is the URL that users will be sent to when clicking on the logo image. If no value is provided clicking on the logo image will return the user to the EDSC portal home (/portal/example/search) |
title
org
. |
pageTitle | String | This will appear after the default portal's |
`pageTitle` in the HTML page title (see in the tab of the browser). For example if EDSC is the default portal then the page title will be "Earthdata Search :: <pageTitle> | Earthdata Search" | ||
parentConfig | String | The parent config file for this portal. If your portal will be deployed to EOSDIS Earthdata Search this value should be "edsc". If not, set this to "default". |
portalBrowser | Boolean | Toggle to set whether the portal will appear as a listed portal in the portal browser modal |
query | Object (Optional) | These parameters are used to filter the list of collections exposed in the portal. Current supported values:
One common pattern is to show all the datasets in a dataCenter. This example shows the ORNL DAAC portal configuration: "query": { Likewise, for Science Project-focused portals, here is the AIRMOSS project portal: "query": { A more nuanced approach can be applied using tags in CMR. Here is an example from the Suborbital portal using the tagKey parameter (note that the tagKey can contain simple wildcards): "query": { If you need support of another CMR query parameter, please contact us. Refer to the CMR documentation for information on parameters: |
title | Object | Object containing the primary and secondary title for the portal. |
primary | String |
The primary field in the title object will be displayed on the portal browser modal as the top identifier. It will also be displayed on the top left portal browser context sidebar header and on the leave portal button on the bottom of the collection search results while inside of a portal. | ||
secondary | String | The secondary field in the title object will be displayed below the primary on the portal browser modal and in parentheses on the top left portal browser context sidebar header. It is meant to be the fullname of the project, endeavor, organization behind the creation of the portal. |
ui | Object | UI configurations |
showNonEosdisCheckbox | Boolean |
showOnlyGranulesCheckbox | Boolean | Show/hide the " |
showTophat | Boolean | Show/hide Tophat |
Portals now will inherit configuration values from a parent configuration. See the "parentConfig" value above. This allows you to use all of a parent's config values and keep your portal configuration portal configuration minimal if your portal needs most of the same features as the parent configuration.
...
Portals allow authors to provide SASS styles and JavaScript to run on each page within the portal. These can be useful for altering the page style, hiding unnecessary features, or adding new features that do not make sense for inclusion in Earthdata Search. You can do essentially anything that can be done with Javascript or SASSto configure the logo styling of the portal.
If you are authoring something complex or if you have needs that you feel would be better addressed at the basic configuration levelyou have need to add more advanced custom functionality or a setting you think ought to be included as a basic configuration level on the portal, please reach out to our developers, who Chris Lynnes (christopher.s.lynnes@nasa.gov) can put you in touch with.
This is the preferred way to To add a new logo image, which are displayed next in the left toolbar to the NASA meatball, centered vertically. You can reference the existing portals in the ./portals/... directory for examples of how this works in practice.establish the search context or on the the portal browser modal (optionally. see portalBrowser boolean config field).
hasStyles
to true
in config.jsonSet id
, link
, and title
in the logo section of hasLogo
field is set to true
on config.jsonhasLogo
to true
, then you would use this SASS CSS rule to load that image:#example#portal-logo logo {
height: 25px; // set the correct height for your logo
width: 54px // set the correct width for your logo ;
background-image: url('./images/<portal name>-logo.[png|jpeg]') //Set the path to the logo png file;
}
...
...
...
...
...
...
...
...
...
...
In the /portals directories you will need to add the name of your portal to the portals list in the index.js file. The string you enter should be the same as the name of the directory for your portal. Portals should be added in alphabetical order.
portals [
'above',
...
'your-portal-example'
]
This file will load and execute any JavaScript you need in EDSC. Because EDSC is a single page React application, the uses of this file are limited. But, you can use it to pre-load and second version of your logo to be used when the user hovers over the image. To do this refer to https://github.com/nasa/earthdata-search/tree/master/portals/ornldaac/scripts.js and https://github.com/nasa/earthdata-search/tree/master/portals/ornldaac/styles.scss.
...
...
...