From 1d1963aeb6d787e42a054b221b931740b6a2f7ae Mon Sep 17 00:00:00 2001 From: TheQuaker Date: Mon, 20 Mar 2023 16:53:52 +0200 Subject: [PATCH 01/13] added new R5 reports, added checboxes for new R5 metrics --- .../metrics-usagestats-report.component.html | 31 +++++++- .../metrics-usagestats-report.component.ts | 38 ++++++++++ .../metrics/metrics-usagestats.component.html | 76 +++++++++++++++++-- .../metrics/metrics-usagestats.component.ts | 2 +- .../repository/metrics/metrics.routing.ts | 2 +- 5 files changed, 138 insertions(+), 11 deletions(-) diff --git a/src/app/pages/repository/metrics/metrics-usagestats-report.component.html b/src/app/pages/repository/metrics/metrics-usagestats-report.component.html index d8d4fdfd5..60b5f5f95 100755 --- a/src/app/pages/repository/metrics/metrics-usagestats-report.component.html +++ b/src/app/pages/repository/metrics/metrics-usagestats-report.component.html @@ -42,7 +42,7 @@
- +
@@ -122,7 +122,32 @@ -
+
+
Metric Type
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +

Optional filter to only show results for a single item type, e.g. article, book, etc.

@@ -130,7 +155,7 @@
- diff --git a/src/app/pages/repository/metrics/metrics-usagestats-report.component.ts b/src/app/pages/repository/metrics/metrics-usagestats-report.component.ts index c54d30312..1b58d5129 100755 --- a/src/app/pages/repository/metrics/metrics-usagestats-report.component.ts +++ b/src/app/pages/repository/metrics/metrics-usagestats-report.component.ts @@ -26,9 +26,14 @@ export class MetricsUsagestatsReportComponent implements OnInit { chosen_report: string; userEmail: string; + reportType: string; beginDate = ''; endDate = ''; itemIdentifier = ''; + totalItemRequests = null; + totalItemInvestigations = null; + uniqueItemRequests = null; + uniqueItemInvestigations = null; itemDataType = ''; granularity = 'Monthly'; @@ -73,6 +78,7 @@ export class MetricsUsagestatsReportComponent implements OnInit { getParams() { // this.repoId = this.route.snapshot.paramMap.get('id'); + this.reportType = this.route.snapshot.paramMap.get('reportType').slice(1, 2); this.chosen_report = this.route.snapshot.paramMap.get('reportID'); this.shownRepoId = this.convertToDisplayedFormat(this.repo.id); console.log(`shownRepoId is ${this.repo.id}`); @@ -137,6 +143,38 @@ export class MetricsUsagestatsReportComponent implements OnInit { this.useCurrentRepo = event.target.value; } + updateTotalItemRequests(event: any) { + if (event.target.checked) { + this.totalItemRequests = event.target.value; + } else { + this.totalItemRequests = null; + } + } + + updateUniqueItemRequests(event: any) { + if (event.target.checked) { + this.uniqueItemRequests = event.target.value; + } else { + this.uniqueItemRequests = null; + } + } + + updateTotalItemInvestigations(event: any) { + if (event.target.checked) { + this.totalItemInvestigations = event.target.value; + } else { + this.totalItemInvestigations = null; + } + } + + updateUniqueItemInvestigations(event: any) { + if (event.target.checked) { + this.uniqueItemInvestigations = event.target.value; + } else { + this.uniqueItemInvestigations = null; + } + } + goToReport() { if (!this.useCurrentRepo) { this.shownRepoId = ''; } this.router.navigate(['usagestats-report-results'], { diff --git a/src/app/pages/repository/metrics/metrics-usagestats.component.html b/src/app/pages/repository/metrics/metrics-usagestats.component.html index 6fa530e35..1c13caf4d 100755 --- a/src/app/pages/repository/metrics/metrics-usagestats.component.html +++ b/src/app/pages/repository/metrics/metrics-usagestats.component.html @@ -21,10 +21,73 @@

Supported Reports

+

R5 Reports

+ +
+
+
+ +
+ +
+
+

+ A report summarizing usage activity for the repository by month, metric type and item type +

+
+
+
+
+
+ +
+ +
+
+

+ A report summarizing usage activity for the repository by month, broken down by metric type +

+
+
+
+
+
+ +
+ +
+
+

+ A report for items requests by month metric_type, item type and repository +

+
+
+
+
+ +
+
+
+ +
+ +
+
+

+ A report for datasets requests by month metric type and repository +

+
+
+
+
+ +
+

R4 Reports

+
- +
@@ -37,7 +100,7 @@
- +
@@ -50,7 +113,7 @@
- +
@@ -62,10 +125,11 @@
+
- +
@@ -78,7 +142,7 @@
- +
@@ -91,7 +155,7 @@
- +
diff --git a/src/app/pages/repository/metrics/metrics-usagestats.component.ts b/src/app/pages/repository/metrics/metrics-usagestats.component.ts index c9bc243e7..b22a535e2 100755 --- a/src/app/pages/repository/metrics/metrics-usagestats.component.ts +++ b/src/app/pages/repository/metrics/metrics-usagestats.component.ts @@ -3,7 +3,7 @@ import { Repository } from '../../../domain/typeScriptClasses'; import { RepositoryService } from '../../../services/repository.service'; import { AuthenticationService } from '../../../services/authentication.service'; import { ActivatedRoute, Router } from '@angular/router'; -import { SharedService } from "../../../services/shared.service"; +import { SharedService } from '../../../services/shared.service'; @Component({ selector: 'metrics-usagestats', diff --git a/src/app/pages/repository/metrics/metrics.routing.ts b/src/app/pages/repository/metrics/metrics.routing.ts index 987e16883..bba9ec08e 100755 --- a/src/app/pages/repository/metrics/metrics.routing.ts +++ b/src/app/pages/repository/metrics/metrics.routing.ts @@ -36,7 +36,7 @@ const metricsRoutes: Routes = [ component: MetricsUsagestatsComponent }, { - path: 'usagestats/:reportID', + path: 'usagestats/:reportType/:reportID', component: MetricsUsagestatsReportComponent }, { -- 2.17.1 From 3f5919b2dfa8a05853679e7f0439db778837235d Mon Sep 17 00:00:00 2001 From: jbalasis Date: Tue, 21 Mar 2023 17:01:45 +0200 Subject: [PATCH 02/13] added new querry params for release 5 reports --- src/app/domain/usageStatsClasses.ts | 2 +- ...s-usagestats-report-results.component.html | 77 +------------------ ...ics-usagestats-report-results.component.ts | 17 ++-- .../metrics-usagestats-report.component.html | 17 +++- .../metrics-usagestats-report.component.ts | 31 +++++--- 5 files changed, 51 insertions(+), 93 deletions(-) diff --git a/src/app/domain/usageStatsClasses.ts b/src/app/domain/usageStatsClasses.ts index 320b94f92..7c6610ff9 100755 --- a/src/app/domain/usageStatsClasses.ts +++ b/src/app/domain/usageStatsClasses.ts @@ -74,7 +74,7 @@ export class ReportItem { } export class ReportResponse { - "@Created": string; + '@Created': string; Exception: ReportException[]; Requestor: Requestor; ReportDefinition: ReportDefinition; diff --git a/src/app/pages/repository/metrics/metrics-usagestats-report-results.component.html b/src/app/pages/repository/metrics/metrics-usagestats-report-results.component.html index cfcd3bc7d..89da8edba 100755 --- a/src/app/pages/repository/metrics/metrics-usagestats-report-results.component.html +++ b/src/app/pages/repository/metrics/metrics-usagestats-report-results.component.html @@ -33,10 +33,10 @@

{{ repoResponse.ReportDefinition['@Name'] }} Report Results - - - - + + + +

@@ -137,75 +137,6 @@
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  • Previous
  • diff --git a/src/app/pages/repository/metrics/metrics-usagestats-report-results.component.ts b/src/app/pages/repository/metrics/metrics-usagestats-report-results.component.ts index 9b733c198..b20a88ea7 100755 --- a/src/app/pages/repository/metrics/metrics-usagestats-report-results.component.ts +++ b/src/app/pages/repository/metrics/metrics-usagestats-report-results.component.ts @@ -37,11 +37,11 @@ export class MetricsUsagestatsReportResultsComponent implements OnInit { this.pageSize = 10; this.readParams(); this.pageSizeSelect = this.fb.group({selectPageSize: ['']}); - let body = document.getElementsByTagName('body')[0]; - body.classList.remove("top_bar_active"); //remove the class - body.classList.remove("page_heading_active"); - body.classList.remove("landing"); - body.classList.add("dashboard"); + const body = document.getElementsByTagName('body')[0]; + body.classList.remove('top_bar_active'); // remove the class + body.classList.remove('page_heading_active'); + body.classList.remove('landing'); + body.classList.add('dashboard'); } readParams() { @@ -49,14 +49,19 @@ export class MetricsUsagestatsReportResultsComponent implements OnInit { this.route.queryParams.subscribe( qparams => { this.params.append('Report', qparams['report']); - this.params.append('Release', '4'); + this.params.append('Release', qparams['release']); this.params.append('RequestorID', this.authService.getUserEmail()); this.params.append('BeginDate', qparams['beginDate']); this.params.append('EndDate', qparams['endDate']); this.params.append('RepositoryIdentifier', qparams['repoId']); this.params.append('ItemIdentifier', qparams['itemIdentifier']); + this.params.append('DatasetIdentifier', qparams['datasetIdentifier']); this.params.append('ItemDataType', qparams['itemIdentifier']); this.params.append('Granularity', qparams['granularity']); + this.params.append('MetricType', qparams['totalItemRequests']); + this.params.append('MetricType', qparams['totalItemInvestigations']); + this.params.append('MetricType', qparams['uniqueItemRequests']); + this.params.append('MetricType', qparams['uniqueItemInvestigations']); }); this.chosenReport = this.params.get('Report'); diff --git a/src/app/pages/repository/metrics/metrics-usagestats-report.component.html b/src/app/pages/repository/metrics/metrics-usagestats-report.component.html index 60b5f5f95..07d627b45 100755 --- a/src/app/pages/repository/metrics/metrics-usagestats-report.component.html +++ b/src/app/pages/repository/metrics/metrics-usagestats-report.component.html @@ -42,7 +42,7 @@
    - +
    @@ -112,16 +112,27 @@
-
+
-
+
+
+ + + +
+ +
+
Metric Type
diff --git a/src/app/pages/repository/metrics/metrics-usagestats-report.component.ts b/src/app/pages/repository/metrics/metrics-usagestats-report.component.ts index 1b58d5129..403047faa 100755 --- a/src/app/pages/repository/metrics/metrics-usagestats-report.component.ts +++ b/src/app/pages/repository/metrics/metrics-usagestats-report.component.ts @@ -4,7 +4,7 @@ import { ActivatedRoute, Router } from '@angular/router'; import { RepositoryService } from '../../../services/repository.service'; import { AuthenticationService } from '../../../services/authentication.service'; import { loadingRepoMessage } from '../../../domain/shared-messages'; -import { SharedService } from "../../../services/shared.service"; +import { SharedService } from '../../../services/shared.service'; @Component({ selector: 'metrics-usagestats-report', @@ -26,10 +26,11 @@ export class MetricsUsagestatsReportComponent implements OnInit { chosen_report: string; userEmail: string; - reportType: string; + release: string; beginDate = ''; endDate = ''; itemIdentifier = ''; + datasetIdentifier = null; totalItemRequests = null; totalItemInvestigations = null; uniqueItemRequests = null; @@ -45,7 +46,7 @@ export class MetricsUsagestatsReportComponent implements OnInit { ngOnInit() { - if(this.sharedService.getRepository()) { + if (this.sharedService.getRepository()) { this.repo = this.sharedService.getRepository(); this.getInfo(); } @@ -57,11 +58,11 @@ export class MetricsUsagestatsReportComponent implements OnInit { } ); - let body = document.getElementsByTagName('body')[0]; - body.classList.remove("top_bar_active"); //remove the class - body.classList.remove("page_heading_active"); - body.classList.remove("landing"); - body.classList.add("dashboard"); + const body = document.getElementsByTagName('body')[0]; + body.classList.remove('top_bar_active'); // remove the class + body.classList.remove('page_heading_active'); + body.classList.remove('landing'); + body.classList.add('dashboard'); } getInfo() { @@ -78,7 +79,7 @@ export class MetricsUsagestatsReportComponent implements OnInit { getParams() { // this.repoId = this.route.snapshot.paramMap.get('id'); - this.reportType = this.route.snapshot.paramMap.get('reportType').slice(1, 2); + this.release = this.route.snapshot.paramMap.get('reportType').slice(1, 2); this.chosen_report = this.route.snapshot.paramMap.get('reportID'); this.shownRepoId = this.convertToDisplayedFormat(this.repo.id); console.log(`shownRepoId is ${this.repo.id}`); @@ -135,6 +136,10 @@ export class MetricsUsagestatsReportComponent implements OnInit { this.itemIdentifier = event.target.value; } + updateDatasetIdentifier(event: any) { + this.datasetIdentifier = event.target.value; + } + updateGranularity(event: any) { this.granularity = event.target.value; } @@ -181,12 +186,18 @@ export class MetricsUsagestatsReportComponent implements OnInit { relativeTo: this.route.parent, queryParams: { report: this.chosen_report, + release: this.release, beginDate: this.beginDate, endDate: this.endDate, repoId: this.shownRepoId, itemDataType: this.itemDataType, itemIdentifier: this.itemIdentifier, - granularity: this.granularity + datasetIdentifier: this.datasetIdentifier, + granularity: this.granularity, + totalItemRequests: this.totalItemRequests, + totalItemInvestigations: this.totalItemInvestigations, + uniqueItemRequests: this.uniqueItemRequests, + uniqueItemInvestigations: this.uniqueItemInvestigations } }); -- 2.17.1 From 2259b7b701e735df17da3124f049a03e74295e21 Mon Sep 17 00:00:00 2001 From: TheQuaker Date: Wed, 22 Mar 2023 15:30:25 +0200 Subject: [PATCH 03/13] Added R5 report titles --- ...ics-usagestats-report-results.component.ts | 9 +++--- .../metrics-usagestats-report.component.html | 8 ++--- .../metrics-usagestats-report.component.ts | 32 +++++++++++++------ .../metrics/metrics-usagestats.component.html | 32 +++++++++---------- 4 files changed, 48 insertions(+), 33 deletions(-) diff --git a/src/app/pages/repository/metrics/metrics-usagestats-report-results.component.ts b/src/app/pages/repository/metrics/metrics-usagestats-report-results.component.ts index b20a88ea7..0238a4da5 100755 --- a/src/app/pages/repository/metrics/metrics-usagestats-report-results.component.ts +++ b/src/app/pages/repository/metrics/metrics-usagestats-report-results.component.ts @@ -58,10 +58,11 @@ export class MetricsUsagestatsReportResultsComponent implements OnInit { this.params.append('DatasetIdentifier', qparams['datasetIdentifier']); this.params.append('ItemDataType', qparams['itemIdentifier']); this.params.append('Granularity', qparams['granularity']); - this.params.append('MetricType', qparams['totalItemRequests']); - this.params.append('MetricType', qparams['totalItemInvestigations']); - this.params.append('MetricType', qparams['uniqueItemRequests']); - this.params.append('MetricType', qparams['uniqueItemInvestigations']); + this.params.append('MetricType', qparams['metricTypes']); + // this.params.append('MetricType', qparams['totalItemRequests']); + // this.params.append('MetricType', qparams['totalItemInvestigations']); + // this.params.append('MetricType', qparams['uniqueItemRequests']); + // this.params.append('MetricType', qparams['uniqueItemInvestigations']); }); this.chosenReport = this.params.get('Report'); diff --git a/src/app/pages/repository/metrics/metrics-usagestats-report.component.html b/src/app/pages/repository/metrics/metrics-usagestats-report.component.html index 07d627b45..968512f8b 100755 --- a/src/app/pages/repository/metrics/metrics-usagestats-report.component.html +++ b/src/app/pages/repository/metrics/metrics-usagestats-report.component.html @@ -137,22 +137,22 @@
Metric Type
diff --git a/src/app/pages/repository/metrics/metrics-usagestats-report.component.ts b/src/app/pages/repository/metrics/metrics-usagestats-report.component.ts index 403047faa..bb6f26891 100755 --- a/src/app/pages/repository/metrics/metrics-usagestats-report.component.ts +++ b/src/app/pages/repository/metrics/metrics-usagestats-report.component.ts @@ -30,11 +30,11 @@ export class MetricsUsagestatsReportComponent implements OnInit { beginDate = ''; endDate = ''; itemIdentifier = ''; - datasetIdentifier = null; - totalItemRequests = null; - totalItemInvestigations = null; - uniqueItemRequests = null; - uniqueItemInvestigations = null; + datasetIdentifier = ''; + totalItemRequests = 'Total_Item_Requests'; + totalItemInvestigations = 'Total_Item_Investigations'; + uniqueItemRequests = 'Unique_Item_Requests'; + uniqueItemInvestigations = 'Unique_Item_Investigations'; itemDataType = ''; granularity = 'Monthly'; @@ -182,6 +182,19 @@ export class MetricsUsagestatsReportComponent implements OnInit { goToReport() { if (!this.useCurrentRepo) { this.shownRepoId = ''; } + const metricTypes: string[] = []; + if (this.totalItemRequests !== null) { + metricTypes.push(this.totalItemRequests); + } + if (this.totalItemInvestigations !== null) { + metricTypes.push(this.totalItemRequests); + } + if (this.uniqueItemRequests !== null) { + metricTypes.push(this.uniqueItemRequests); + } + if (this.uniqueItemInvestigations !== null) { + metricTypes.push(this.uniqueItemInvestigations); + } this.router.navigate(['usagestats-report-results'], { relativeTo: this.route.parent, queryParams: { @@ -194,10 +207,11 @@ export class MetricsUsagestatsReportComponent implements OnInit { itemIdentifier: this.itemIdentifier, datasetIdentifier: this.datasetIdentifier, granularity: this.granularity, - totalItemRequests: this.totalItemRequests, - totalItemInvestigations: this.totalItemInvestigations, - uniqueItemRequests: this.uniqueItemRequests, - uniqueItemInvestigations: this.uniqueItemInvestigations + metricTypes: metricTypes, + // totalItemRequests: this.totalItemRequests, + // totalItemInvestigations: this.totalItemInvestigations, + // uniqueItemRequests: this.uniqueItemRequests, + // uniqueItemInvestigations: this.uniqueItemInvestigations } }); diff --git a/src/app/pages/repository/metrics/metrics-usagestats.component.html b/src/app/pages/repository/metrics/metrics-usagestats.component.html index 1c13caf4d..695752e5c 100755 --- a/src/app/pages/repository/metrics/metrics-usagestats.component.html +++ b/src/app/pages/repository/metrics/metrics-usagestats.component.html @@ -27,11 +27,11 @@
-
- +
+

PR

-
-

+
+

A report summarizing usage activity for the repository by month, metric type and item type

@@ -40,11 +40,11 @@
-
- +
+

PR_1

-
-

+
+

A report summarizing usage activity for the repository by month, broken down by metric type

@@ -53,11 +53,11 @@
-
- +
+

IR

-
-

+
+

A report for items requests by month metric_type, item type and repository

@@ -69,11 +69,11 @@
-
- +
+

DSR

-
-

+
+

A report for datasets requests by month metric type and repository

-- 2.17.1 From f13dddf8b52c4bcff733d7dda668436337fac224 Mon Sep 17 00:00:00 2001 From: TheQuaker Date: Wed, 22 Mar 2023 17:48:36 +0200 Subject: [PATCH 04/13] stop wizard tabs from redirecting to home --- .../compatibility-validate-type.component.html | 8 ++++---- .../register-existing-datasource.component.html | 11 ++++++----- .../register-new-datasource.component.html | 8 ++++---- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/src/app/pages/compatibility/compatibility-validate-type.component.html b/src/app/pages/compatibility/compatibility-validate-type.component.html index 758aa5592..3a31d3fce 100755 --- a/src/app/pages/compatibility/compatibility-validate-type.component.html +++ b/src/app/pages/compatibility/compatibility-validate-type.component.html @@ -25,26 +25,26 @@