geoblacklight 3.2.0 → 4.0.0.pre.alpha
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +148 -0
- data/.gitignore +8 -0
- data/.rubocop.yml +14 -10
- data/.rubocop_todo.yml +361 -26
- data/README.md +3 -3
- data/Rakefile +19 -12
- data/app/assets/images/blacklight/michigan-state-university.svg +6 -0
- data/app/assets/images/blacklight/pennsylvania-state-university.svg +6 -0
- data/app/assets/images/blacklight/purdue-university.svg +6 -0
- data/app/assets/images/blacklight/the-ohio-state-university.svg +7 -0
- data/app/assets/images/blacklight/university-of-chicago.svg +6 -0
- data/app/assets/images/blacklight/university-of-illinois-urbana-champaign.svg +6 -0
- data/app/assets/images/blacklight/university-of-iowa.svg +5 -0
- data/app/assets/images/blacklight/university-of-maryland.svg +5 -0
- data/app/assets/images/blacklight/university-of-michigan.svg +5 -0
- data/app/assets/images/blacklight/university-of-minnesota.svg +5 -0
- data/app/assets/images/blacklight/university-of-nebraska-lincoln.svg +8 -0
- data/app/assets/images/blacklight/university-of-wisconsin-madison.svg +5 -0
- data/app/assets/images/favicon.ico +0 -0
- data/app/assets/javascripts/geoblacklight/geoblacklight.js +18 -1
- data/app/assets/javascripts/geoblacklight/modules/bookmarks.js +43 -0
- data/app/assets/javascripts/geoblacklight/modules/metadata_download_button.js +6 -1
- data/app/assets/javascripts/geoblacklight/modules/results.js +7 -8
- data/app/assets/javascripts/geoblacklight/modules/util.js +5 -0
- data/app/assets/javascripts/geoblacklight/viewers/esri.js +1 -1
- data/app/assets/javascripts/geoblacklight/viewers/index_map.js +1 -1
- data/app/assets/javascripts/geoblacklight/viewers/map.js +12 -2
- data/app/assets/javascripts/geoblacklight/viewers/tms.js +10 -0
- data/app/assets/javascripts/geoblacklight/viewers/wms.js +1 -1
- data/app/assets/stylesheets/geoblacklight/modules/icon-customization.scss +41 -0
- data/app/assets/stylesheets/geoblacklight/modules/results.scss +1 -1
- data/app/assets/stylesheets/geoblacklight/modules/toolbar.scss +6 -0
- data/app/components/geoblacklight/homepage_feature_facet_component.html.erb +11 -0
- data/app/components/geoblacklight/homepage_feature_facet_component.rb +13 -0
- data/{lib → app/helpers}/geoblacklight/geoblacklight_helper_behavior.rb +6 -4
- data/app/helpers/geoblacklight_helper.rb +14 -8
- data/app/models/concerns/geoblacklight/solr_document/citation.rb +2 -2
- data/app/models/concerns/geoblacklight/solr_document.rb +11 -16
- data/app/models/concerns/geoblacklight/spatial_search_behavior.rb +5 -5
- data/app/views/catalog/_arcgis.html.erb +1 -1
- data/app/views/catalog/_data_dictionary.html.erb +1 -2
- data/app/views/catalog/_document_split.html.erb +1 -1
- data/app/views/catalog/_header_icons.html.erb +1 -1
- data/app/views/catalog/_home_text.html.erb +7 -29
- data/app/views/catalog/_index_split_default.html.erb +1 -1
- data/app/views/catalog/_show_default_viewer_container.html.erb +1 -1
- data/app/views/catalog/_show_header_default.html.erb +1 -1
- data/app/views/download/hgl.html.erb +13 -11
- data/app/views/relation/_relations.html.erb +15 -0
- data/app/views/relation/index.html.erb +4 -16
- data/app/views/relation/index.json.jbuilder +6 -2
- data/babel.config.json +4 -0
- data/config/initializers/new_gbl_settings_defaults_3_4.yml +6 -0
- data/config/locales/geoblacklight.en.yml +12 -0
- data/geoblacklight.gemspec +5 -3
- data/jest.config.js +25 -0
- data/lib/generators/geoblacklight/install_generator.rb +1 -1
- data/lib/generators/geoblacklight/templates/catalog_controller.rb +78 -35
- data/lib/generators/geoblacklight/templates/settings.gbl_v1.yml +195 -0
- data/lib/generators/geoblacklight/templates/settings.yml +91 -17
- data/lib/geoblacklight/bounding_box.rb +1 -1
- data/lib/geoblacklight/constants.rb +1 -0
- data/lib/geoblacklight/download/geojson_download.rb +1 -1
- data/lib/geoblacklight/download/geotiff_download.rb +1 -1
- data/lib/geoblacklight/download/hgl_download.rb +1 -1
- data/lib/geoblacklight/download/kmz_download.rb +2 -2
- data/lib/geoblacklight/download/shapefile_download.rb +1 -1
- data/lib/geoblacklight/geometry.rb +85 -0
- data/lib/geoblacklight/item_viewer.rb +5 -1
- data/lib/geoblacklight/metadata/base.rb +1 -7
- data/lib/geoblacklight/references.rb +1 -1
- data/lib/geoblacklight/relation/ancestors.rb +4 -3
- data/lib/geoblacklight/relation/descendants.rb +4 -3
- data/lib/geoblacklight/relation/relation_response.rb +21 -6
- data/lib/geoblacklight/version.rb +1 -1
- data/lib/geoblacklight/view_helper_override.rb +1 -1
- data/lib/geoblacklight/wms_layer.rb +1 -4
- data/lib/geoblacklight.rb +1 -3
- data/lib/tasks/geoblacklight.rake +5 -0
- data/package.json +17 -1
- data/schema/{geoblacklight-schema.json → geoblacklight-schema-1.0.json} +1 -1
- data/schema/geoblacklight-schema-aardvark.json +211 -0
- data/setupJest.js +14 -0
- data/solr/conf/schema.xml +35 -29
- data/solr/conf/solrconfig.xml +15 -15
- data/spec/components/geoblacklight/homepage_feature_facet_component_spec.rb +39 -0
- data/spec/config/initializers/rails_config_spec.rb +15 -0
- data/spec/controllers/catalog_controller_spec.rb +7 -7
- data/spec/features/esri_viewer_spec.rb +1 -1
- data/spec/features/home_page_spec.rb +4 -4
- data/spec/features/layer_opacity_spec.rb +1 -0
- data/spec/features/metadata_panel_spec.rb +1 -1
- data/spec/features/missing_metadata_spec.rb +2 -2
- data/spec/features/relations_spec.rb +2 -2
- data/spec/features/search_results_map_spec.rb +2 -1
- data/spec/features/search_results_overlap_ratio_spec.rb +2 -2
- data/spec/features/split_view.html.erb_spec.rb +16 -12
- data/spec/features/tms_spec.rb +10 -0
- data/spec/fixtures/solr_documents/README.md +48 -36
- data/spec/fixtures/solr_documents/actual-papermap1.json +41 -18
- data/spec/fixtures/solr_documents/actual-point1.json +47 -27
- data/spec/fixtures/solr_documents/actual-polygon1.json +43 -18
- data/spec/fixtures/solr_documents/actual-raster1.json +52 -23
- data/spec/fixtures/solr_documents/all-relationships.json +48 -0
- data/spec/fixtures/solr_documents/baruch_ancestor1.json +62 -37
- data/spec/fixtures/solr_documents/baruch_ancestor2.json +62 -37
- data/spec/fixtures/solr_documents/baruch_documentation_download.json +60 -34
- data/spec/fixtures/solr_documents/bbox-spans-180.json +34 -16
- data/spec/fixtures/solr_documents/cornell_html_metadata.json +46 -26
- data/spec/fixtures/solr_documents/esri-dynamic-layer-all-layers.json +43 -25
- data/spec/fixtures/solr_documents/esri-dynamic-layer-single-layer.json +45 -28
- data/spec/fixtures/solr_documents/esri-feature-layer.json +44 -34
- data/spec/fixtures/solr_documents/esri-image-map-layer.json +45 -31
- data/spec/fixtures/solr_documents/esri-tiled_map_layer.json +42 -17
- data/spec/fixtures/solr_documents/esri-wms-layer.json +46 -21
- data/spec/fixtures/solr_documents/harvard_raster.json +55 -36
- data/spec/fixtures/solr_documents/iiif-eastern-hemisphere.json +35 -22
- data/spec/fixtures/solr_documents/index-map-polygon-no-downloadurl.json +48 -27
- data/spec/fixtures/solr_documents/index-map-polygon.json +48 -27
- data/spec/fixtures/solr_documents/index-map-stanford.json +54 -25
- data/spec/fixtures/solr_documents/index_map_point.json +54 -26
- data/spec/fixtures/solr_documents/metadata_no_geom.json +27 -0
- data/spec/fixtures/solr_documents/metadata_no_provider.json +39 -0
- data/spec/fixtures/solr_documents/multiple-downloads.json +33 -20
- data/spec/fixtures/solr_documents/no_locn_geometry.json +25 -0
- data/spec/fixtures/solr_documents/no_spatial.json +37 -19
- data/spec/fixtures/solr_documents/oembed.json +34 -17
- data/spec/fixtures/solr_documents/princeton-child1.json +45 -28
- data/spec/fixtures/solr_documents/princeton-child2.json +45 -28
- data/spec/fixtures/solr_documents/princeton-child3.json +45 -28
- data/spec/fixtures/solr_documents/princeton-child4.json +45 -28
- data/spec/fixtures/solr_documents/princeton-parent.json +46 -23
- data/spec/fixtures/solr_documents/public_direct_download.json +48 -21
- data/spec/fixtures/solr_documents/public_iiif_princeton.json +49 -24
- data/spec/fixtures/solr_documents/public_polygon_mit.json +31 -15
- data/spec/fixtures/solr_documents/restricted-line.json +52 -21
- data/spec/fixtures/solr_documents/the-related-record.json +27 -0
- data/spec/fixtures/solr_documents/tms.json +45 -0
- data/spec/fixtures/solr_documents/umn_metro_result1.json +44 -28
- data/spec/fixtures/solr_documents/umn_state_result1.json +44 -26
- data/spec/fixtures/solr_documents/umn_state_result2.json +45 -24
- data/spec/fixtures/solr_documents/uva_slug_colon.json +43 -20
- data/spec/{lib → helpers}/geoblacklight/geoblacklight_helper_behavior_spec.rb +1 -0
- data/spec/helpers/geoblacklight_helper_spec.rb +30 -4
- data/spec/javascripts/geoblacklight_spec.js +0 -6
- data/spec/javascripts/metadata_download_button_spec.js +5 -3
- data/spec/javascripts/util_spec.js +2 -4
- data/spec/lib/geoblacklight/download/geojson_download_spec.rb +1 -1
- data/spec/lib/geoblacklight/download/geotiff_download_spec.rb +1 -1
- data/spec/lib/geoblacklight/download/hgl_download_spec.rb +1 -1
- data/spec/lib/geoblacklight/download/kmz_download_spec.rb +2 -2
- data/spec/lib/geoblacklight/download/shapefile_download_spec.rb +1 -1
- data/spec/lib/geoblacklight/download_spec.rb +1 -1
- data/spec/lib/geoblacklight/geometry_spec.rb +59 -0
- data/spec/lib/geoblacklight/item_viewer_spec.rb +12 -0
- data/spec/lib/geoblacklight/references_spec.rb +3 -3
- data/spec/lib/geoblacklight/relation/ancestors_spec.rb +3 -3
- data/spec/lib/geoblacklight/relation/descendants_spec.rb +3 -3
- data/spec/lib/geoblacklight/relation/relation_response_spec.rb +32 -17
- data/spec/models/concerns/geoblacklight/solr_document_spec.rb +4 -4
- data/spec/spec_helper.rb +2 -0
- data/spec/support/view_component_capybara_test_helpers.rb +8 -0
- data/spec/test_app_templates/Gemfile.extra +1 -0
- data/spec/test_app_templates/lib/generators/test_app_generator.rb +0 -7
- data/spec/views/catalog/_document_split.html.erb_spec.rb +1 -1
- data/spec/views/catalog/_index_split.html.erb_spec.rb +1 -1
- data/template.rb +1 -0
- metadata +99 -51
- data/.circleci/config.yml +0 -256
- data/app/views/catalog/_document_action.html.erb +0 -6
- data/app/views/catalog/_facet_tag_item.html.erb +0 -3
- data/app/views/catalog/_facet_tag_layout.html.erb +0 -2
- data/app/views/relation/_ancestors.html.erb +0 -8
- data/app/views/relation/_descendants.html.erb +0 -15
- data/schema/format-values.md +0 -50
- data/schema/geoblacklight-schema-deprecated.md +0 -39
- data/schema/geoblacklight-schema.md +0 -323
- data/schema/geometry-type-values.md +0 -11
- data/schema/references.md +0 -23
- data/schema/schema-commentary.md +0 -198
- data/schema/subjects.md +0 -41
- data/schema/type-values.md +0 -10
- data/spec/fixtures/solr_documents/metadata_no_dct_provenance_s.json +0 -30
- data/spec/fixtures/solr_documents/metadata_no_layer_geom_type_s.json +0 -17
- data/spec/fixtures/solr_documents/metadata_no_solr_geom.json +0 -23
- data/spec/javascripts/geoblacklight/viewers/esri/tiled_map_layer_spec.js +0 -12
- data/spec/javascripts/spec_helper.js +0 -32
- data/spec/lib/geoblacklight/controller_override_spec.rb +0 -2
- data/spec/teaspoon_env.rb +0 -214
@@ -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
|
data/schema/schema-commentary.md
DELETED
@@ -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
|
data/schema/type-values.md
DELETED
@@ -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,30 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"geoblacklight_version": "1.0",
|
3
|
-
"layer_modified_dt": "2019-12-16T15:57:35Z",
|
4
|
-
"layer_slug_s": "99-0001-noProvenance",
|
5
|
-
"dc_identifier_s": "99-0001-noProvenance",
|
6
|
-
"dc_title_s": "Social Explorer",
|
7
|
-
"dct_temporal_sm": [
|
8
|
-
"1790-present"
|
9
|
-
],
|
10
|
-
"dc_description_s": "Requires creating a free account or logging in through an organization with licensed access. This interactive website includes the entire US census history from 1790 to 2000, the American Community Survey (ACS), and the Religious Congregations and Membership Study (RCMS) from 1980 to 2000? the most complete census available on religion in the U.S. Overall, the site contains 39 billion data points, 200,000 variables, and 15,000 interactive maps",
|
11
|
-
"dc_subject_sm": [
|
12
|
-
"Society"
|
13
|
-
],
|
14
|
-
"dc_type_sm": [
|
15
|
-
"Interactive Resource"
|
16
|
-
],
|
17
|
-
"dc_rights_s": "Restricted",
|
18
|
-
"layer_geom_type_s": "Table",
|
19
|
-
"solr_geom": "ENVELOPE(-179.9,-64.4,71.6,-14.8)",
|
20
|
-
"dc_publisher_sm": [
|
21
|
-
"Social Explorer"
|
22
|
-
],
|
23
|
-
"dc_creator_sm": [
|
24
|
-
"Queens College (New York, N.Y.). Department of Sociology"
|
25
|
-
],
|
26
|
-
"dct_spatial_sm": [
|
27
|
-
"United States"
|
28
|
-
],
|
29
|
-
"dct_references_s": "{\"http://schema.org/url\":\"https://www.socialexplorer.com/\"}"
|
30
|
-
}
|
@@ -1,17 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"geoblacklight_version": "1.0",
|
3
|
-
"layer_modified_dt": "2020-01-17T15:31:30Z",
|
4
|
-
"layer_slug_s": "05d-03-noGeomType",
|
5
|
-
"dc_identifier_s": "05d-03-noGeomType",
|
6
|
-
"dc_title_s": "University of Minnesota Digital Conservancy DRUM",
|
7
|
-
"dc_description_s": "DRUM is a publicly available collection of digital research data generated by University of Minnesota researchers, students, and staff. Anyone can search and download the data housed in the repository, instantly or by request.",
|
8
|
-
"dc_publisher_sm": [
|
9
|
-
"University of Minnesota Digital Conservancy"
|
10
|
-
],
|
11
|
-
"dc_type_sm": [
|
12
|
-
"Collection"
|
13
|
-
],
|
14
|
-
"dct_provenance_s": "Minnesota",
|
15
|
-
"dc_rights_s": "Public",
|
16
|
-
"dct_references_s": "{\"http://schema.org/url\":\"https://conservancy.umn.edu/handle/11299/166578\"}"
|
17
|
-
}
|
@@ -1,23 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"geoblacklight_version": "1.0",
|
3
|
-
"layer_modified_dt": "2020-01-23T14:01:19Z",
|
4
|
-
"layer_slug_s": "05d-p16022coll246-noGeo",
|
5
|
-
"dc_identifier_s": "05d-p16022coll246-noGeo",
|
6
|
-
"dc_title_s": "Ames Library of South Asia Maps",
|
7
|
-
"dc_description_s": "A collection of maps covering Asia held by the University of Minnesota's Ames Library of South Asia.",
|
8
|
-
"dc_publisher_sm": [
|
9
|
-
"University of Minnesota"
|
10
|
-
],
|
11
|
-
"dc_type_sm": [
|
12
|
-
"Collection"
|
13
|
-
],
|
14
|
-
"layer_geom_type_s": "Table",
|
15
|
-
"dct_provenance_s": "Minnesota",
|
16
|
-
"dct_spatial_sm": [
|
17
|
-
"Asia",
|
18
|
-
"India",
|
19
|
-
"Afghanistan"
|
20
|
-
],
|
21
|
-
"dc_rights_s": "Public",
|
22
|
-
"dct_references_s": "{\"http://schema.org/url\":\"https://umedia.lib.umn.edu/search?facets[collection_name_s][]=Ames+Library+of+South+Asia+Maps\"}"
|
23
|
-
}
|
@@ -1,12 +0,0 @@
|
|
1
|
-
//= require geoblacklight
|
2
|
-
|
3
|
-
describe('setupInspection', function() {
|
4
|
-
describe('Inspect attribute on the map', function() {
|
5
|
-
it('identifyFeatures is defined', function() {
|
6
|
-
expect(L.esri.identifyFeatures).toBeDefined();
|
7
|
-
});
|
8
|
-
it('Tasks is not defined', function() {
|
9
|
-
expect(L.esri.Tasks).toBeUndefined();
|
10
|
-
});
|
11
|
-
});
|
12
|
-
});
|
@@ -1,32 +0,0 @@
|
|
1
|
-
// Teaspoon includes some support files, but you can use anything from your own support path too.
|
2
|
-
// require support/jasmine-jquery-1.7.0
|
3
|
-
// require support/jasmine-jquery-2.0.0
|
4
|
-
// require support/jasmine-jquery-2.1.0
|
5
|
-
// require support/sinon
|
6
|
-
// require support/your-support-file
|
7
|
-
//
|
8
|
-
// PhantomJS (Teaspoons default driver) doesn't have support for Function.prototype.bind, which has caused confusion.
|
9
|
-
// Use this polyfill to avoid the confusion.
|
10
|
-
//= require support/bind-poly
|
11
|
-
//
|
12
|
-
// You can require your own javascript files here. By default this will include everything in application, however you
|
13
|
-
// may get better load performance if you require the specific files that are being used in the spec that tests them.
|
14
|
-
//= require application
|
15
|
-
//
|
16
|
-
// Deferring execution
|
17
|
-
// If you're using CommonJS, RequireJS or some other asynchronous library you can defer execution. Call
|
18
|
-
// Teaspoon.execute() after everything has been loaded. Simple example of a timeout:
|
19
|
-
//
|
20
|
-
// Teaspoon.defer = true
|
21
|
-
// setTimeout(Teaspoon.execute, 1000)
|
22
|
-
//
|
23
|
-
// Matching files
|
24
|
-
// By default Teaspoon will look for files that match _spec.{js,js.coffee,.coffee}. Add a filename_spec.js file in your
|
25
|
-
// spec path and it'll be included in the default suite automatically. If you want to customize suites, check out the
|
26
|
-
// configuration in teaspoon_env.rb
|
27
|
-
//
|
28
|
-
// Manifest
|
29
|
-
// If you'd rather require your spec files manually (to control order for instance) you can disable the suite matcher in
|
30
|
-
// the configuration and use this file as a manifest.
|
31
|
-
//
|
32
|
-
// For more information: http://github.com/modeset/teaspoon
|
data/spec/teaspoon_env.rb
DELETED
@@ -1,214 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
unless defined?(Rails)
|
3
|
-
ENV['RAILS_ROOT'] = File.expand_path('../../', __FILE__)
|
4
|
-
require File.expand_path('../../config/environment', __FILE__)
|
5
|
-
end
|
6
|
-
|
7
|
-
# Teaspoon doesn't allow you to pass client driver options to the Selenium WebDriver. This monkey patch
|
8
|
-
# is a temporary fix until this PR is merged: https://github.com/jejacks0n/teaspoon/pull/519.
|
9
|
-
require 'teaspoon/driver/selenium'
|
10
|
-
|
11
|
-
Teaspoon::Driver::Selenium.class_eval do
|
12
|
-
def run_specs(runner, url)
|
13
|
-
driver = ::Selenium::WebDriver.for(
|
14
|
-
driver_options[:client_driver],
|
15
|
-
**driver_options[:selenium_options].to_hash.to_options
|
16
|
-
)
|
17
|
-
driver.navigate.to(url)
|
18
|
-
|
19
|
-
::Selenium::WebDriver::Wait.new(driver_options).until do
|
20
|
-
done = driver.execute_script('return window.Teaspoon && window.Teaspoon.finished')
|
21
|
-
driver.execute_script('return window.Teaspoon && window.Teaspoon.getMessages() || []').each do |line|
|
22
|
-
runner.process("#{line}\n")
|
23
|
-
end
|
24
|
-
done
|
25
|
-
end
|
26
|
-
ensure
|
27
|
-
driver&.quit
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
Teaspoon.configure do |config|
|
32
|
-
# Determines where the Teaspoon routes will be mounted. Changing this to "/jasmine" would allow you to browse to
|
33
|
-
# `http://localhost:3000/jasmine` to run your tests.
|
34
|
-
config.mount_at = '/teaspoon'
|
35
|
-
|
36
|
-
# Specifies the root where Teaspoon will look for files. If you're testing an engine using a dummy application it can
|
37
|
-
# be useful to set this to your engines root (e.g. `Teaspoon::Engine.root`).
|
38
|
-
# Note: Defaults to `Rails.root` if nil.
|
39
|
-
config.root = Geoblacklight::Engine.root
|
40
|
-
|
41
|
-
# Paths that will be appended to the Rails assets paths
|
42
|
-
# Note: Relative to `config.root`.
|
43
|
-
config.asset_paths = ['spec/javascripts', 'spec/javascripts/stylesheets']
|
44
|
-
|
45
|
-
# Fixtures are rendered through a controller, which allows using HAML, RABL/JBuilder, etc. Files in these paths will
|
46
|
-
# be rendered as fixtures.
|
47
|
-
config.fixture_paths = ['spec/javascripts/fixtures']
|
48
|
-
|
49
|
-
# SUITES
|
50
|
-
#
|
51
|
-
# You can modify the default suite configuration and create new suites here. Suites are isolated from one another.
|
52
|
-
#
|
53
|
-
# When defining a suite you can provide a name and a block. If the name is left blank, :default is assumed. You can
|
54
|
-
# omit various directives and the ones defined in the default suite will be used.
|
55
|
-
#
|
56
|
-
# To run a specific suite
|
57
|
-
# - in the browser: http://localhost/teaspoon/[suite_name]
|
58
|
-
# - with the rake task: rake teaspoon suite=[suite_name]
|
59
|
-
# - with the cli: teaspoon --suite=[suite_name]
|
60
|
-
config.suite do |suite|
|
61
|
-
# Specify the framework you would like to use. This allows you to select versions, and will do some basic setup for
|
62
|
-
# you -- which you can override with the directives below. This should be specified first, as it can override other
|
63
|
-
# directives.
|
64
|
-
# Note: If no version is specified, the latest is assumed.
|
65
|
-
#
|
66
|
-
# Versions: 1.3.1, 2.0.3, 2.1.3, 2.2.0
|
67
|
-
suite.use_framework :jasmine, '2.2.0'
|
68
|
-
|
69
|
-
# Specify a file matcher as a regular expression and all matching files will be loaded when the suite is run. These
|
70
|
-
# files need to be within an asset path. You can add asset paths using the `config.asset_paths`.
|
71
|
-
suite.matcher = '{spec/javascripts,app/assets}/**/*_spec.{js,js.coffee,coffee}'
|
72
|
-
|
73
|
-
# Load additional JS files, but requiring them in your spec helper is the preferred way to do this.
|
74
|
-
# suite.javascripts = []
|
75
|
-
|
76
|
-
# You can include your own stylesheets if you want to change how Teaspoon looks.
|
77
|
-
# Note: Spec related CSS can and should be loaded using fixtures.
|
78
|
-
# suite.stylesheets = ["teaspoon"]
|
79
|
-
|
80
|
-
# This suites spec helper, which can require additional support files. This file is loaded before any of your test
|
81
|
-
# files are loaded.
|
82
|
-
suite.helper = 'spec_helper'
|
83
|
-
|
84
|
-
# Partial to be rendered in the head tag of the runner. You can use the provided ones or define your own by creating
|
85
|
-
# a `_boot.html.erb` in your fixtures path, and adjust the config to `"/boot"` for instance.
|
86
|
-
#
|
87
|
-
# Available: boot, boot_require_js
|
88
|
-
suite.boot_partial = 'boot'
|
89
|
-
|
90
|
-
# Partial to be rendered in the body tag of the runner. You can define your own to create a custom body structure.
|
91
|
-
suite.body_partial = 'body'
|
92
|
-
|
93
|
-
# Hooks allow you to use `Teaspoon.hook("fixtures")` before, after, or during your spec run. This will make a
|
94
|
-
# synchronous Ajax request to the server that will call all of the blocks you've defined for that hook name.
|
95
|
-
# suite.hook :fixtures, &proc{}
|
96
|
-
|
97
|
-
# Determine whether specs loaded into the test harness should be embedded as individual script tags or concatenated
|
98
|
-
# into a single file. Similar to Rails' asset `debug: true` and `config.assets.debug = true` options. By default,
|
99
|
-
# Teaspoon expands all assets to provide more valuable stack traces that reference individual source files.
|
100
|
-
# suite.expand_assets = true
|
101
|
-
end
|
102
|
-
|
103
|
-
# Example suite. Since we're just filtering to files already within the root test/javascripts, these files will also
|
104
|
-
# be run in the default suite -- but can be focused into a more specific suite.
|
105
|
-
# config.suite :targeted do |suite|
|
106
|
-
# suite.matcher = "spec/javascripts/targeted/*_spec.{js,js.coffee,coffee}"
|
107
|
-
# end
|
108
|
-
|
109
|
-
# CONSOLE RUNNER SPECIFIC
|
110
|
-
#
|
111
|
-
# These configuration directives are applicable only when running via the rake task or command line interface. These
|
112
|
-
# directives can be overridden using the command line interface arguments or with ENV variables when using the rake
|
113
|
-
# task.
|
114
|
-
#
|
115
|
-
# Command Line Interface:
|
116
|
-
# teaspoon --driver=phantomjs --server-port=31337 --fail-fast=true --format=junit --suite=my_suite /spec/file_spec.js
|
117
|
-
#
|
118
|
-
# Rake:
|
119
|
-
# teaspoon DRIVER=phantomjs SERVER_PORT=31337 FAIL_FAST=true FORMATTERS=junit suite=my_suite
|
120
|
-
|
121
|
-
# Specify which headless driver to use. Supports PhantomJS and Selenium Webdriver.
|
122
|
-
#
|
123
|
-
# Available: :phantomjs, :selenium, :capybara_webkit
|
124
|
-
# PhantomJS: https://github.com/modeset/teaspoon/wiki/Using-PhantomJS
|
125
|
-
# Selenium Webdriver: https://github.com/modeset/teaspoon/wiki/Using-Selenium-WebDriver
|
126
|
-
# Capybara Webkit: https://github.com/modeset/teaspoon/wiki/Using-Capybara-Webkit
|
127
|
-
config.driver = :selenium
|
128
|
-
config.driver_options = {
|
129
|
-
client_driver: :chrome,
|
130
|
-
selenium_options: {
|
131
|
-
options: Selenium::WebDriver::Chrome::Options.new(args: ['headless', 'disable-gpu'])
|
132
|
-
}
|
133
|
-
}
|
134
|
-
|
135
|
-
# Specify additional options for the driver.
|
136
|
-
#
|
137
|
-
# PhantomJS: https://github.com/modeset/teaspoon/wiki/Using-PhantomJS
|
138
|
-
# Selenium Webdriver: https://github.com/modeset/teaspoon/wiki/Using-Selenium-WebDriver
|
139
|
-
# Capybara Webkit: https://github.com/modeset/teaspoon/wiki/Using-Capybara-Webkit
|
140
|
-
# config.driver_options = nil
|
141
|
-
|
142
|
-
# Specify the timeout for the driver. Specs are expected to complete within this time frame or the run will be
|
143
|
-
# considered a failure. This is to avoid issues that can arise where tests stall.
|
144
|
-
# config.driver_timeout = 180
|
145
|
-
|
146
|
-
# Specify a server to use with Rack (e.g. thin, mongrel). If nil is provided Rack::Server is used.
|
147
|
-
# config.server = nil
|
148
|
-
|
149
|
-
# Specify a port to run on a specific port, otherwise Teaspoon will use a random available port.
|
150
|
-
# config.server_port = nil
|
151
|
-
|
152
|
-
# Timeout for starting the server in seconds. If your server is slow to start you may have to bump this, or you may
|
153
|
-
# want to lower this if you know it shouldn't take long to start.
|
154
|
-
# config.server_timeout = 20
|
155
|
-
|
156
|
-
# Force Teaspoon to fail immediately after a failing suite. Can be useful to make Teaspoon fail early if you have
|
157
|
-
# several suites, but in environments like CI this may not be desirable.
|
158
|
-
# config.fail_fast = true
|
159
|
-
|
160
|
-
# Specify the formatters to use when outputting the results.
|
161
|
-
# Note: Output files can be specified by using `"junit>/path/to/output.xml"`.
|
162
|
-
#
|
163
|
-
# Available: :dot, :clean, :documentation, :json, :junit, :pride, :rspec_html, :snowday, :swayze_or_oprah, :tap, :tap_y, :teamcity
|
164
|
-
# config.formatters = [:dot]
|
165
|
-
|
166
|
-
# Specify if you want color output from the formatters.
|
167
|
-
# config.color = true
|
168
|
-
|
169
|
-
# Teaspoon pipes all console[log/debug/error] to $stdout. This is useful to catch places where you've forgotten to
|
170
|
-
# remove them, but in verbose applications this may not be desirable.
|
171
|
-
# config.suppress_log = false
|
172
|
-
|
173
|
-
# COVERAGE REPORTS / THRESHOLD ASSERTIONS
|
174
|
-
#
|
175
|
-
# Coverage reports requires Istanbul (https://github.com/gotwarlost/istanbul) to add instrumentation to your code and
|
176
|
-
# display coverage statistics.
|
177
|
-
#
|
178
|
-
# Coverage configurations are similar to suites. You can define several, and use different ones under different
|
179
|
-
# conditions.
|
180
|
-
#
|
181
|
-
# To run with a specific coverage configuration
|
182
|
-
# - with the rake task: rake teaspoon USE_COVERAGE=[coverage_name]
|
183
|
-
# - with the cli: teaspoon --coverage=[coverage_name]
|
184
|
-
|
185
|
-
# Specify that you always want a coverage configuration to be used. Otherwise, specify that you want coverage
|
186
|
-
# on the CLI.
|
187
|
-
# Set this to "true" or the name of your coverage config.
|
188
|
-
# config.use_coverage = nil
|
189
|
-
|
190
|
-
# You can have multiple coverage configs by passing a name to config.coverage.
|
191
|
-
# e.g. config.coverage :ci do |coverage|
|
192
|
-
# The default coverage config name is :default.
|
193
|
-
config.coverage do |coverage|
|
194
|
-
# Which coverage reports Istanbul should generate. Correlates directly to what Istanbul supports.
|
195
|
-
#
|
196
|
-
# Available: text-summary, text, html, lcov, lcovonly, cobertura, teamcity
|
197
|
-
# coverage.reports = ["text-summary", "html"]
|
198
|
-
|
199
|
-
# The path that the coverage should be written to - when there's an artifact to write to disk.
|
200
|
-
# Note: Relative to `config.root`.
|
201
|
-
# coverage.output_path = "coverage"
|
202
|
-
|
203
|
-
# Assets to be ignored when generating coverage reports. Accepts an array of filenames or regular expressions. The
|
204
|
-
# default excludes assets from vendor, gems and support libraries.
|
205
|
-
# coverage.ignore = [%r{/lib/ruby/gems/}, %r{/vendor/assets/}, %r{/support/}, %r{/(.+)_helper.}]
|
206
|
-
|
207
|
-
# Various thresholds requirements can be defined, and those thresholds will be checked at the end of a run. If any
|
208
|
-
# aren't met the run will fail with a message. Thresholds can be defined as a percentage (0-100), or nil.
|
209
|
-
# coverage.statements = nil
|
210
|
-
# coverage.functions = nil
|
211
|
-
# coverage.branches = nil
|
212
|
-
# coverage.lines = nil
|
213
|
-
end
|
214
|
-
end
|