Skip to content

Commit

Permalink
Merge pull request #1020 from nasa/develop
Browse files Browse the repository at this point in the history
Release v8.0.0
  • Loading branch information
kkelly51 committed Nov 5, 2021
2 parents 18a278e + e8d17a7 commit ba86335
Show file tree
Hide file tree
Showing 39 changed files with 1,202 additions and 1,023 deletions.
80 changes: 54 additions & 26 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,34 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.

## [Unreleased]

## [v7.0.1] - 2021-10-19
## [v8.0.0] - 2021-11-04

## Breaking Changes

This version of the dashboard requires Cumulus API 9.9.0
### Added

- **CUMULUS-2584**
- Added Associated Executions to execution-status.js

### Changed

- **CUMULUS-2584**
- Updated Granule detail component to reference `Executions List`.
- Removed `Execution` from Granule detail component
- Updated execution-events.js to only show step name with status icon. moved execution name, step name and event type into the More Details modal

### Fixed

- **CUMULUS-2633**
- Fix pagination on reconciliation report sub-tables.
- Remove granule actions from tables without granuleIds.
- **CUMULUS-2725**
- Fixed bugs related to adding and editing providers
- Requires @cumulus/api@9.9.0


## [v7.1.0] - 2021-10-19

### Added

Expand Down Expand Up @@ -43,9 +70,9 @@ This version of the dashboard requires Cumulus API `v9.5.0`
+ ES\_CLOUDWATCH\_TARGET\_PATTERN (Generally: `<daac>-cumulus-cloudwatch-<env>-*`)
+ ES\_DISTRIBUTION\_TARGET\_PATTERN (Generally: `<daac>-distribution-<env>-*`)
- Kibana links are changed. We no longer try to build URLs that describe the
metrics' Elasicsearch results. Instead, we now only return a simple link to
metrics' Elasticsearch results. Instead, we now only return a simple link to
configured Kibana root. It is up to the kibana user to interact with the
dashbaord, setting default security tenant and default kibana index
dashboard, setting default security tenant and default kibana index
patterns. You can create kibana Index Patterns (or they may exist already)
to gather the cloudwatch logs sent to metrics with a similar patter to the
ES\_CLOUDWATCH\_TARGET\_PATTERN, and if you have configured s3 server access
Expand Down Expand Up @@ -76,7 +103,7 @@ This version of the dashboard requires Cumulus API `v9.5.0`
- **CUMULUS-2505**
- Update column show/hide component with new styling and "reset to default interaction for each table
- **CUMULUS-2506**
- Adds horizontal scroll buttons to tables improving accessibily
- Adds horizontal scroll buttons to tables improving accessibility
- **CUMULUS-2511**
- Ensured that sort state will persist through page changes.
- **CUMULUS-2524**
Expand Down Expand Up @@ -107,7 +134,7 @@ This version of the dashboard requires Cumulus API `v9.5.0`
- Layout CSS styling tweaks
- **CUMULUS-2459**
- Updated localAPI docker-compose.yml to include SSM, Postgres container to be used with RDS compatible API
- Updated integration tests due to changes in API behavior related to Postgres contstraints between tables
- Updated integration tests due to changes in API behavior related to Postgres constraints between tables
- **CUMULUS-NONE**
- Downgrades elasticsearch version in testing container to 5.3 to match AWS version.

Expand Down Expand Up @@ -341,7 +368,7 @@ This version of the dashboard requires Cumulus API v5.0.0

- **CUMULUS-2242** and **CUMULUS-2177**
- building with `npm run build` will now build a distribution that can be served from behind cloudfront.
- Fixed bug in nginx config that allows the application to run in the continer built by `bin/build_dashboard_image.sh`.
- Fixed bug in nginx config that allows the application to run in the container built by `bin/build_dashboard_image.sh`.
- Overhauled the README.md and added a "Quick start" section

