geoblacklight 3.8.0 → 4.0.0.pre.alpha

Sign up to get free protection for your applications and to get access to all the features.
Files changed (162) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +98 -22
  3. data/.gitignore +0 -1
  4. data/.rubocop.yml +5 -1
  5. data/.solr_wrapper +0 -1
  6. data/README.md +1 -1
  7. data/app/assets/images/blacklight/geoblacklight-icons.json +66 -102
  8. data/app/assets/images/blacklight/michigan-state-university.svg +1 -0
  9. data/app/assets/images/blacklight/pennsylvania-state-university.svg +1 -0
  10. data/app/assets/images/blacklight/purdue-university.svg +1 -0
  11. data/app/assets/images/blacklight/the-ohio-state-university.svg +1 -0
  12. data/app/assets/images/blacklight/university-of-chicago.svg +1 -0
  13. data/app/assets/images/blacklight/university-of-illinois-urbana-champaign.svg +1 -0
  14. data/app/assets/images/blacklight/university-of-iowa.svg +1 -0
  15. data/app/assets/images/blacklight/university-of-maryland.svg +1 -0
  16. data/app/assets/images/blacklight/university-of-michigan.svg +1 -0
  17. data/app/assets/images/blacklight/university-of-minnesota.svg +1 -0
  18. data/app/assets/images/blacklight/university-of-nebraska-lincoln.svg +1 -0
  19. data/app/assets/images/blacklight/university-of-wisconsin-madison.svg +1 -0
  20. data/app/assets/javascripts/geoblacklight/viewers/tms.js +2 -2
  21. data/app/assets/javascripts/geoblacklight/viewers/wms.js +2 -2
  22. data/app/models/concerns/geoblacklight/solr_document/citation.rb +2 -2
  23. data/app/models/concerns/geoblacklight/solr_document.rb +4 -4
  24. data/app/models/concerns/geoblacklight/spatial_search_behavior.rb +3 -3
  25. data/app/views/catalog/_header_icons.html.erb +1 -1
  26. data/app/views/catalog/_home_text.html.erb +2 -2
  27. data/app/views/relation/_relations.html.erb +15 -0
  28. data/app/views/relation/index.html.erb +4 -16
  29. data/app/views/relation/index.json.jbuilder +6 -2
  30. data/bin/coverage.rb +36 -0
  31. data/config/initializers/rails_config.rb +0 -8
  32. data/config/locales/geoblacklight.en.yml +8 -8
  33. data/geoblacklight.gemspec +4 -4
  34. data/lib/generators/geoblacklight/assets_generator.rb +1 -1
  35. data/lib/generators/geoblacklight/templates/catalog_controller.rb +78 -36
  36. data/lib/generators/geoblacklight/templates/settings.gbl_v1.yml +195 -0
  37. data/lib/generators/geoblacklight/templates/settings.yml +81 -25
  38. data/lib/geoblacklight/constants.rb +0 -3
  39. data/lib/geoblacklight/download/geojson_download.rb +1 -1
  40. data/lib/geoblacklight/download/geotiff_download.rb +1 -1
  41. data/lib/geoblacklight/download/hgl_download.rb +1 -1
  42. data/lib/geoblacklight/download/kmz_download.rb +1 -1
  43. data/lib/geoblacklight/download/shapefile_download.rb +1 -1
  44. data/lib/geoblacklight/engine.rb +3 -4
  45. data/lib/geoblacklight/item_viewer.rb +1 -13
  46. data/lib/geoblacklight/metadata/base.rb +1 -2
  47. data/lib/geoblacklight/references.rb +1 -1
  48. data/lib/geoblacklight/relation/ancestors.rb +4 -3
  49. data/lib/geoblacklight/relation/descendants.rb +4 -3
  50. data/lib/geoblacklight/relation/relation_response.rb +21 -6
  51. data/lib/geoblacklight/version.rb +1 -1
  52. data/schema/{geoblacklight-schema.json → geoblacklight-schema-1.0.json} +1 -1
  53. data/schema/geoblacklight-schema-aardvark.json +211 -0
  54. data/solr/conf/schema.xml +38 -30
  55. data/solr/conf/solrconfig.xml +18 -18
  56. data/spec/components/geoblacklight/homepage_feature_facet_component_spec.rb +1 -1
  57. data/spec/config/initializers/rails_config_spec.rb +5 -8
  58. data/spec/controllers/catalog_controller_spec.rb +6 -6
  59. data/spec/features/download_layer_spec.rb +1 -1
  60. data/spec/features/esri_viewer_spec.rb +0 -1
  61. data/spec/features/home_page_spec.rb +4 -4
  62. data/spec/features/missing_metadata_spec.rb +2 -2
  63. data/spec/features/relations_spec.rb +2 -2
  64. data/spec/features/search_results_map_spec.rb +2 -1
  65. data/spec/features/search_results_overlap_ratio_spec.rb +2 -2
  66. data/spec/features/split_view.html.erb_spec.rb +16 -12
  67. data/spec/features/tms_spec.rb +1 -1
  68. data/spec/features/web_services_modal_spec.rb +0 -33
  69. data/spec/fixtures/solr_documents/README.md +48 -36
  70. data/spec/fixtures/solr_documents/actual-papermap1.json +41 -18
  71. data/spec/fixtures/solr_documents/actual-point1.json +47 -27
  72. data/spec/fixtures/solr_documents/actual-polygon1.json +43 -18
  73. data/spec/fixtures/solr_documents/actual-raster1.json +52 -23
  74. data/spec/fixtures/solr_documents/all-relationships.json +48 -0
  75. data/spec/fixtures/solr_documents/baruch_ancestor1.json +62 -37
  76. data/spec/fixtures/solr_documents/baruch_ancestor2.json +62 -37
  77. data/spec/fixtures/solr_documents/baruch_documentation_download.json +60 -34
  78. data/spec/fixtures/solr_documents/bbox-spans-180.json +34 -16
  79. data/spec/fixtures/solr_documents/cornell_html_metadata.json +46 -26
  80. data/spec/fixtures/solr_documents/esri-dynamic-layer-all-layers.json +43 -25
  81. data/spec/fixtures/solr_documents/esri-dynamic-layer-single-layer.json +45 -28
  82. data/spec/fixtures/solr_documents/esri-feature-layer.json +44 -34
  83. data/spec/fixtures/solr_documents/esri-image-map-layer.json +45 -31
  84. data/spec/fixtures/solr_documents/esri-tiled_map_layer.json +42 -17
  85. data/spec/fixtures/solr_documents/esri-wms-layer.json +46 -21
  86. data/spec/fixtures/solr_documents/harvard_raster.json +55 -36
  87. data/spec/fixtures/solr_documents/iiif-eastern-hemisphere.json +35 -22
  88. data/spec/fixtures/solr_documents/index-map-polygon-no-downloadurl.json +48 -27
  89. data/spec/fixtures/solr_documents/index-map-polygon.json +48 -27
  90. data/spec/fixtures/solr_documents/index-map-stanford.json +54 -25
  91. data/spec/fixtures/solr_documents/index_map_point.json +54 -26
  92. data/spec/fixtures/solr_documents/metadata_no_geom.json +27 -0
  93. data/spec/fixtures/solr_documents/metadata_no_provider.json +39 -0
  94. data/spec/fixtures/solr_documents/multiple-downloads.json +33 -20
  95. data/spec/fixtures/solr_documents/no_locn_geometry.json +25 -0
  96. data/spec/fixtures/solr_documents/no_spatial.json +37 -19
  97. data/spec/fixtures/solr_documents/oembed.json +34 -17
  98. data/spec/fixtures/solr_documents/princeton-child1.json +45 -28
  99. data/spec/fixtures/solr_documents/princeton-child2.json +45 -28
  100. data/spec/fixtures/solr_documents/princeton-child3.json +45 -28
  101. data/spec/fixtures/solr_documents/princeton-child4.json +45 -28
  102. data/spec/fixtures/solr_documents/princeton-parent.json +46 -23
  103. data/spec/fixtures/solr_documents/public_direct_download.json +48 -21
  104. data/spec/fixtures/solr_documents/public_iiif_princeton.json +49 -24
  105. data/spec/fixtures/solr_documents/public_polygon_mit.json +31 -15
  106. data/spec/fixtures/solr_documents/restricted-line.json +52 -21
  107. data/spec/fixtures/solr_documents/the-related-record.json +27 -0
  108. data/spec/fixtures/solr_documents/tms.json +33 -17
  109. data/spec/fixtures/solr_documents/umn_metro_result1.json +44 -28
  110. data/spec/fixtures/solr_documents/umn_state_result1.json +44 -26
  111. data/spec/fixtures/solr_documents/umn_state_result2.json +45 -24
  112. data/spec/fixtures/solr_documents/uva_slug_colon.json +43 -20
  113. data/spec/lib/geoblacklight/download/geojson_download_spec.rb +1 -1
  114. data/spec/lib/geoblacklight/download/geotiff_download_spec.rb +1 -1
  115. data/spec/lib/geoblacklight/download/hgl_download_spec.rb +1 -1
  116. data/spec/lib/geoblacklight/download/kmz_download_spec.rb +1 -1
  117. data/spec/lib/geoblacklight/download/shapefile_download_spec.rb +1 -1
  118. data/spec/lib/geoblacklight/download_spec.rb +1 -1
  119. data/spec/lib/geoblacklight/metadata/base_spec.rb +0 -18
  120. data/spec/lib/geoblacklight/references_spec.rb +2 -2
  121. data/spec/lib/geoblacklight/relation/ancestors_spec.rb +3 -3
  122. data/spec/lib/geoblacklight/relation/descendants_spec.rb +3 -3
  123. data/spec/lib/geoblacklight/relation/relation_response_spec.rb +32 -17
  124. data/spec/models/concerns/geoblacklight/solr_document_spec.rb +4 -4
  125. data/spec/spec_helper.rb +0 -5
  126. data/spec/test_app_templates/Gemfile.extra +0 -1
  127. data/spec/views/catalog/_results_pagination.html.erb_spec.rb +1 -1
  128. data/spec/views/catalog/_show_downloads.html.erb_spec.rb +1 -1
  129. metadata +43 -74
  130. data/app/assets/images/blacklight/american-geographical-society-library-uwm-libraries.svg +0 -26
  131. data/app/assets/images/blacklight/arizona.svg +0 -4
  132. data/app/assets/images/blacklight/george-mason.svg +0 -4
  133. data/app/assets/images/blacklight/nebraska.svg +0 -4
  134. data/app/assets/images/blacklight/rutgers.svg +0 -5
  135. data/app/assets/javascripts/geoblacklight/viewers/tilejson.js +0 -33
  136. data/app/assets/javascripts/geoblacklight/viewers/wmts.js +0 -85
  137. data/app/assets/javascripts/geoblacklight/viewers/xyz.js +0 -10
  138. data/app/views/relation/_ancestors.html.erb +0 -8
  139. data/app/views/relation/_descendants.html.erb +0 -15
  140. data/config/initializers/new_gbl_settings_defaults_3_3.yml +0 -10
  141. data/lib/geoblacklight/faraday_middleware/follow_redirects.rb +0 -176
  142. data/schema/format-values.md +0 -50
  143. data/schema/geoblacklight-schema-deprecated.md +0 -39
  144. data/schema/geoblacklight-schema.md +0 -323
  145. data/schema/geometry-type-values.md +0 -11
  146. data/schema/references.md +0 -23
  147. data/schema/schema-commentary.md +0 -198
  148. data/schema/subjects.md +0 -41
  149. data/schema/type-values.md +0 -10
  150. data/spec/features/tilejson_spec.rb +0 -22
  151. data/spec/features/wmts_spec.rb +0 -34
  152. data/spec/features/xyz_spec.rb +0 -10
  153. data/spec/fixtures/manifests/tilejson.json +0 -21
  154. data/spec/fixtures/manifests/wmts-multiple.xml +0 -813
  155. data/spec/fixtures/manifests/wmts-single.xml +0 -126
  156. data/spec/fixtures/solr_documents/metadata_no_dct_provenance_s.json +0 -30
  157. data/spec/fixtures/solr_documents/metadata_no_layer_geom_type_s.json +0 -17
  158. data/spec/fixtures/solr_documents/metadata_no_solr_geom.json +0 -23
  159. data/spec/fixtures/solr_documents/tilejson.json +0 -38
  160. data/spec/fixtures/solr_documents/wmts-multiple.json +0 -32
  161. data/spec/fixtures/solr_documents/wmts-single-layer.json +0 -38
  162. data/spec/fixtures/solr_documents/xyz.json +0 -29
