aboutsummaryrefslogtreecommitdiffstats
path: root/python/fatcat_web/templates/container_view_coverage.html
blob: 865723d5b03e85cf71fb7b18d85c0a80a68ebc43 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
{% set container = entity %}
{% set entity_view = "coverage" %}
{% set entity_type = "container" %}
{% import "entity_macros.html" as entity_macros %}
{% extends "entity_base.html" %}

{% block entity_main %}

<div class="ui container text" style="margin-bottom: 2em;">
  <div class="ui message">
    <p>This page summarizes and visualizes the article-level (or output-level) preservation status for a single publication venue (<i>{{ container.name }}</i>). Fatcat is a preservation-oriented catalog, and metadata is aggregated from many <a href="https://guide.fatcat.wiki/sources.html">sources</a>.
    <p>However, metadata quality and consistency is difficult at scale and there may be preservation coverage not recorded here, or in some rare cases we may have content incorrectly matched and marked as preserved. Please <a href="/about">contact us</a> or <a href="https://guide.fatcat.wiki/editing_quickstart.html">submit corrections directly</a> if you find any mistakes or inaccuracies.
  </div>
</div>

{% if container._stats.total >= 1 %}
  <div class="ui container text" style="margin-bottom: 3em;">
    <h2 class="ui header">Overall Preservation Coverage</h2>
    {{ entity_macros.preservation_bar(container._stats.preservation, extra_class="large") }}
    <br>
    <center>
      {{ entity_macros.preservation_table(container._stats.preservation) }}
    </center>
  </div>
{% endif %}

<div class="ui container text" style="margin-bottom: 3em;">
  <h2 class="ui header">Known Holdings Elsewhere</h2>
  <p>This table is based on KBART reports from large, independent, long-term digital preservation projects. We use the start and stop years of fulltext coverage, then count individuals works as included or not on the basis of year alone (not considering volume or issue metadata). These are mostly "dark" archives, with no direct public access to holdings.
  <p>The Keeper's Registry project, currently run by <a href="https://issn.org">issn.org</a>, is a more authoritative source for aggregated KBART reports, and includes more archives.
  {% if container.issnl %}
    You can double check the <a href="https://portal.issn.org/?q=api/search&search[]=MUST=allissnbis=%22{{ container.issnl }}%22">Keeper's entry for this ISSN on portal.issn.org</a>; click through to the "Archival Status" link to see holdings information.
  {% endif %}

  {% if container.extra and container.extra.kbart %}
    <table class="ui very compact table">
    <thead>
      <tr>
        <th>Archive</th>
        <th>Year Span(s)</th>
    </thead>
    <tbody>
    {% for k, v in container.extra.kbart.items() %}
      <tr>
        <td>
        {% if k == "lockss" %}
          <a href="https://www.lockss.org/">LOCKSS</a>
        {% elif k == "clockss" %}
          <a href="https://clockss.org/">CLOCKSS</a>
        {% elif k == "hathitrust" and container.issnl %}
          <a href="https://catalog.hathitrust.org/Search/Home?lookfor={{ container.issnl }}&searchtype=isn&ft=&setft=false">HathiTrust</a>
        {% elif k == "portico" and container.issnl %}
          <a href="https://www.portico.org/coverage/titles/?keyword={{ container.issnl }}">Portico</a>
        {% elif k == "scholarsportal" and container.issnl %}
          <a href="https://journals.scholarsportal.info/search?q={{ container.issnl }}&search_in=ISSN">Scholars Portal</a>
        {% else %}
          <span style="text-transform: uppercase;">{{ k }}</span>
        {% endif %}
        </td>
        <td>
          {% for span in v.year_spans %}
            {% if span|length >= 2 -%}
              {{ span[0] }} to {{ span[1] -}}
            {% elif span|length == 1 -%}
              {{ span[0] -}}
            {% endif -%}
            <br>
          {% endfor %}
          {% if not v.year_spans %}-{% endif %}
    {% endfor %}
    </tbody>
    </table>
  {% else %}
    <p>No holdings at any other locations recorded.
  {% endif %}
</div>

{% if container._stats.total >= 1 %}
  <div class="ui container text">
    <h2 class="ui header">Preservation Coverage by Year</h2>
  </div>

  <figure style="margin: 0 0 0 0;">
    <embed type="image/svg+xml" src="/container/{{ container.ident }}/preservation_by_year.svg" />
  </figure>

  <div style="float: right;">
    <a href="/container/{{ container.ident }}/preservation_by_year.json">Download as JSON</a>
  </div>

  <br><br>
  <div class="ui container text">
    <h2 class="ui header">Preservation Coverage by Volume Number</h2>
  </div>

  <figure style="margin: 0 0 0 0;">
    <embed type="image/svg+xml" src="/container/{{ container.ident }}/preservation_by_volume.svg" />
  </figure>

  <div style="float: right;">
    <a href="/container/{{ container.ident }}/preservation_by_volume.json">Download as JSON</a>
  </div>

  <br><br>
  <div class="ui container text">
    <h2 class="ui header">Preservation Coverage by Release Type</h2>
    <table class="ui table">
      <thead>
        <tr>
          <th>Release Type
          <th class="right aligned">Total Count
          <th>Coverage
      </thead>
      <tbody>
        {% for type_row in container._type_preservation %}
        <tr>
          <td class="three wide">{{ type_row.release_type }}
          <td class="three wide right aligned">{{ "{:,}".format(type_row.total) }}
          <td class="ten wide">{{ entity_macros.preservation_bar(type_row) }}
        {% endfor %}
      </tbody>
    </table>
  </div>
{% endif %}

{% endblock %}