- **CUMULUS-1873**
Expand Down Expand Up @@ -381,7 +408,7 @@ This version of the dashboard requires Cumulus API v5.0.0
- Updates the dashboard to use alpha version `@cumulus/[email protected]` for testing.
- Code changes to allow for private CMR collections to have links to the MMT.
- **CUMULUS-2215**
- Omits unnecesary statistics request when building the option list of collection names on the granules page.
- Omits unnecessary statistics request when building the option list of collection names on the granules page.
- **CUMULUS-2171**
- Allows filtering of the Granule Inventory List CSV download based on Granule IDs, Status, and Collection.
- **CUMULUS-2242**
Expand Down Expand Up @@ -422,7 +449,7 @@ This version of the dashboard requires Cumulus API v5.0.0
- Add dashboard version to footer

- **CUMULUS-2076**
- Add context references in headings on indivdual pages for screen reader accessibility
- Add context references in headings on individual pages for screen reader accessibility

- **CUMULUS-2087**
- Add Reconciliation Report creation page with report type selection
Expand Down Expand Up @@ -498,7 +525,7 @@ This version of the dashboard requires Cumulus API v5.0.0

- **CUMULUS-1906**
- Adds a download button dropdown to reconciliation report inventory view.
Option to download full report as json or indivdual tables as csv files.
Option to download full report as json or individual tables as csv files.

- **CUMULUS-1908**
- Adds Conflict Type and Conflict Details columns to reconciliation report inventory view tables.
Expand Down Expand Up @@ -581,22 +608,22 @@ This version of the dashboard requires Cumulus API v5.0.0
- Fix dashboard table sort issue

- **CUMULUS-1870**
- Fix/remove unecessary timers on Pdrs page
- Fix/remove unnecessary timers on Pdrs page

- **CUMULUS-1871**
- Fix/remove unecessary timers on Providers page
- Fix/remove unnecessary timers on Providers page

- **CUMULUS-1872**
- Fix/remove unecessary timers on granules page
- Fix/remove unnecessary timers on granules page

- **CUMULUS-1873**
- Fix/remove unecessary timers on executions page
- Fix/remove unnecessary timers on executions page

- **CUMULUS-1875**
- Fix/remove unecessary timers on Operations Page
- Fix/remove unnecessary timers on Operations Page

- **CUMULUS-1877**
- Fix/remove unecessary timers on Reconcilation Reports page
- Fix/remove unnecessary timers on Reconciliation Reports page

- **CUMULUS-1882**
- Fix ES query for TEA Lambda metrics
Expand All @@ -617,26 +644,26 @@ This version of the dashboard requires Cumulus API v5.0.0
### Changed

- **CUMULUS-1888**
- On the Granules page, CSV data was being refreshed in the background alog with the rest
- On the Granules page, CSV data was being refreshed in the background along with the rest
of the data based on the timer. This could take a long time, depending on the number of granules.
This has been changed so that the data is only fetched when the user clicks the "Download CSV" button.

- **CUMULUS-1913**
- Add datepicker to reconcilation-reports page
- Add datepicker to reconciliation-reports page

- **CUMULUS-1915**
- Add filters for `Report Type` and `Status` to reconcilation-reports page
- Add filters for `Report Type` and `Status` to reconciliation-reports page

- **CUMULUS-1916**
- reconcilation-reports page now requires Cumulus API version >= v1.23.0
- reconciliation-reports page now requires Cumulus API version >= v1.23.0

## [v1.8.1]

### Changed

- **CUMULUS-1816**
- Change Datepicker behavior on login. The default to "Recent" start/end dates
now only occurs on first login on the hompage.
now only occurs on first login on the homepage.
- URL is updated on login to reflect Datepicker params

- **CUMULUS-1903**
Expand All @@ -658,7 +685,7 @@ This version of the dashboard requires Cumulus API v5.0.0

- **CUMULUS-1984**
- Fix bug where Distribution metrics were showing on the homepage even when
Elasaticsearch/Kibana not set up
Elasticsearch/Kibana not set up