@@ -1,323 +0,0 @@
1
- ## GeoBlacklight 1.0 Metadata Schema
2
- This is an overview of the GeoBlacklight Metadata Schema, Version 1.0. For more information on applications of these elements, visit the [Schema Commentary document](/schema/schema-commentary.md).
3
- ## Brief
4
-
5
- | Label | uri| Required?|
6
- |------------------- |-----------------------|:----------:|
7
- | [Identifier](#identifier) | `dc_identifier_s`| X|
8
- | [Rights](#rights) | `dc_rights_s`| X|
9
- | [Title](#title) | `dc_title_s`| X|
10
- | [Provenance](#provenance) | `dct_provenance_s`| X|
11
- | [Schema Version](#schema-version) | `geoblacklight_version`| X|
12
- | [Slug](#slug) | `layer_slug_s`| X|
13
- | [Bounding Box](#bounding-box) | `solr_geom`| X|
14
- | [Solr Year](#solr-year) | `solr_year_i`||
15
- | [Creator](#creator) | `dc_creator_sm`||
16
- | [Description](#description) | `dc_description_s`||
17
- | [Format](#format) | `dc_format_s`||
18
- | [Language](#language) | `dc_language_sm`||
19
- | [Publisher](#publisher) | `dc_publisher_sm`||
20
- | [Source](#source) | `dc_source_sm`||
21
- | [Subject](#subject) | `dc_subject_sm`||
22
- | [Type](#type) | `dc_type_s`||
23
- | [Is Part Of](#is-part-of) | `dct_isPartOf_sm`||
24
- | [Date Issued](#date-issued) | `dct_issued_s`||
25
- | [References](#references) | `dct_references_s`||
26
- | [Spatial Coverage](#spatial-coverage) | `dct_spatial_sm`||
27
- | [Temporal Coverage](#temporal-coverage) | `dct_temporal_sm`||
28
- | [Geometry Type](#geometry-type) | `layer_geom_type_s`||
29
- | [Layer ID](#layer-id) | `layer_id_s`||
30
- | [Modified Date](#modified-date) | `layer_modified_dt`|||
31
-
32
-
33
- ## Details
34
-
35
- ### Identifier
36
- | Label | Identifier|
37
- |:------------------------------|:-----------|
38
- | uri | `dc_identifier_s`|
39
- | Required | yes|
40
- | Type | string|
41
- | Description | Unique identifier for layer as a URI. It should be globally unique across all institutions, assumed not to be end-user visible|
42
- | Entry Guidelines | This is usually in the form of http://institution/id.|
43
- | Controlled Vocabulary | no|
44
- | Element Set | Dublin Core Metadata Element Set|
45
- | Example | "http://purl.stanford.edu/vr593vj7147"|
46
-
47
-
48
- ### Rights
49
- | Label | Rights|
50
- |:------------------------------|:---------------------------------------------------------|
51
- | uri | `dc_rights_s`|
52
- | Required | yes|
53
- | Type | string|
54
- | Description | Signals access in the geoportal and is indicated by a padlock icon. Users need to sign in to download restricted items|
55
- | Entry Guidelines | Choose either Public or Restricted|
56
- | Controlled Vocabulary | "Public" or "Restricted"|
57
- | Element Set | Dublin Core Metadata Element Set|
58
- | Example | "Public"|
59
-
60
- ### Title
61
- | Label | Title|
62
- |:------------------------------|:-----------|
63
- | uri | `dc_title_s`|
64
- | Required | yes|
65
- | Type | string|
66
- | Description | The name of the resource|
67
- | Entry Guidelines | Titles should include place names and dates when available.|
68
- | Controlled Vocabulary | no|
69
- | Element Set | Dublin Core Metadata Element Set|
70
- | Example | "Roads: Minneapolis, Minnesota, 2010"|
71
-
72
- ### Provenance
73
- | Label | Provenance|
74
- |:------------------------------|:---------------------------------------------------------|
75
- | uri | `dct_provenance_s`|
76
- | Required | yes|
77
- | Type | string|
78
- | Description | The name of the institution that holds the resource or acts as the custodian for the metadata record|
79
- | Entry Guidelines | The value for this field should be one of the agreed upon shortened names for each institution. This will embed the correct icon into the search results and item pages.|
80
- | Controlled Vocabulary | This repository contains the insitutions that have shared icons: https://github.com/geoblacklight/geoblacklight-icons|
81
- | Element Set | DCMI Metadata Terms|
82
- | Example | "Stanford"|
83
-
84
- ### Schema Version
85
- | Label | Schema Version|
86
- |:------------------------------|:---------------------------------------------------------|
87
- | uri | `geoblacklight_version` |
88
- | Required | yes|
89
- | Type | string|
90
- | Description | Indicates which version of the GeoBlacklight schema is in use|
91
- | Entry Guidelines | Only current value is "1.0"|
92
- | Controlled Vocabulary | no|
93
- | Element Set | GeoBlacklight|
94
- | Example | "1.0"|
95
-
96
- ### Slug
97
- | Label | Slug|
98
- |:------------------------------|:---------------------------------------------------------|
99
- | uri | `layer_slug_s`|
100
- | Required | yes|
101
- | Type | string|
102
- | Description | This is a string appended to the base URL of a GeoBlacklight installation to create a unique landing page for each resource. It is visible to the user and serves the purpose of forming a persistent URL for each catalog item.|
103
- | Entry Guidelines | This string must be a globally unique value. The value should be alpha-numeric characters separated by dashes.|
104
- | Controlled Vocabulary | no|
105
- | Element Set | GeoBlacklight|
106
- | Example | "stanford-andhra-pradesh-village-boundaries"|
107
-
108
- ### Bounding Box
109
- | Label | Bounding Box|
110
- |:------------------------------|:---------------------------------------------------------|
111
- | uri | `solr_geom`|
112
- | Required | yes|
113
- | Type | string|
114
- | Description | The rectangular extents of the resource. Note that this field is indexed as a Solr spatial (RPT) field|
115
- | Entry Guidelines | Bounding box of the layer as a ENVELOPE WKT (from the CQL standard) using coordinates in (West, East, North, South) order. The pattern is: ENVELOPE(.*,.*,.*,.*)|
116
- | Controlled Vocabulary | no|
117
- | Element Set | GeoBlacklight|
118
- | Example | "ENVELOPE(76.76, 84.76, 19.91, 12.62)"|
119
-
120
- ### Solr Year
121
- | Label | Solr Year|
122
- |:------------------------------|:---------------------------------------------------------|
123
- | uri | `solr_year_i`|
124
- | Required | no|
125
- | Type | integer|
126
- | Description | A four digit integer representing a year of temporal coverage or date issued for the resource. This field is used to populate the Year facet and the optional [Blacklight Range Limit gem](https://github.com/projectblacklight/blacklight_range_limit)|
127
- | Entry Guidelines | This field must be an integer.|
128
- | Controlled Vocabulary | no|
129
- | Element Set | GeoBlacklight|
130
- | Example | "1982"|
131
-
132
- ### Creator
133
- | Label | Creator|
134
- |:------------------------------|:---------------------------------------------------------|
135
- | uri | `dc_creator_sm`|
136
- | Required | no|
137
- | Type | array|
138
- | Description | The person(s) or organization that created the resource|
139
- | Entry Guidelines | This may be an individual or an organization. If available, it should match with the Library of Congress Name Authority File.|
140
- | Controlled Vocabulary | The suggested controlled vocabulary is the [Library of Congress Name Authority File](http://id.loc.gov/authorities/names.html).|
141
- | Element Set | Dublin Core Metadata Element Set|
142
- | Example | "George Washington", "Thomas Jefferson"|
143
-
144
- ### Description
145
- | Label| Description|
146
- |:------------------------------|:---------------------------------------------------------|
147
- | uri | `dc_description_s`|
148
- | Required | no|
149
- | Type | string|
150
- | Description | At minimum, this is a reiteration of the title in sentence format. Other relevant information, such as data creation methods, data sources, and special licenses, may also be included.|
151
- | Entry Guidelines | This is a plain text field.|
152
- | Controlled Vocabulary | no|
153
- | Element Set | Dublin Core Metadata Element Set|
154
- | Example | "This polygon shapefile represents boundaries of election districts in New York City. It was harvested from the NYC Open Data Portal."|
155
-
156
- ### Format
157
- | Label | Format|
158
- |:------------------------------|:---------------------------------------------------------|
159
- | uri | `dc_format_s`|
160
- | Required | no|
161
- | Type | string|
162
- | Description | This indicates the file format of the data. If a download link is included, this value shows up on the item page display in the download widget|
163
- | Entry Guidelines | Choose from set values (see Format list)|
164
- | Controlled Vocabulary | [Format Controlled Vocabulary](/schema/format-values.md)|
165
- | Element Set | Dublin Core Metadata Element Set|
166
- | Example | "Shapefile"|
167
-
168
- ### Language
169
- | Label | Language|
170
- |:------------------------------|:---------------------------------------------------------|
171
- | uri | `dc_language_sm`|
172
- | Required | no|
173
- | Type | array|
174
- | Description | Indicates the language of the data or map|
175
- | Entry Guidelines | Spell out language (in English) instead of using the ISO 639-1 code (e.g.,“French” instead of “fra”).|
176
- | Controlled Vocabulary | no|
177
- | Element Set | Dublin Core Metadata Element Set|
178
- | Example | "English"|
179
-
180
- ### Publisher
181
- | Label | Publisher|
182
- |:------------------------------|:---------------------------------------------------------|
183
- | uri | `dc_publisher_s`|
184
- | Required | no|
185
- | Type | array|
186
- | Description | The organization that made the original resource available|
187
- | Entry Guidelines | This should always be an organization.|
188
- | Controlled Vocabulary | The suggested controlled vocabulary is the [Library of Congress Name Authority File](http://id.loc.gov/authorities/names.html).|
189
- | Element Set | Dublin Core Metadata Element Set|
190
- | Example | "ML InfoMap (Firm)"|
191
-
192
- ### Source
193
- | Label | Source|
194
- |:------------------------------|:---------------------------------------------------------|
195
- | uri | `dc_source_sm`|
196
- | Required | no|
197
- | Type | array|
198
- | Description | This is used to indicate parent/child relationships between data layers and activates the Data Relations widget in GeoBlacklight|
199
- | Entry Guidelines | This is only added to the child records. Enter the layer_slug_s of the parent record(s) into this field.|
200
- | Controlled Vocabulary | no|
201
- | Element Set | Dublin Core Metadata Element Set|
202
- | Example | "stanford-vr593vj7147"|
203
-
204
- ### Subject
205
- | Label | Subject|
206
- |:------------------------------|:---------------------------------------------------------|
207
- | uri | `dc_subject_sm`|
208
- | Required | no|
209
- | Type | array|
210
- | Description | These are theme or topic keywords|
211
- | Entry Guidelines | These should be consistent and chosen from a controlled vocabulary. Use sentence style capitalization, where only the first word of a phrase is capitalized.|
212
- | Controlled Vocabulary | Recommended thesauri are [ISO Topic Categories](https://www2.usgs.gov/science/about/thesaurus-full.php?thcode=15) and Library of Congress Subject Headings.|
213
- | Element Set | Dublin Core Metadata Element Set|
214
- | Example | "Census", "Human settlements"|
215
-
216
-
217
- ### Type
218
- | Label | Type|
219
- |:------------------------------|:---------------------------------------------------------|
220
- | uri | `dc_type_s`|
221
- | Required | no|
222
- | Type | string|
223
- | Description | This is a general element to indicate the larger genre of the resource|
224
- | Entry Guidelines | Choose from Dublin Core Type values|
225
- | Controlled Vocabulary | [Type Controlled Vocabulary](/schema/type-values.md)|
226
- | Element Set | Dublin Core Metadata Element Set|
227
- | Example | "Dataset"|
228
-
229
- ### Is Part Of
230
- | Label | Is Part Of|
231
- |:------------------------------|:---------------------------------------------------------|
232
- | uri | `dct_isPartOf_sm`|
233
- | Required | no|
234
- | Type | array|
235
- | Description | Holding entity for the layer, such as the title of a collection|
236
- | Entry Guidelines | Plain text that is indexed in the Collections facet|
237
- | Controlled Vocabulary | no|
238
- | Element Set | [DCMI Metadata Terms](http://dublincore.org/documents/dcmi-terms/)|
239
- | Example | "Village Maps of India"|
240
-
241
- ### Date Issued
242
- | Label | Date Issued|
243
- |:------------------------------|:---------------------------------------------------------|
244
- | uri | `dct_issued_s`|
245
- | Required | no|
246
- | Type | string|
247
- | Description | This is the publication date for the resource|
248
- | Entry Guidelines | Use any date format, such as the XML Schema dateTime format (YYYY-MM-DDThh:mm:ssZ)|
249
- | Controlled Vocabulary | no|
250
- | Element Set | [DCMI Metadata Terms](http://dublincore.org/documents/dcmi-terms/)|
251
- | Example | "2015-01-01"|
252
-
253
- ### References
254
- | Label | References|
255
- |:------------------------------|:---------------------------------------------------------|
256
- | uri | `dct_references_s`|
257
- | Required | no|
258
- | Type | string|
259
- | Description | This element is a hash of key/value pairs for different types of external links. It integrates external services and references using the CatInterOp approach|
260
- | Entry Guidelines | See [External Services](https://github.com/geoblacklight/geoblacklight/wiki/Schema#external-services)|
261
- | Controlled Vocabulary | [References URIs](/schema/references.md)|
262
- | Element Set | DCMI Metadata Terms|
263
- | Example | "dct_references_s": "{\"http://schema.org/url\":\"http://purl.stanford.edu/bm662dm5913\",\"http://schema.org/downloadUrl\":\"http://stacks.stanford.edu/file/druid:bm662dm5913/data.zip\"}"|
264
-
265
- ### Spatial Coverage
266
- | Label | Spatial Coverage|
267
- |:------------------------------|:---------------------------------------------------------|
268
- | uri | `dct_spatial_sm`|
269
- | Required | no|
270
- | Type | array|
271
- | Description | This field is for place name keywords|
272
- | Entry Guidelines | Place name text strings should be specified out to the nation level. It is typical for the place name to represent the largest extent the data layer represents.|
273
- | Controlled Vocabulary | Recommended thesaurus is [GeoNames](https://www.geonames.org/)|
274
- | Element Set | DCMI Metadata Terms|
275
- | Example | "Philadelphia, Pennsylvania, United States"|
276
-
277
- ### Temporal Coverage
278
- | Label | Temporal Coverage|
279
- |:------------------------------|:---------------------------------------------------------|
280
- | uri | `dct_temporal_sm`|
281
- | Required | no|
282
- | Type | array|
283
- | Description | This represents the "Ground Condition" of the resource, meaning the time period data was collected or is intended to represent. Displays on the item page in the Year value|
284
- | Entry Guidelines | This is a text string and can indicate uncertainty|
285
- | Controlled Vocabulary | no|
286
- | Element Set | DCMI Metadata Terms|
287
- | Example | "2007-2009"|
288
-
289
- ### Geometry Type
290
- | Label | Geometry Type|
291
- |:------------------------------|:---------------------------------------------------------|
292
- | uri | `layer_geom_type_s`|
293
- | Required | no|
294
- | Type | string|
295
- | Description | This element shows up as Data type in GeoBlacklight, and each value has an associated icon|
296
- | Entry Guidelines | Choose from set values (see Controlled Vocabulary Lists)|
297
- | Controlled Vocabulary | [Geometry Type Controlled Vocabulary](/schema/geometry-type-values.md)|
298
- | Element Set | GeoBlacklight|
299
- | Example | "Polygon"|
300
-
301
- ### Layer ID
302
- | Label | Layer ID|
303
- |:------------------------------|:---------------------------------------------------------|
304
- | uri | `layer_id_s`|
305
- | Required | no|
306
- | Type | string|
307
- | Description | Indicates the layer id for any WMS or WFS web services listed in the dct_references_s field|
308
- | Entry Guidelines | Only the layer name is added here. The base service endpoint URLs (e.g. "https://maps-public.geo.nyu.edu/geoserver/sdr/wms") are added to the `dct_references_s` field.|
309
- | Controlled Vocabulary | no|
310
- | Element Set | GeoBlacklight|
311
- | Example | "druid:vr593vj7147"|
312
-
313
- ### Modified Date
314
- | Label | Modified Date|
315
- |:------------------------------|:---------------------------------------------------------|
316
- | uri | `layer_modified_dt`|
317
- | Required | no|
318
- | Type | date-time|
319
- | Description | Last modification date for the metadata record|
320
- | Entry Guidelines | Use the XML Schema dateTime format (YYYY-MM-DDThh:mm:ssZ)|
321
- | Controlled Vocabulary | no|
322
- | Element Set | GeoBlacklight|
323
- | Example | "2015-01-01T12:00:00Z"|
@@ -1,11 +0,0 @@
1
- ## Geometry Type Vocabulary
2
-
3
- | Label | Icon Link | Definition|
4
- |:----------------------------|:-------------|:---------------------------------------------------------|
5
- |Point|[Icon](https://github.com/geoblacklight/geoblacklight-icons/blob/master/graphics/point.svg)|Geospatial dataset made up of pairs of x,y coordinates|
6
- |Line|[Icon](https://github.com/geoblacklight/geoblacklight-icons/blob/master/graphics/line.svg)|Geospatial dataset made up of straight or curved connected x,y coordinates|
7
- |Polygon|[Icon](https://github.com/geoblacklight/geoblacklight-icons/blob/master/graphics/polygon.svg)|Geospatial dataset made up of closed connections of x,y coordinates|
8
- |Image|[Icon](https://github.com/geoblacklight/geoblacklight-icons/blob/master/graphics/image.svg)|Static born-digital maps and scanned map images|
9
- |Raster|[Icon](https://github.com/geoblacklight/geoblacklight-icons/blob/master/graphics/raster.svg)|Geospatial dataset that is presented as an array of cells comprised of single or multiple bands|
10
- |Mixed|[Icon](https://github.com/geoblacklight/geoblacklight-icons/blob/master/graphics/mixed.svg)|Geospatial dataset with multiple geometry types|
11
- |Table|[Icon](https://github.com/geoblacklight/geoblacklight-icons/blob/master/graphics/table.svg)|Nonspatial dataset as a text file with delimiter separated values|
data/schema/references.md DELETED
@@ -1,23 +0,0 @@
1
- # External References
2
-
3
- The field `dct_references_s` defines external services and references using the [CatInterOp](https://github.com/OSGeo/Cat-Interop) approach. The field value is a serialized JSON array of key/value pairs, with keys representing XML namespace URI's and values the URL.
4
-
5
- Type | Reference URI | Enables in GeoBlacklight
6
- |:---- |:------------- |:------------------------|
7
- Web Mapping Service (WMS) | `http://www.opengis.net/def/serviceType/ogc/wms` | Layer preview, layer preview feature inspection, downloads (vector: KMZ, raster: GeoTIFF)|
8
- Web Feature Service (WFS) | `http://www.opengis.net/def/serviceType/ogc/wfs` | Vector downloads in GeoJSON and Shapefile|
9
- International Image Interoperability Framework (IIIF) Image API | `http://iiif.io/api/image` | Image viewer using [Leaflet-IIIF](https://github.com/mejackreed/Leaflet-IIIF)|
10
- Direct download file | `http://schema.org/downloadUrl` | Direct file download feature|
11
- Data dictionary / documentation download | `http://lccn.loc.gov/sh85035852` | Direct documentation download link|
12
- Full layer description | `http://schema.org/url` | Further descriptive information about layer|
13
- Metadata in ISO 19139 | `http://www.isotc211.org/schemas/2005/gmd/` | Structured metadata in ISO standard expressed as XML|
14
- Metadata in FGDC | `http://www.opengis.net/cat/csw/csdgm` | Structured metadata in FGDC standard expressed as XML|
15
- Metadata in MODS | `http://www.loc.gov/mods/v3` | Structured metadata in MODS format|
16
- Metadata in HTML | `http://www.w3.org/1999/xhtml` | Structured metadata in any standard expressed as HTML|
17
- ArcGIS FeatureLayer | `urn:x-esri:serviceType:ArcGIS#FeatureLayer` | Previewing of ArcGIS FeatureLayer Service|
18
- ArcGIS TiledMapLayer | `urn:x-esri:serviceType:ArcGIS#TiledMapLayer` | Previewing of ArcGIS TiledMapLayer Service|
19
- ArcGIS DynamicMapLayer | `urn:x-esri:serviceType:ArcGIS#DynamicMapLayer` | Previewing of ArcGIS DynamicMapLayer Service|
20
- ArcGIS ImageMapLayer | `urn:x-esri:serviceType:ArcGIS#ImageMapLayer` | Previewing of ArcGIS ImageMapLayer Service|
21
- Harvard Geospatial Library Email Download | `http://schema.org/DownloadAction` | Retrieve a file via email from the Harvard Geospatial Library|
22
- OpenIndexMap | `https://openindexmaps.org` | Provide an index map preview|
23
- oEmbed | `https://oembed.com` | Provide an object that is embeddable through an oEmbed service
@@ -1,198 +0,0 @@
1
- ## Commentary and Suggestions for the GeoBlacklight 1.0 Metadata Schema
2
-
3
- This document elaborates on the application of fields in the
4
- GeoBlacklight 1.0 Metadata Schema with recommendations from the
5
- GeoBlacklight community of practice.
6
-
7
- For a profile of the schema, visit
8
- [here](/schema/geoblacklight-schema.md).
9
-
10
- ### Identifier
11
-
12
- This field is required, but it is not displayed in the interface. It may
13
- be identical to the `layer_slug_s` field, or it may be related to or derived from the `layer_id_s`. This value is
14
- ideally a persistent identifier or permalink (such as a [PURL](https://en.wikipedia.org/wiki/Persistent_uniform_resource_locator) or [Handle](https://en.wikipedia.org/wiki/Handle_System).
15
-
16
- ### Rights
17
-
18
- This field can be set to "Public", which allows users to view and
19
- download an item, or "Restricted", which requires a user to log in to an
20
- authentication service. If there are additional licenses or rights
21
- associated with a resource, administrators will have to create a custom field in the local Solr schema.
22
-
23
- ### Title
24
-
25
- The title is the most prominent metadata field that users see when
26
- browsing or scanning search results. Since many datasets are created
27
- with ambiguous or non-unique titles, it may be worth the effort to
28
- improve or enhance them. The ideal sequence of a title is something akin
29
- to Topic of Layer: Place, Year. Putting the year at the end of a title
30
- produces better search results, since titles are left-anchored.
31
-
32
- ### Provenance
33
-
34
- This field indicates the institution that contributed the resource. The
35
- current community of practice is for this field to hold the name of the
36
- university or institution that has created the GeoBlacklight metadata
37
- record and/or hosts the dataset. Projects are encouraged to submit their
38
- institutional icon to the GeoBlacklight Icons repository to display with the resource.
39
-
40
- ### Schema Version
41
-
42
- "1.0" is the current version of the GeoBlacklight schema.
43
-
44
- ### Slug
45
-
46
- The slug makes up the URL for the resource in GeoBlacklight. If having a
47
- readable slug is desired, it is common to use the form,
48
- institution-keyword1-keyword2 (words or characters are separated by hyphens).
49
-
50
- ### Bounding Box
51
-
52
- The rectangular bounding box is to aid searching with the map interface.
53
- Although accuracy is encouraged, it may not always be necessary to to
54
- have precise bounding coordinates. The field functions to facilitate discovery more than to indicate exact extents.
55
-
56
- ### Solr Year
57
-
58
- This field is a four digit integer that must be inferred by the temporal
59
- coverage or date issued of the resource. If a single record spans multiple years, choose the earliest year for the `solr_year_i` field.
60
-
61
- ### Creator
62
-
63
- The `dc_creator_sm` field is best reserved for instances in which an
64
- individual person has collected, produced, or generated analyses of
65
- data (as opposed to an agency releasing a data product or resource). See also the comments on `dc_publisher_sm`.
66
-
67
- ### Description
68
-
69
- The `dc_description_s` field is the second most prominent value that users see
70
- when search or browsing for items. Although not required, it is strongly
71
- recommended. If the description is minimal or lacking, it can be
72
- improved by concatenating available metadata fields, such as title,
73
- date, format, and place. This is a plain text field, so html code is not
74
- supported here unless the application is customized. It is recommended to assume that discovery happens in multiple contexts (i.e., GeoBlacklight metadata may be integrated into other discovery environments), so descriptions should use complete sentences that signpost what the data object is, even though that is evident within GeoBlacklight itself.
75
-
76
- ### Format
77
-
78
- A long list of formats is available [here.](/schema/format-values.md)
79
- The most important thing to remember about the `dc_format_s` field is that it is
80
- required for Download functionality. Whatever value is in the `dc_format_s`
81
- field will show up as text in the Download widget, unless the application has local customizations.
82
-
83
- ### Language
84
-
85
- This field is intended to indicate the language of the dataset, map,
86
- and/or supporting documentation. The most common practice in this community
87
- is to spell the name language out in English (e.g., "French").
88
-
89
- ### Publisher
90
-
91
- The distinction between `dc_publisher_sm` and `dc_creator_sm` for data
92
- is often vague. Publishers should be the administrative body or
93
- organization that made the original resource available, regardless of
94
- who compiled or produced the data.
95
-
96
- ### Source
97
-
98
- The `dc_source_sm` field exists to indicate parent-child relationships between
99
- records. Common uses include: individual sheets within a map series that
100
- can point to a Shapefile that serves as an index map, individual
101
- Shapefile layers that have been derived from a Geodatabase that can
102
- point to the record for the GeoDatabase, or collection-level and related
103
- individual layer records. See
104
- https://github.com/geoblacklight/geoblacklight/wiki/Using-data-relations-widget for more information.
105
-
106
- ### Subject
107
-
108
- This field is indexed as a facet by default for GeoBlacklight
109
- applications, and it can become unwieldy when aggregating metadata
110
- records from multiple sources. Controlled vocabularies for GIS data have
111
- typically been expressed as ISO Topic Categories and localized thesauri,
112
- while scanned maps are typically described with Library of Congress
113
- Subject Headings. Even within these vocabularies, localized spellings
114
- and abbreviations will result in considerable variations between
115
- institutions. Institutions are encouraged to observe what terms are
116
- commonly in use and, at the very least, strive for internal consistency
117
- with controlled vocabularies and spellings. This facilitates easier
118
- metadata sharing across projects, such as the repositories in
119
- [OpenGeoMetadata](https://github.com/OpenGeoMetadata). Some institutions
120
- choose to create custom keyword fields to hold local, unnormalized
121
- values. It is recommended not to use Library of Congress Subject Headings to indicate the geography or spatial coverage of a dataset; instead, use the `dct_spatial_sm` field for this.
122
-
123
- ### Type
124
-
125
- The `dc_type_s` field is optional, but it can be useful for categorizing
126
- between datasets, scanned maps, and collections. The GeoBlacklight schema
127
- observes the Dublin Core controlled vocabulary for [Type](/schema/type-values.md).
128
-
129
- ### Is Part Of
130
-
131
- The `dct_isPartOf_sm` field is most often used as a way to group
132
- collections arbitrarily. Such groupings often have meaning within local
133
- institutions and can be shorthand for keeping like items
134
- together. For example, the value could mark all of the items in a single
135
- data submission, all of the items that pertain to a class that is
136
- working with GIS data, or all of the items harvested from a specific
137
- Open Data portal.
138
-
139
- ### Date Issued
140
-
141
- Although the `dct_issued_s` field is optional, it is often useful when
142
- a clear Temporal Coverage value is not present. For example, one may
143
- want to preserve a dataset with an uncertain lineage, but there is an
144
- indicator on a data portal on the date of last update.
145
-
146
- ### References
147
-
148
- All of the external links for the resource are added to the `dct_references_s`
149
- field as a serialized JSON array of key/value pairs. For example:
150
-
151
- ```
152
- <field name="dct_references_s">
153
- {
154
- "http://schema.org/url":"http://purl.stanford.edu/bb509gh7292",
155
- "http://schema.org/downloadUrl":"http://stacks.stanford.edu/file/druid:bb509gh7292/data.zip",
156
- "http://www.loc.gov/mods/v3":"http://purl.stanford.edu/bb509gh7292.mods",
157
- "http://www.isotc211.org/schemas/2005/gmd/":"http://opengeometadata.stanford.edu/metadata/edu.stanford.purl/druid:bb509gh7292/iso19139.xml",
158
- "http://www.w3.org/1999/xhtml":"http://opengeometadata.stanford.edu/metadata/edu.stanford.purl/druid:bb509gh7292/default.html",
159
- "http://www.opengis.net/def/serviceType/ogc/wfs":"https://geowebservices-restricted.stanford.edu/geoserver/wfs",
160
- "http://www.opengis.net/def/serviceType/ogc/wms":"https://geowebservices-restricted.stanford.edu/geoserver/wms"
161
- }
162
- </field>
163
- ```
164
- See the [References controlled vocabulary](/schema/references.md) for the URIs of the keys and their recommended uses.
165
-
166
- ### Spatial Coverage
167
-
168
- It is recommended to have at least one place name for each layer that
169
- corresponds to the logical extent of the area of that layer. Adding
170
- additional place names that fall within the layer should be done only if
171
- they are topically relevant to the content of the data. If a long list of
172
- place names is desired in the metadata for search purposes, a customized
173
- hidden field is recommended.
174
-
175
- ### Temporal Coverage
176
-
177
- The `dct_temporal_sm` field is multi-valued, so multiple strings can be used to indicate the time period the resource depicts, when the
178
- data was collected, and/or when the resources was created. Examples include: “1910?”, “1800-1805”, “before 2000”. If a single dataset spans multiple years, one can add each intervening year as a discrete value (e.g., 2007,2008,2009,2010). However, a common convention is to include only the first and last year (e.g., 2007,2010 for a dataset encompassing the span of time between 2007 and 2010).
179
-
180
- ### Geometry Type
181
-
182
- This field helps to differentiate between vector (Point, Line, Polygon),
183
- raster (Raster, Image), nonspatial formats (table), or a combination
184
- (Mixed). If processing metadata from a geospatial web server, this value
185
- may be programmatically determined. However, in many cases, it must be manually
186
- determined. The field is tied to icons for the resource, and provides
187
- the user with visual clues to the item. However, if the element is
188
- troublesome or unnecessary for a particular institution, it can be
189
- omitted. [See the controlled vocabulary.](/schema/geometry-type-values.md)
190
-
191
- ### Layer ID
192
-
193
- The Layer ID is used to point to specific layers within a geospatial web
194
- service. This field is not used for ArcGIS Rest Services.
195
-
196
- ### Modified Date
197
-
198
- This value should indicate when the metadata (not the resource itself) was last modified.
data/schema/subjects.md DELETED
@@ -1,41 +0,0 @@
1
- These charts lists the most common terms and spellings for Subjects
2
- in the GeoBlacklight community.
3
-
4
- ## Geospatial Data
5
-
6
- Common spelling | Related terms
7
- |----|-------------
8
- Farming | Agriculture
9
- Biota | Biology |ISO Topic Category
10
- Boundaries | Administrative and political boundaries; Cities and towns
11
- Climatology, Meteorology, and Atmosphere | Climate
12
- Economy
13
- Elevation
14
- Environment |
15
- Geoscientific Information | Geology
16
- Health ||
17
- Imagery and Base Maps | Imagery; Basemaps; Landcover
18
- Intelligence and Military |
19
- Inland Waters |
20
- Location |
21
- Oceans |
22
- Planning and Cadastral | Property
23
- Society |
24
- Structure | Facilities and Structures
25
- Transportation |
26
- Utilities and Communications | Utilities
27
-
28
- ## Maps
29
-
30
- Common spelling | Related terms
31
- |:---- |:------------- |
32
- Aeronautical charts
33
- Atlases
34
- Bathymetric maps
35
- Cadastral maps
36
- Fire insurance maps
37
- Geological maps
38
- Road maps
39
- Thematic maps
40
- Topographic maps
41
- Tourist maps
@@ -1,10 +0,0 @@
1
- ## GeoBlacklight Type Values
2
-
3
- | Label | Dublin Core Link | Definition|
4
- |:----------------------------|:-------------|:---------------------------------------------------------|
5
- |Dataset|[DCMI Link](http://dublincore.org/documents/dcmi-terms/#dcmitype-Dataset)|Data encoded in a defined structure. Includes geospatial formats as vector, raster, and tabular data.|
6
- |Image|[DCMI Link](http://dublincore.org/documents/dcmi-terms/#dcmitype-Image)|A visual representation other than text. Includes static born-digital maps, scanned map images, and aerial photography.|
7
- |Collection|[DCMI Link](http://dublincore.org/documents/dcmi-terms/#dcmitype-Collection)|An aggregation of resources. Describes a group of resources that may or may not be separately described.|
8
- |Interactive Resource|[DCMI Link](http://dublincore.org/documents/dcmi-terms/#dcmitype-InteractiveResource)|External web applications that require the user to input information to generate a filtered dataset|
9
- |Collection|[DCMI Link](http://dublincore.org/documents/dcmi-terms/#dcmitype-Collection)|An aggregation of resources. Describes a group of resources that may or may not be separately described.|
10
- |Physical Object|[DCMI Link](http://dublincore.org/documents/dcmi-terms/#dcmitype-PhysicalObject)|Non-digital resource, such as a paper map or a globe|
@@ -1,22 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'spec_helper'
3
-
4
- feature 'tilejson layer' do
5
- before do
6
- WebMock.disable_net_connect!(allow_localhost: true, allow: 'chromedriver.storage.googleapis.com')
7
- end
8
-
9
- after do
10
- WebMock.allow_net_connect!
11
- end
12
-
13
- scenario 'displays tilejson layer', js: true do
14
- # Mock tilejson manifest url
15
- stub_request(:get, 'https://map-tiles-staging.princeton.edu/mosaicjson/tilejson.json?id=2a91d82c541c426cb787cc62afe8f248')
16
- .to_return(status: 200, body: read_fixture('manifests/tilejson.json'))
17
-
18
- visit solr_document_path('princeton-fk4544658v-tilejson')
19
- expect(page).to have_css '.leaflet-control-zoom', visible: :visible
20
- expect(page).to have_css "img[src*='https://map-tiles-staging.princeton.edu/mosaicjson/tiles/WebMercatorQuad']"
21
- end
22
- end