Skip to content

Commit ba86335

Browse files
authored
Merge pull request #1020 from nasa/develop
Release v8.0.0
2 parents 18a278e + e8d17a7 commit ba86335

File tree

39 files changed

+1202
-1023
lines changed

39 files changed

+1202
-1023
lines changed

CHANGELOG.md

Lines changed: 54 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,34 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
77

88
## [Unreleased]
99

10-
## [v7.0.1] - 2021-10-19
10+
## [v8.0.0] - 2021-11-04
11+
12+
## Breaking Changes
13+
14+
This version of the dashboard requires Cumulus API 9.9.0
15+
### Added
16+
17+
- **CUMULUS-2584**
18+
- Added Associated Executions to execution-status.js
19+
20+
### Changed
21+
22+
- **CUMULUS-2584**
23+
- Updated Granule detail component to reference `Executions List`.
24+
- Removed `Execution` from Granule detail component
25+
- 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
26+
27+
### Fixed
28+
29+
- **CUMULUS-2633**
30+
- Fix pagination on reconciliation report sub-tables.
31+
- Remove granule actions from tables without granuleIds.
32+
- **CUMULUS-2725**
33+
- Fixed bugs related to adding and editing providers
34+
- Requires @cumulus/api@9.9.0
35+
36+
37+
## [v7.1.0] - 2021-10-19
1138

1239
### Added
1340

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

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

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

347374
- **CUMULUS-1873**
@@ -381,7 +408,7 @@ This version of the dashboard requires Cumulus API v5.0.0
381408
- Updates the dashboard to use alpha version `@cumulus/api@3.0.1-alpha.2` for testing.
382409
- Code changes to allow for private CMR collections to have links to the MMT.
383410
- **CUMULUS-2215**
384-
- Omits unnecesary statistics request when building the option list of collection names on the granules page.
411+
- Omits unnecessary statistics request when building the option list of collection names on the granules page.
385412
- **CUMULUS-2171**
386413
- Allows filtering of the Granule Inventory List CSV download based on Granule IDs, Status, and Collection.
387414
- **CUMULUS-2242**
@@ -422,7 +449,7 @@ This version of the dashboard requires Cumulus API v5.0.0
422449
- Add dashboard version to footer
423450

424451
- **CUMULUS-2076**
425-
- Add context references in headings on indivdual pages for screen reader accessibility
452+
- Add context references in headings on individual pages for screen reader accessibility
426453

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

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

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

583610
- **CUMULUS-1870**
584-
- Fix/remove unecessary timers on Pdrs page
611+
- Fix/remove unnecessary timers on Pdrs page
585612

586613
- **CUMULUS-1871**
587-
- Fix/remove unecessary timers on Providers page
614+
- Fix/remove unnecessary timers on Providers page
588615

589616
- **CUMULUS-1872**
590-
- Fix/remove unecessary timers on granules page
617+
- Fix/remove unnecessary timers on granules page
591618

592619
- **CUMULUS-1873**
593-
- Fix/remove unecessary timers on executions page
620+
- Fix/remove unnecessary timers on executions page
594621

595622
- **CUMULUS-1875**
596-
- Fix/remove unecessary timers on Operations Page
623+
- Fix/remove unnecessary timers on Operations Page
597624

598625
- **CUMULUS-1877**
599-
- Fix/remove unecessary timers on Reconcilation Reports page
626+
- Fix/remove unnecessary timers on Reconciliation Reports page
600627

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

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

624651
- **CUMULUS-1913**
625-
- Add datepicker to reconcilation-reports page
652+
- Add datepicker to reconciliation-reports page
626653

627654
- **CUMULUS-1915**
628-
- Add filters for `Report Type` and `Status` to reconcilation-reports page
655+
- Add filters for `Report Type` and `Status` to reconciliation-reports page
629656

630657
- **CUMULUS-1916**
631-
- reconcilation-reports page now requires Cumulus API version >= v1.23.0
658+
- reconciliation-reports page now requires Cumulus API version >= v1.23.0
632659

633660
## [v1.8.1]
634661

635662
### Changed
636663

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

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

659686
- **CUMULUS-1984**
660687
- Fix bug where Distribution metrics were showing on the homepage even when
661-
Elasaticsearch/Kibana not set up
688+
Elasticsearch/Kibana not set up
662689

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

702729
- **CUMULUS-1509**
703-
- Update styles on grnaules page
730+
- Update styles on granules page
704731

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

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

726753
- **CUMULUS-1790**
727-
- 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.
754+
- 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.
728755

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

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