- **CUMULUS-1988**
- Fix bugs in reducer-creators
Expand Down Expand Up @@ -700,7 +727,7 @@ This version of the dashboard requires Cumulus API v5.0.0
- Change the metrics section on the home page to update based on datepicker time period.

- **CUMULUS-1509**
- Update styles on grnaules page
- Update styles on granules page

- **CUMULUS-1525**
- Style changes for rules overview page
Expand All @@ -721,10 +748,10 @@ This version of the dashboard requires Cumulus API v5.0.0
- Update executions details page styles

- **CUMULUS-1787**
- Changes `listCollections` action to hit `/collections/active` endpoint when timefilters are present (requires Cumulus API v1.22.1)
- Changes `listCollections` action to hit `/collections/active` endpoint when time filters are present (requires Cumulus API v1.22.1)

- **CUMULUS-1790**
- Changes default values and visuals for home page's datepicker. When the page loads, it defauls to display "Recent" data, which is the previous 24 hours with no end time.
- Changes default values and visuals for home page's datepicker. When the page loads, it defaults to display "Recent" data, which is the previous 24 hours with no end time.

- **CUMULUS-1798**
- Change the 12HR/24HR Format selector from radio to dropdown
Expand Down Expand Up @@ -903,7 +930,7 @@ Fix for serving the dashboard through the Cumulus API.
### Added

- **CUMULUS-1337**
- Must use Cumulus API version v1.14.0 or above in order to use the newi
- Must use Cumulus API version v1.14.0 or above in order to use the new
distribution metrics functionality.
- Distribution metrics are no longer served from the Cumulus API, but are
computed from the logs in an ELK stack.
Expand Down Expand Up @@ -1012,7 +1039,8 @@ Fix for serving the dashboard through the Cumulus API.
### Added

- Versioning and changelog [CUMULUS-197] by @kkelly51
[Unreleased]: https://github.com/nasa/cumulus-dashboard/compare/v7.1.0...HEAD
[Unreleased]: https://github.com/nasa/cumulus-dashboard/compare/v8.0.0...HEAD
[v8.0.0]: https://github.com/nasa/cumulus-dashboard/compare/v7.1.0...v8.0.0
[v7.1.0]: https://github.com/nasa/cumulus-dashboard/compare/v7.0.0...v7.1.0
[v7.0.0]: https://github.com/nasa/cumulus-dashboard/compare/v6.0.0...v7.0.0
[v6.0.0]: https://github.com/nasa/cumulus-dashboard/compare/v5.0.0...v6.0.0
Expand Down
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,13 +57,13 @@ The dashboard source is available on github and can be cloned with git.
```bash
$ git clone https://github.com/nasa/cumulus-dashboard
```
The cloned directory `./cumulus-dashboard` will be refered as the root directory of the project and commands that are referenced in this document, should start from that directory.
The cloned directory `./cumulus-dashboard` will be referred as the root directory of the project and commands that are referenced in this document, should start from that directory.

### Build the dashboard using Docker and Docker Compose

It is easy to build a producution-ready, deployable version of the Cumulus dashboard without having to learn the complicated build process details. A single script, `./bin/build_dashboard_via_docker.sh`, when combined with your dashboard's environment customizations, allows you to run the entire build process within a Docker container.
It is easy to build a production-ready, deployable version of the Cumulus dashboard without having to learn the complicated build process details. A single script, `./bin/build_dashboard_via_docker.sh`, when combined with your dashboard's environment customizations, allows you to run the entire build process within a Docker container.

