From d29e8143def61980170cc83d3d62524de829a2b1 Mon Sep 17 00:00:00 2001 From: Jake Rosenberg Date: Wed, 13 Sep 2023 14:19:38 -0500 Subject: [PATCH] Use Datacite metrics when displaying view/download counts (#1094) Co-authored-by: Jake Rosenberg --- ...publication-preview-field-recon.component.html | 12 ++++++------ .../publication-preview-hyb-sim.component.html | 6 +++--- .../publication-preview-sim.component.html | 6 +++--- .../publication-preview.component.html | 6 +++--- .../published/published-view.component.js | 15 ++++++++++++++- .../prj-pub-preview-metadata-template.html | 10 +++++----- 6 files changed, 34 insertions(+), 21 deletions(-) diff --git a/designsafe/static/scripts/data-depot/components/projects/publication-preview/publication-preview-field-recon.component.html b/designsafe/static/scripts/data-depot/components/projects/publication-preview/publication-preview-field-recon.component.html index af065e771..9248de107 100644 --- a/designsafe/static/scripts/data-depot/components/projects/publication-preview/publication-preview-field-recon.component.html +++ b/designsafe/static/scripts/data-depot/components/projects/publication-preview/publication-preview-field-recon.component.html @@ -118,15 +118,15 @@

- {{ $ctrl.cumDoiMetrics[mission.value.dois].fileDownloads || 0 }} Downloads + {{ $ctrl.metricDisplay($ctrl.downloadCounts[mission.value.dois]) }} Downloads    - {{ $ctrl.cumDoiMetrics[mission.value.dois].filePreviews || 0}} Views + {{ $ctrl.metricDisplay($ctrl.viewCounts[mission.value.dois]) }} Views    - {{ $ctrl.citationCounts[mission.value.dois] || 0}} Citations + {{ $ctrl.metricDisplay($ctrl.citationCounts[mission.value.dois]) }} Citations    @@ -310,15 +310,15 @@

- {{ $ctrl.cumDoiMetrics[mission.value.dois].fileDownloads || 0 }} Downloads + {{ $ctrl.metricDisplay($ctrl.downloadCounts[mission.value.dois]) }} Downloads    - {{ $ctrl.cumDoiMetrics[mission.value.dois].filePreviews || 0}} Views + {{ $ctrl.metricDisplay($ctrl.viewCounts[mission.value.dois]) }} Views    - {{ $ctrl.citationCounts[mission.value.dois] || 0}} Citations + {{ $ctrl.metricDisplay($ctrl.citationCounts[mission.value.dois]) }} Citations    diff --git a/designsafe/static/scripts/data-depot/components/projects/publication-preview/publication-preview-hyb-sim.component.html b/designsafe/static/scripts/data-depot/components/projects/publication-preview/publication-preview-hyb-sim.component.html index 10d580611..ccc609b85 100644 --- a/designsafe/static/scripts/data-depot/components/projects/publication-preview/publication-preview-hyb-sim.component.html +++ b/designsafe/static/scripts/data-depot/components/projects/publication-preview/publication-preview-hyb-sim.component.html @@ -138,15 +138,15 @@

- {{ $ctrl.cumDoiMetrics[hybsim.value.dois].fileDownloads || 0 }} Downloads + {{ $ctrl.metricDisplay($ctrl.downloadCounts[hybsim.value.dois])}} Downloads    - {{ $ctrl.cumDoiMetrics[hybsim.value.dois].filePreviews || 0}} Views + {{ $ctrl.metricDisplay($ctrl.viewCounts[hybsim.value.dois])}} Views    - {{ $ctrl.citationCounts[hybsim.value.dois] || 0}} Citations + {{ $ctrl.metricDisplay($ctrl.citationCounts[hybsim.value.dois])}} Citations    diff --git a/designsafe/static/scripts/data-depot/components/projects/publication-preview/publication-preview-sim.component.html b/designsafe/static/scripts/data-depot/components/projects/publication-preview/publication-preview-sim.component.html index 38520381f..6bb30ad5e 100644 --- a/designsafe/static/scripts/data-depot/components/projects/publication-preview/publication-preview-sim.component.html +++ b/designsafe/static/scripts/data-depot/components/projects/publication-preview/publication-preview-sim.component.html @@ -139,15 +139,15 @@

- {{ $ctrl.cumDoiMetrics[simulation.value.dois].fileDownloads || 0 }} Downloads + {{ $ctrl.metricDisplay($ctrl.downloadCounts[simulation.value.dois]) }} Downloads    - {{ $ctrl.cumDoiMetrics[simulation.value.dois].filePreviews || 0}} Views + {{ $ctrl.metricDisplay($ctrl.viewCounts[simulation.value.dois])}} Views    - {{ $ctrl.citationCounts[simulation.value.dois] || 0}} Citations + {{ $ctrl.metricDisplay($ctrl.citationCounts[simulation.value.dois])}} Citations    diff --git a/designsafe/static/scripts/data-depot/components/projects/publication-preview/publication-preview.component.html b/designsafe/static/scripts/data-depot/components/projects/publication-preview/publication-preview.component.html index 93e8789ec..8f2d1ee23 100644 --- a/designsafe/static/scripts/data-depot/components/projects/publication-preview/publication-preview.component.html +++ b/designsafe/static/scripts/data-depot/components/projects/publication-preview/publication-preview.component.html @@ -135,15 +135,15 @@

- {{ $ctrl.cumDoiMetrics[experiment.value.dois].fileDownloads || 0 }} Downloads + {{ $ctrl.metricDisplay($ctrl.downloadCounts[experiment.value.dois]) }} Downloads    - {{ $ctrl.cumDoiMetrics[experiment.value.dois].filePreviews || 0}} Views + {{ $ctrl.metricDisplay($ctrl.viewCounts[experiment.value.dois]) }} Views    - {{ $ctrl.citationCounts[experiment.value.dois] || 0}} Citations + {{ $ctrl.metricDisplay($ctrl.citationCounts[experiment.value.dois]) }} Citations    diff --git a/designsafe/static/scripts/data-depot/components/published/published-view.component.js b/designsafe/static/scripts/data-depot/components/published/published-view.component.js index 445080463..5d02e7a74 100644 --- a/designsafe/static/scripts/data-depot/components/published/published-view.component.js +++ b/designsafe/static/scripts/data-depot/components/published/published-view.component.js @@ -92,7 +92,9 @@ class PublishedViewCtrl { }); }); } - this.citationCounts = {} + this.citationCounts = {}; + this.viewCounts = {}; + this.downloadCounts = {}; this.projId = this.$stateParams.filePath.replace(/^\/+/, '').split('/')[0]; this.versions = this.prepVersions(this.publication); this.selectedVersion = this.publication.revision || 1; @@ -315,6 +317,9 @@ class PublishedViewCtrl { this.doi = this.doiList[ent.uuid]; }); } + if (this.project.value.projectType === 'other') { + this.doiList[this.project.uuid] = {doi: this.project.value.dois[0]}; + } if (this.doiList) { const dataciteRequests = Object.values(this.doiList).map(({ doi }) => { return this.$http.get(`/api/publications/data-cite/${doi}`); @@ -328,6 +333,8 @@ class PublishedViewCtrl { citations.forEach((cite) => { const doiObj = Object.values(this.doiList).find((x) => x.doi === cite.doi); this.citationCounts[cite.doi] = cite.citationCount; + this.downloadCounts[cite.doi] = cite.downloadCount; + this.viewCounts[cite.doi] = cite.viewCount; doiObj.created = cite.created; }); }); @@ -348,6 +355,12 @@ class PublishedViewCtrl { ); } + metricDisplay(metric) { + if (metric === 0) return 0; + if (metric) return metric; + return "--"; + } + prepVersions(publication) { // returns a list of publication versions if (publication.latestRevision) { diff --git a/designsafe/static/scripts/ng-designsafe/directives/templates/prj-pub-preview-metadata-template.html b/designsafe/static/scripts/ng-designsafe/directives/templates/prj-pub-preview-metadata-template.html index d1f321aae..26189e340 100644 --- a/designsafe/static/scripts/ng-designsafe/directives/templates/prj-pub-preview-metadata-template.html +++ b/designsafe/static/scripts/ng-designsafe/directives/templates/prj-pub-preview-metadata-template.html @@ -81,15 +81,15 @@
- {{ $ctrl.cumMetrics.otherTotal || 0 }} Downloads + {{ $ctrl.metricDisplay($ctrl.downloadCounts[$ctrl.project.value.dois[0]]) }} Downloads    - - {{ $ctrl.cumMetrics.filePreviews || 0}} Views + + {{ $ctrl.metricDisplay($ctrl.viewCounts[$ctrl.project.value.dois[0]]) }} Views    - - {{ $ctrl.citationCounts[experiment.value.dois] || 0}} Citations + + {{ $ctrl.metricDisplay($ctrl.citationCounts[$ctrl.project.value.dois[0]]) }} Citations