10141041
- Versioning and changelog [CUMULUS-197] by @kkelly51
1015-
[Unreleased]: https://github.com/nasa/cumulus-dashboard/compare/v7.1.0...HEAD
1042+
[Unreleased]: https://github.com/nasa/cumulus-dashboard/compare/v8.0.0...HEAD
1043+
[v8.0.0]: https://github.com/nasa/cumulus-dashboard/compare/v7.1.0...v8.0.0
10161044
[v7.1.0]: https://github.com/nasa/cumulus-dashboard/compare/v7.0.0...v7.1.0
10171045
[v7.0.0]: https://github.com/nasa/cumulus-dashboard/compare/v6.0.0...v7.0.0
10181046
[v6.0.0]: https://github.com/nasa/cumulus-dashboard/compare/v5.0.0...v6.0.0

README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -57,13 +57,13 @@ The dashboard source is available on github and can be cloned with git.
5757
```bash
5858
$ git clone https://github.com/nasa/cumulus-dashboard
5959
```
60-
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.
60+
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.
6161

6262
### Build the dashboard using Docker and Docker Compose
6363

64-
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.
64+
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.
6565

66-
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.
66+
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.
6767

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

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

132132
#### Build dashboard to be served by CloudFront
133133

134-
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).
134+
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).
135135

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

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

177177
### Using S3
178178

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

181181
```bash
182182
$ aws s3 sync dist s3://my-bucket-to-be-used
@@ -288,7 +288,7 @@ Bring up and down the entire stack (the localAPI and the dashboard) with:
288288
$ npm run start-dashboard
289289
$ npm run stop-dashboard
290290
```
291-
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
291+
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
292292
The stack is ready when the `view-docker-logs` task shows:
293293
```bash
294294
dashboard_1 | > NODE_ENV=production http-server dist -p 3000 --proxy http://localhost:3000?

TABLES.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ A basic table component that supports row selection and dumb sorting (see below)
1414
* Options for each column include:
1515
- Header: *text or component that will render as the header*
1616
- accessor: *key or function for obtaining value*
17-
- id: *unqiure column id. required if accessor is function*
17+
- id: *unique column id. required if accessor is function*
1818
- disableSortBy: *set to true if the column should not be sortable*
1919
- width: *default is 125. set value if column needs to be wider/smaller*
2020

21-
* 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
21+
* 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
2222

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

4545
## Dumb vs smart sort
4646

47-
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`).
47+
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`).
4848

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

app/src/css/_badges.scss

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@
1919
background: $white;
2020
color: $ocean-blue;
2121
}
22+
23+
&--round {
24+
@extend .num-title;
25+
border-radius: 50%;
26+
}
2227
}
2328

2429
.status__badge {

app/src/css/_base.scss

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,10 @@ a:active {
9595
}
9696
}
9797

98+
.link--pad-right {
99+
margin-right: 0.5em
100+
}
101+
98102
.link--no-underline {
99103
border-bottom: 0;
100104
}
@@ -755,6 +759,16 @@ a:active {
755759
}
756760
}
757761

762+
.status-icon {
763+
&--success {
764+
color: $light-green;
765+
}
766+
767+
&--failed {
768+
color: $error-red;
769+
}
770+
}
771+
758772
/**************************************************
759773
Table
760774
**************************************************/

app/src/css/modules/_table.scss

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@
9696
.table__header {
9797
display: flex;
9898
align-items: center;
99-
justify-content: space-between;
99+
justify-content: flex-start;
100100
padding: 0 1em;
101101

102102
div {
@@ -108,6 +108,10 @@
108108
margin: 0 .3em;
109109
}
110110

111+
.simple-pagination {
112+
padding: 20px;
113+
}
114+
111115
input {
112116
width: 2em;
113117
text-align: center;
@@ -325,6 +329,13 @@
325329
border: 1px solid $border-grey;
326330
box-shadow: $shadow__default;
327331
border-radius: 10px;
332+
333+
.simple-pagination {
334+
margin: initial;
335+
border: initial;
336+
box-shadow: initial;
337+
}
338+
328339
}
329340

330341
.list--errors {

app/src/css/vendor/bootstrap/overrides/_pagination.scss

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1+
.simple-pagination {
2+
border: 1px solid $border-grey;
3+
-webkit-box-shadow: 0 1px 3px rgba(0,0,0,.08);
4+
box-shadow: 0 1px 3px rgba(0,0,0,.08);
5+
border-radius: 0 0 10px 10px;
6+
margin: 0 0 10px;
7+
padding: 2em 0;
8+
}
9+
110
.pagination {
211
padding: 20px 0px;
312

4-
&.simple-pagination {
5-
border: 1px solid $border-grey;
6-
-webkit-box-shadow: 0 1px 3px rgba(0,0,0,.08);
7-
box-shadow: 0 1px 3px rgba(0,0,0,.08);
8-
border-radius: 0 0 10px 10px;
9-
margin: 0 0 10px;
10-
padding: 2em 0;
11-
}
12-
1313
ol {
1414
text-align: center;
1515
}

0 commit comments

Comments
 (0)