All of the environment variables in the [configuration](#configuration) section are available to override with custom values for your dashboard. A recommended method is to store your variables in a sourceable environment file for each dashboard you are going to build and deploy.
All of the environment variables in the [configuration](#configuration) section are available to override with custom values for your dashboard. A recommended method is to store your variables in a source-able environment file for each dashboard you are going to build and deploy.

If you are using bash, export the values for each configuration option. An example `production.env` could look like:
```sh
Expand Down Expand Up @@ -125,13 +125,13 @@ To build a dashboard bundle<sup>[1](#bundlefootnote)</sup>:
$ nvm use
$ [SERVED_BY_CUMULUS_API=true] [DAAC_NAME=LPDAAC] [STAGE=production] [HIDE_PDR=false] [LABELS=daac] APIROOT=https://myapi.com npm run build
```
**NOTE**: Only the `APIROOT` environment variable is required and any of the environment varaibles currently set are passed to the build.
**NOTE**: Only the `APIROOT` environment variable is required and any of the environment variables currently set are passed to the build.

The compiled dashboard files (dashboard bundle) will be placed in the `./dist` directory.

#### Build dashboard to be served by CloudFront

If you wish to serve the dashboard from behind [CloudFront](https://aws.amazon.com/cloudfront/). Build a `dist` with your configuration including `APIROOT` and ensure the `SERVED_BY_CUMULUS_API` variable is unset. For NGAP uers, follow the documentation to *Request Public or Protected Access to the APIs and Dashboard*, Step 5 of [Cumulus Deployments in NGAP](https://wiki.earthdata.nasa.gov/display/CUMULUS/Cumulus+Deployments+in+NGAP).
If you wish to serve the dashboard from behind [CloudFront](https://aws.amazon.com/cloudfront/). Build a `dist` with your configuration including `APIROOT` and ensure the `SERVED_BY_CUMULUS_API` variable is unset. For NGAP users, follow the documentation to *Request Public or Protected Access to the APIs and Dashboard*, Step 5 of [Cumulus Deployments in NGAP](https://wiki.earthdata.nasa.gov/display/CUMULUS/Cumulus+Deployments+in+NGAP).

#### Build dashboard to be served by the Cumulus API.

Expand Down Expand Up @@ -176,7 +176,7 @@ This runs a node http-server in front of whatever exists in the `./dist` directo

### Using S3

First, [build the dasbboard](#build-the-dashboard). Then deploy the `./dist` folder, the dashboard bundle, to an AWS bucket.
First, [build the dashboard](#build-the-dashboard). Then deploy the `./dist` folder, the dashboard bundle, to an AWS bucket.

```bash
$ aws s3 sync dist s3://my-bucket-to-be-used
Expand Down Expand Up @@ -288,7 +288,7 @@ Bring up and down the entire stack (the localAPI and the dashboard) with:
$ npm run start-dashboard
$ npm run stop-dashboard
```
This runs everything, the backing Localstack and Elasticsearch containers, the local Cumulus API and dashboard. Edits to your code will be reflected in the running dashboard. You can run cypress tests still with `npm run cypress`. As a warning, this command takes a very long time to start up because the containers come up in a specific order and generally this should be reserved for use by Earthdata Bamboo or some other continuous intergration service. But, if you are using it locally, **be sure to wait until all containers are fully up** before trying to visit the dashboard which is exposed at http://localhost:3000
This runs everything, the backing Localstack and Elasticsearch containers, the local Cumulus API and dashboard. Edits to your code will be reflected in the running dashboard. You can run cypress tests still with `npm run cypress`. As a warning, this command takes a very long time to start up because the containers come up in a specific order and generally this should be reserved for use by Earthdata Bamboo or some other continuous integration service. But, if you are using it locally, **be sure to wait until all containers are fully up** before trying to visit the dashboard which is exposed at http://localhost:3000
The stack is ready when the `view-docker-logs` task shows:
```bash
dashboard_1 | > NODE_ENV=production http-server dist -p 3000 --proxy http://localhost:3000?
Expand Down
6 changes: 3 additions & 3 deletions TABLES.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@ A basic table component that supports row selection and dumb sorting (see below)
* Options for each column include:
- Header: *text or component that will render as the header*
- accessor: *key or function for obtaining value*
- id: *unqiure column id. required if accessor is function*
- id: *unique column id. required if accessor is function*
- disableSortBy: *set to true if the column should not be sortable*
- width: *default is 125. set value if column needs to be wider/smaller*

* Additional options can be found [here](https://github.com/tannerlinsley/react-table/blob/master/docs/api/useTable.md#column-options) or in the documation for a specific plugin hook
* Additional options can be found [here](https://github.com/tannerlinsley/react-table/blob/master/docs/api/useTable.md#column-options) or in the documentation for a specific plugin hook

- **data**: Array of data items. Items can be any format.
- **sortId**: The id of the column to sort on.
Expand All @@ -44,7 +44,7 @@ Wraps `sortable-table` and implements auto-update and smart sort. When a new sor

## Dumb vs smart sort

Dumb sorting uses react-table's built in sort functionality to sort table data that has **already** been received from the API. Smart sorting initiates a new API request, passing the sort parameter to the server (elasticsearch) which returns a sorted response. The `maunalSortBy` option passed to `useTable()` tells react-table whether we are doing server-side sorting (`true`) or letting react-table sort (`false`).
Dumb sorting uses react-table's built in sort functionality to sort table data that has **already** been received from the API. Smart sorting initiates a new API request, passing the sort parameter to the server (elasticsearch) which returns a sorted response. The `manualSortBy` option passed to `useTable()` tells react-table whether we are doing server-side sorting (`true`) or letting react-table sort (`false`).

When sorting on multiple columns, select the first column, hold down the shift key, and select another column.

Expand Down
5 changes: 5 additions & 0 deletions app/src/css/_badges.scss
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,11 @@
background: $white;
color: $ocean-blue;
}

&--round {
@extend .num-title;
border-radius: 50%;
}
}

.status__badge {
Expand Down
14 changes: 14 additions & 0 deletions app/src/css/_base.scss
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,10 @@ a:active {
}
}

.link--pad-right {
margin-right: 0.5em
}

.link--no-underline {
border-bottom: 0;
}
Expand Down Expand Up @@ -755,6 +759,16 @@ a:active {
}
}

.status-icon {
&--success {
color: $light-green;
}

&--failed {
color: $error-red;
}
}

/**************************************************
Table
**************************************************/
Expand Down
13 changes: 12 additions & 1 deletion app/src/css/modules/_table.scss
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@
.table__header {
display: flex;
align-items: center;
justify-content: space-between;
justify-content: flex-start;
padding: 0 1em;

div {
Expand All @@ -108,6 +108,10 @@
margin: 0 .3em;
}

.simple-pagination {
padding: 20px;
}

input {
width: 2em;
text-align: center;
Expand Down Expand Up @@ -325,6 +329,13 @@
border: 1px solid $border-grey;
box-shadow: $shadow__default;
border-radius: 10px;

.simple-pagination {
margin: initial;
border: initial;
box-shadow: initial;
}

}

.list--errors {
Expand Down
18 changes: 9 additions & 9 deletions app/src/css/vendor/bootstrap/overrides/_pagination.scss
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
.simple-pagination {
border: 1px solid $border-grey;
-webkit-box-shadow: 0 1px 3px rgba(0,0,0,.08);
box-shadow: 0 1px 3px rgba(0,0,0,.08);
border-radius: 0 0 10px 10px;
margin: 0 0 10px;
padding: 2em 0;
}

.pagination {
padding: 20px 0px;

&.simple-pagination {
border: 1px solid $border-grey;
-webkit-box-shadow: 0 1px 3px rgba(0,0,0,.08);
box-shadow: 0 1px 3px rgba(0,0,0,.08);
border-radius: 0 0 10px 10px;
margin: 0 0 10px;
padding: 2em 0;
}

ol {
text-align: center;
}
Expand Down
Loading

0 comments on commit ba86335

Please sign in to comment.