arclight 0.1.0 → 1.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (247) hide show
  1. checksums.yaml +5 -5
  2. data/.all-contributorsrc +450 -0
  3. data/.codeclimate.yml +5 -0
  4. data/.eslintrc +14 -4
  5. data/.github/workflows/ruby.yml +51 -0
  6. data/.gitignore +2 -0
  7. data/.rspec +0 -1
  8. data/.rubocop.yml +503 -48
  9. data/.rubocop_todo.yml +122 -0
  10. data/.solr_wrapper +2 -1
  11. data/CONTRIBUTING.md +5 -5
  12. data/CONTRIBUTORS.md +79 -0
  13. data/Gemfile +15 -10
  14. data/README.md +47 -32
  15. data/Rakefile +0 -1
  16. data/app/assets/images/blacklight/bookmark.svg +1 -0
  17. data/app/assets/images/blacklight/collection.svg +5 -0
  18. data/app/assets/images/blacklight/compact.svg +1 -25
  19. data/app/assets/images/blacklight/container.svg +5 -0
  20. data/app/assets/images/blacklight/ead.svg +1 -0
  21. data/app/assets/images/blacklight/file.svg +5 -0
  22. data/app/assets/images/blacklight/folder.svg +1 -0
  23. data/app/assets/images/blacklight/list.svg +1 -0
  24. data/app/assets/images/blacklight/minus.svg +1 -0
  25. data/app/assets/images/blacklight/online.svg +5 -0
  26. data/app/assets/images/blacklight/pdf.svg +1 -0
  27. data/app/assets/images/blacklight/plus.svg +1 -0
  28. data/app/assets/images/blacklight/repository.svg +1 -0
  29. data/app/assets/javascripts/arclight/arclight.js +4 -9
  30. data/app/assets/javascripts/arclight/oembed_controller.js +58 -0
  31. data/app/assets/javascripts/arclight/truncate_controller.js +27 -0
  32. data/app/assets/stylesheets/arclight/application.scss +4 -3
  33. data/app/assets/stylesheets/arclight/build.scss +4 -0
  34. data/app/assets/stylesheets/arclight/modules/hierarchy_and_online_contents.scss +117 -136
  35. data/app/assets/stylesheets/arclight/modules/highlights.scss +3 -2
  36. data/app/assets/stylesheets/arclight/modules/icons.scss +20 -0
  37. data/app/assets/stylesheets/arclight/modules/layout.scss +203 -16
  38. data/app/assets/stylesheets/arclight/modules/mastheads.scss +27 -45
  39. data/app/assets/stylesheets/arclight/modules/repositories.scss +3 -7
  40. data/app/assets/stylesheets/arclight/modules/repository_card.scss +5 -50
  41. data/app/assets/stylesheets/arclight/modules/search_form.scss +9 -0
  42. data/app/assets/stylesheets/arclight/modules/search_results.scss +200 -25
  43. data/app/assets/stylesheets/arclight/modules/show_collection.scss +21 -61
  44. data/app/assets/stylesheets/arclight/modules/truncator.scss +58 -0
  45. data/app/assets/stylesheets/arclight/responsive.scss +13 -0
  46. data/app/assets/stylesheets/arclight/variables.scss +25 -2
  47. data/app/components/arclight/access_component.html.erb +14 -0
  48. data/app/components/arclight/access_component.rb +25 -0
  49. data/app/components/arclight/bookmark_component.html.erb +25 -0
  50. data/app/components/arclight/bookmark_component.rb +9 -0
  51. data/app/components/arclight/breadcrumb_component.rb +50 -0
  52. data/app/components/arclight/breadcrumbs_hierarchy_component.html.erb +34 -0
  53. data/app/components/arclight/breadcrumbs_hierarchy_component.rb +25 -0
  54. data/app/components/arclight/collection_context_component.html.erb +12 -0
  55. data/app/components/arclight/collection_context_component.rb +27 -0
  56. data/app/components/arclight/collection_info_component.html.erb +28 -0
  57. data/app/components/arclight/collection_info_component.rb +26 -0
  58. data/app/components/arclight/collection_sidebar_component.html.erb +15 -0
  59. data/app/components/arclight/collection_sidebar_component.rb +39 -0
  60. data/app/{views/catalog/_search_results_repository.html.erb → components/arclight/constraints_component.html.erb} +2 -1
  61. data/app/components/arclight/constraints_component.rb +17 -0
  62. data/app/components/arclight/document_collection_context_component.html.erb +29 -0
  63. data/app/components/arclight/document_collection_context_component.rb +28 -0
  64. data/app/components/arclight/document_collection_hierarchy_component.html.erb +50 -0
  65. data/app/components/arclight/document_collection_hierarchy_component.rb +62 -0
  66. data/app/components/arclight/document_component.html.erb +39 -0
  67. data/app/components/arclight/document_component.rb +49 -0
  68. data/app/components/arclight/document_components_hierarchy_component.html.erb +20 -0
  69. data/app/components/arclight/document_components_hierarchy_component.rb +34 -0
  70. data/app/components/arclight/document_download_component.html.erb +24 -0
  71. data/app/components/arclight/document_download_component.rb +71 -0
  72. data/app/components/arclight/embed_component.html.erb +10 -0
  73. data/app/components/arclight/embed_component.rb +43 -0
  74. data/app/components/arclight/expand_hierarchy_button_component.html.erb +5 -0
  75. data/app/components/arclight/expand_hierarchy_button_component.rb +16 -0
  76. data/app/components/arclight/group_component.html.erb +34 -0
  77. data/app/components/arclight/group_component.rb +23 -0
  78. data/app/components/arclight/header_component.html.erb +5 -0
  79. data/app/components/arclight/header_component.rb +10 -0
  80. data/app/components/arclight/index_metadata_field_component.html.erb +16 -0
  81. data/app/components/arclight/index_metadata_field_component.rb +20 -0
  82. data/app/components/arclight/masthead_component.html.erb +17 -0
  83. data/app/components/arclight/masthead_component.rb +10 -0
  84. data/app/components/arclight/metadata_section_component.html.erb +13 -0
  85. data/app/components/arclight/metadata_section_component.rb +22 -0
  86. data/app/components/arclight/oembed_viewer_component.html.erb +5 -0
  87. data/app/components/arclight/oembed_viewer_component.rb +16 -0
  88. data/app/components/arclight/online_content_filter_component.html.erb +15 -0
  89. data/app/components/arclight/online_content_filter_component.rb +17 -0
  90. data/app/components/arclight/online_status_indicator_component.rb +19 -0
  91. data/app/components/arclight/repository_breadcrumb_component.html.erb +10 -0
  92. data/app/components/arclight/repository_breadcrumb_component.rb +17 -0
  93. data/app/components/arclight/repository_location_component.html.erb +20 -0
  94. data/app/components/arclight/repository_location_component.rb +10 -0
  95. data/app/components/arclight/search_bar_component.html.erb +27 -0
  96. data/app/components/arclight/search_bar_component.rb +32 -0
  97. data/app/components/arclight/search_result_breadcrumbs_component.html.erb +6 -0
  98. data/app/components/arclight/search_result_breadcrumbs_component.rb +37 -0
  99. data/app/components/arclight/search_result_component.html.erb +20 -0
  100. data/app/components/arclight/search_result_component.rb +18 -0
  101. data/app/components/arclight/search_result_title_component.html.erb +15 -0
  102. data/app/components/arclight/search_result_title_component.rb +15 -0
  103. data/app/components/arclight/sidebar_component.html.erb +9 -0
  104. data/app/components/arclight/sidebar_component.rb +19 -0
  105. data/app/components/arclight/upper_metadata_layout_component.rb +10 -0
  106. data/app/components/blacklight/icons/bookmark_component.rb +12 -0
  107. data/app/components/blacklight/icons/collection_component.rb +14 -0
  108. data/app/components/blacklight/icons/compact_component.rb +12 -0
  109. data/app/components/blacklight/icons/container_component.rb +14 -0
  110. data/app/components/blacklight/icons/ead_component.rb +12 -0
  111. data/app/components/blacklight/icons/file_component.rb +14 -0
  112. data/app/components/blacklight/icons/folder_component.rb +12 -0
  113. data/app/components/blacklight/icons/online_component.rb +15 -0
  114. data/app/components/blacklight/icons/pdf_component.rb +12 -0
  115. data/app/components/blacklight/icons/repository_component.rb +12 -0
  116. data/app/controllers/arclight/repositories_controller.rb +4 -4
  117. data/app/helpers/arclight/ead_format_helpers.rb +309 -0
  118. data/app/helpers/arclight/field_config_helpers.rb +26 -0
  119. data/app/helpers/arclight_helper.rb +55 -120
  120. data/app/models/arclight/document_downloads.rb +122 -0
  121. data/app/models/arclight/parent.rb +9 -9
  122. data/app/models/arclight/parents.rb +9 -4
  123. data/app/models/arclight/requests/aeon_external_request.rb +42 -0
  124. data/app/models/arclight/requests/aeon_web_ead.rb +52 -0
  125. data/app/models/arclight/requests/google_form.rb +8 -3
  126. data/app/models/concerns/arclight/catalog.rb +33 -11
  127. data/app/models/concerns/arclight/search_behavior.rb +22 -21
  128. data/app/models/concerns/arclight/solr_document.rb +88 -59
  129. data/app/presenters/arclight/show_presenter.rb +34 -7
  130. data/app/views/arclight/_requests.html.erb +7 -0
  131. data/app/views/arclight/repositories/_repository.html.erb +22 -41
  132. data/app/views/arclight/repositories/index.html.erb +5 -0
  133. data/app/views/arclight/repositories/show.html.erb +7 -8
  134. data/app/views/arclight/requests/_aeon_external_request_endpoint.html.erb +8 -0
  135. data/app/views/arclight/requests/_aeon_web_ead.html.erb +6 -0
  136. data/app/views/arclight/requests/_google_form.html.erb +4 -5
  137. data/app/views/catalog/_document_list.html.erb +8 -0
  138. data/app/views/catalog/_group.html.erb +4 -0
  139. data/app/views/catalog/_group_toggle.html.erb +10 -0
  140. data/app/views/catalog/_search_results_header.html.erb +3 -0
  141. data/app/views/catalog/hierarchy.html.erb +19 -0
  142. data/app/views/catalog/index.html.erb +16 -7
  143. data/app/views/shared/_breadcrumbs.html.erb +3 -15
  144. data/app/views/shared/_main_menu_links.html.erb +1 -1
  145. data/arclight.gemspec +22 -17
  146. data/config/breadcrumbs.rb +24 -0
  147. data/config/i18n-tasks.yml +134 -0
  148. data/config/importmap.rb +3 -0
  149. data/config/locales/arclight.en.yml +90 -55
  150. data/config/routes.rb +1 -1
  151. data/docker-compose.yml +16 -0
  152. data/lib/arclight/digital_object.rb +2 -1
  153. data/lib/arclight/engine.rb +23 -31
  154. data/lib/arclight/exceptions.rb +1 -0
  155. data/lib/arclight/hash_absolute_xpath.rb +62 -0
  156. data/lib/arclight/level_label.rb +46 -0
  157. data/lib/arclight/missing_id_strategy.rb +21 -0
  158. data/lib/arclight/normalized_date.rb +24 -20
  159. data/lib/arclight/normalized_id.rb +7 -2
  160. data/lib/arclight/normalized_title.rb +3 -0
  161. data/lib/arclight/repository.rb +72 -47
  162. data/lib/arclight/routes/hierarchy.rb +19 -0
  163. data/lib/arclight/routes.rb +8 -0
  164. data/lib/arclight/traject/ead2_component_config.rb +335 -0
  165. data/lib/arclight/traject/ead2_config.rb +316 -0
  166. data/lib/arclight/traject/nokogiri_namespaceless_reader.rb +22 -0
  167. data/lib/arclight/version.rb +1 -1
  168. data/lib/arclight/year_range.rb +13 -4
  169. data/lib/arclight.rb +6 -1
  170. data/lib/generators/arclight/install_generator.rb +110 -10
  171. data/lib/generators/arclight/templates/arclight.scss +6 -3
  172. data/lib/generators/arclight/templates/catalog_controller.rb +249 -173
  173. data/lib/generators/arclight/templates/config/downloads.yml +12 -0
  174. data/lib/generators/arclight/templates/config/locales/arclight.en.yml +61 -0
  175. data/lib/generators/arclight/templates/config/repositories.yml +42 -31
  176. data/lib/generators/arclight/update_generator.rb +1 -1
  177. data/lib/tasks/index.rake +25 -28
  178. data/package.json +15 -9
  179. data/solr/conf/schema.xml +101 -332
  180. data/solr/conf/solrconfig.xml +99 -164
  181. data/tasks/arclight.rake +22 -11
  182. data/template.rb +6 -11
  183. metadata +230 -105
  184. data/.travis.yml +0 -33
  185. data/app/assets/javascripts/arclight/collection_context.js +0 -18
  186. data/app/assets/javascripts/arclight/collection_navigation.js +0 -114
  187. data/app/assets/javascripts/arclight/collection_scrollspy.js +0 -6
  188. data/app/assets/javascripts/arclight/component_ancestors.js +0 -56
  189. data/app/assets/javascripts/arclight/oembed_viewer.js +0 -39
  190. data/app/assets/javascripts/arclight/truncator.js.erb +0 -23
  191. data/app/assets/stylesheets/arclight/bootstrap_overrides.scss +0 -3
  192. data/app/assets/stylesheets/arclight/modules/sidebar.scss +0 -16
  193. data/app/controllers/concerns/arclight/field_config_helpers.rb +0 -86
  194. data/app/factories/blacklight_field_configuration_factory.rb +0 -29
  195. data/app/views/arclight/repositories/_in_person_repository.html.erb +0 -19
  196. data/app/views/arclight/viewers/_oembed.html.erb +0 -7
  197. data/app/views/catalog/_arclight_document_index_header.html.erb +0 -13
  198. data/app/views/catalog/_arclight_document_index_header_online_contents_default.html.erb +0 -0
  199. data/app/views/catalog/_arclight_document_show_header.html.erb +0 -15
  200. data/app/views/catalog/_arclight_document_show_header_collection.html.erb +0 -12
  201. data/app/views/catalog/_arclight_index_compact_default.html.erb +0 -15
  202. data/app/views/catalog/_arclight_online_content_indicator.html.erb +0 -5
  203. data/app/views/catalog/_arclight_rangelimit.html.erb +0 -24
  204. data/app/views/catalog/_arclight_viewer_default.html.erb +0 -1
  205. data/app/views/catalog/_collection_contents.html.erb +0 -12
  206. data/app/views/catalog/_collection_count.html.erb +0 -7
  207. data/app/views/catalog/_collection_downloads.html.erb +0 -17
  208. data/app/views/catalog/_collection_online_contents.html.erb +0 -17
  209. data/app/views/catalog/_collection_overview.html.erb +0 -7
  210. data/app/views/catalog/_component_overview.html.erb +0 -46
  211. data/app/views/catalog/_context_card.html.erb +0 -27
  212. data/app/views/catalog/_context_sidebar.html.erb +0 -8
  213. data/app/views/catalog/_custom_metadata.html.erb +0 -16
  214. data/app/views/catalog/_home.html.erb +0 -1
  215. data/app/views/catalog/_index_breadcrumb_default.html.erb +0 -3
  216. data/app/views/catalog/_index_default.html.erb +0 -17
  217. data/app/views/catalog/_index_header.html.erb +0 -7
  218. data/app/views/catalog/_index_header_hierarchy_default.html.erb +0 -42
  219. data/app/views/catalog/_index_header_online_contents_default.html.erb +0 -1
  220. data/app/views/catalog/_index_hierarchy_default.html.erb +0 -28
  221. data/app/views/catalog/_index_online_contents_default.html.erb +0 -6
  222. data/app/views/catalog/_results_histogram.html.erb +0 -10
  223. data/app/views/catalog/_search_results.html.erb +0 -31
  224. data/app/views/catalog/_search_within_form.html.erb +0 -16
  225. data/app/views/catalog/_show_breadcrumbs_default.html.erb +0 -7
  226. data/app/views/catalog/_show_collection.html.erb +0 -40
  227. data/app/views/catalog/_show_component_sidebar.html.erb +0 -12
  228. data/app/views/catalog/_show_default.html.erb +0 -32
  229. data/app/views/catalog/_show_header.html.erb +0 -5
  230. data/app/views/catalog/_show_sidebar.html.erb +0 -30
  231. data/app/views/layouts/catalog_result.html.erb +0 -7
  232. data/app/views/shared/_context_sidebar.html.erb +0 -8
  233. data/app/views/shared/_header_navbar.html.erb +0 -54
  234. data/lib/arclight/custom_component.rb +0 -98
  235. data/lib/arclight/custom_document.rb +0 -93
  236. data/lib/arclight/indexer.rb +0 -9
  237. data/lib/arclight/shared_indexing_behavior.rb +0 -97
  238. data/lib/arclight/shared_terminology_behavior.rb +0 -65
  239. data/lib/arclight/solr_ead_indexer_ext.rb +0 -159
  240. data/lib/arclight/viewer.rb +0 -45
  241. data/lib/arclight/viewers/oembed.rb +0 -56
  242. data/lib/generators/arclight/templates/arclight.js +0 -2
  243. data/solr/conf/scripts.conf +0 -24
  244. data/vendor/assets/javascripts/responsiveTruncator.js +0 -69
  245. data/vendor/assets/javascripts/stickyfill.js +0 -480
  246. /data/app/assets/images/{blacklight → arclight}/logo.png +0 -0
  247. /data/{app/views/catalog/_arclight_document_index_header_hierarchy_default.html.erb → config/repositories.yml} +0 -0
@@ -28,8 +28,9 @@
28
28
  that you fully re-index after changing this setting as it can
29
29
  affect both how text is indexed and queried.
30
30
  -->
31
- <luceneMatchVersion>5.0.0</luceneMatchVersion>
31
+ <luceneMatchVersion>8.2.0</luceneMatchVersion>
32
32
 
33
+ <lib dir="${solr.install.dir:../../../..}/modules/analysis-extras/lib" />
33
34
  <lib dir="${solr.install.dir:../../../..}/contrib/analysis-extras/lib" />
34
35
  <lib dir="${solr.install.dir:../../../..}/contrib/analysis-extras/lucene-libs" />
35
36
 
@@ -74,7 +75,15 @@
74
75
  <int name="rows">10</int>
75
76
 
76
77
  <str name="q.alt">*:*</str>
77
- <str name="mm">2&lt;-1 5&lt;-2 6&lt;90%</str>
78
+
79
+ <!-- Minimum Should Match parameter (mm) -->
80
+ <str name="mm">4&lt;90%</str>
81
+ <!-- 1-4 term query, all must match
82
+ 5+ term query, 90% must match; rounded down, so e.g.:
83
+ * 5-10 term query, all but one must match
84
+ * 11-20 term query, all but two must match
85
+ * 21-29 term query, all but three must match, etc.
86
+ -->
78
87
 
79
88
  <!-- this qf and pf are used by default, if not otherwise specified by
80
89
  client. The default blacklight_config will use these for the
@@ -84,59 +93,106 @@
84
93
  http://wiki.apache.org/solr/LocalParams
85
94
  -->
86
95
 
96
+ <!-- In general, matches using the pf parameter should be boosted higher
97
+ than qf, so the proximity of multiple search terms in the matching
98
+ documents is significant in relevance scoring. See:
99
+ https://solr.apache.org/guide/solr/latest/query-guide/dismax-query-parser.html#pf-phrase-fields-parameter
100
+ -->
87
101
  <str name="qf">
102
+ collection_title_tesim^150
88
103
  title_tesim^100
89
- text^10
104
+ normalized_title_teim^100
105
+ unitid_identifier_match^40
106
+ name_teim^10
107
+ place_teim^10
108
+ subject_teim^2
109
+ id
110
+ ead_ssi
111
+ ref_ssm
112
+ unitid_ssm
113
+ container_teim
114
+ parent_unittitles_tesim
115
+ text
90
116
  </str>
91
117
  <str name="pf">
92
- title_tesim^100
93
- text^10
118
+ collection_title_tesim^300
119
+ title_tesim^200
120
+ normalized_title_teim^200
121
+ unitid_identifier_match^80
122
+ name_teim^20
123
+ place_teim^20
124
+ subject_teim^5
125
+ id^2
126
+ ead_ssi^2
127
+ ref_ssm^2
128
+ unitid_ssm^2
129
+ container_teim^2
130
+ parent_unittitles_tesim^2
131
+ text^2
132
+ </str>
133
+
134
+ <str name="qf_container">
135
+ container_teim
136
+ </str>
137
+ <str name="pf_container">
138
+ container_teim^2
139
+ </str>
140
+ <str name="qf_identifier">
141
+ id
142
+ ead_ssi
143
+ ref_ssm
144
+ unitid_ssm
145
+ unitid_identifier_match
146
+ </str>
147
+ <str name="pf_identifier">
148
+ id^2
149
+ ead_ssi^2
150
+ ref_ssm^2
151
+ unitid_ssm^2
152
+ unitid_identifier_match^2
153
+ </str>
154
+ <str name="qf_name">
155
+ name_teim
156
+ </str>
157
+ <str name="pf_name">
158
+ name_teim^2
159
+ </str>
160
+ <str name="qf_place">
161
+ place_teim
162
+ </str>
163
+ <str name="pf_place">
164
+ place_teim^2
165
+ </str>
166
+ <str name="qf_subject">
167
+ subject_teim
168
+ </str>
169
+ <str name="pf_subject">
170
+ subject_teim^2
171
+ </str>
172
+ <str name="qf_title">
173
+ title_tesim
174
+ normalized_title_teim
175
+ </str>
176
+ <str name="pf_title">
177
+ title_tesim^2
178
+ normalized_title_teim^2
94
179
  </str>
95
180
 
96
181
  <int name="ps">3</int>
97
182
  <float name="tie">0.01</float>
98
183
 
99
- <str name="fl">
100
- id,
101
- score,
102
- abstract_ssm,
103
- accessrestrict_ssm,
104
- child_component_count_isim,
105
- collection_ssm,
106
- containers_ssim,
107
- creator_ssm,
108
- extent_ssm,
109
- geogname_ssm,
110
- has_online_content_ssim,
111
- language_ssm,
112
- level_ssm,
113
- repository_ssm,
114
- scopecontent_ssm,
115
- title_ssm,
116
- normalized_title_ssm,
117
- normalized_date_ssm,
118
- unitid_ssm,
119
- parent_ssm,
120
- parent_unittitles_ssm,
121
- ead_ssi,
122
- ref_ssm,
123
- component_level_isim,
124
- parent_access_restrict_ssm,
125
- parent_access_terms_ssm,
126
- names_coll_ssim
127
- places_ssim
128
- </str>
184
+ <str name="fl">*</str>
129
185
 
130
186
  <str name="facet">true</str>
131
187
  <str name="facet.mincount">1</str>
132
- <str name="facet.field">level_sim</str>
133
- <str name="facet.field">creator_sim</str>
134
- <str name="facet.field">date_range_sim</str>
135
- <str name="facet.field">names_sim</str>
136
- <str name="facet.field">geogname_sim</str>
137
- <str name="facet.field">access_subjects_sim</str>
138
- <str name="facet.field">repository_sim</str>
139
- <str name="facet.field">collection_sim</str>
188
+ <str name="facet.field">level_ssim</str>
189
+ <str name="facet.field">creator_ssim</str>
190
+ <str name="facet.field">date_range_isim</str>
191
+ <str name="facet.field">names_ssim</str>
192
+ <str name="facet.field">geogname_ssim</str>
193
+ <str name="facet.field">access_subjects_ssim</str>
194
+ <str name="facet.field">repository_ssim</str>
195
+ <str name="facet.field">collection_ssim</str>
140
196
 
141
197
  <str name="spellcheck">true</str>
142
198
  <str name="spellcheck.dictionary">default</str>
@@ -150,127 +206,6 @@
150
206
  </arr>
151
207
  </requestHandler>
152
208
 
153
- <!-- Field-based searches -->
154
- <requestHandler name="name_search" class="solr.SearchHandler">
155
- <lst name="defaults">
156
- <str name="defType">edismax</str>
157
- <str name="echoParams">explicit</str>
158
- <int name="rows">10</int>
159
- <str name="q.alt">*:*</str>
160
- <str name="mm">2&lt;-1 5&lt;-2 6&lt;90%</str>
161
- <str name="df">name_tesim</str>
162
- <str name="q.op">AND</str>
163
-
164
- <str name="qf">
165
- name_tesim
166
- </str>
167
- <str name="pf">
168
- name_tesim
169
- </str>
170
-
171
- <str name="fl">*</str>
172
- <str name="facet">true</str>
173
- <str name="facet.mincount">1</str>
174
- <str name="facet.field">level_sim</str>
175
- <str name="facet.field">creator_sim</str>
176
- <str name="facet.field">date_range_sim</str>
177
- <str name="facet.field">names_sim</str>
178
- <str name="facet.field">geogname_sim</str>
179
- <str name="facet.field">access_subjects_sim</str>
180
- <str name="facet.field">repository_sim</str>
181
- </lst>
182
- </requestHandler>
183
-
184
- <requestHandler name="place_search" class="solr.SearchHandler">
185
- <lst name="defaults">
186
- <str name="defType">edismax</str>
187
- <str name="echoParams">explicit</str>
188
- <int name="rows">10</int>
189
- <str name="q.alt">*:*</str>
190
- <str name="mm">2&lt;-1 5&lt;-2 6&lt;90%</str>
191
- <str name="df">place_tesim</str>
192
- <str name="q.op">AND</str>
193
-
194
- <str name="qf">
195
- place_tesim
196
- </str>
197
- <str name="pf">
198
- place_tesim
199
- </str>
200
-
201
- <str name="fl">*</str>
202
- <str name="facet">true</str>
203
- <str name="facet.mincount">1</str>
204
- <str name="facet.field">level_sim</str>
205
- <str name="facet.field">creator_sim</str>
206
- <str name="facet.field">date_range_sim</str>
207
- <str name="facet.field">names_sim</str>
208
- <str name="facet.field">geogname_sim</str>
209
- <str name="facet.field">access_subjects_sim</str>
210
- <str name="facet.field">repository_sim</str>
211
- </lst>
212
- </requestHandler>
213
-
214
- <requestHandler name="subject_search" class="solr.SearchHandler">
215
- <lst name="defaults">
216
- <str name="defType">edismax</str>
217
- <str name="echoParams">explicit</str>
218
- <int name="rows">10</int>
219
- <str name="q.alt">*:*</str>
220
- <str name="mm">2&lt;-1 5&lt;-2 6&lt;90%</str>
221
- <str name="df">subject_tesim</str>
222
- <str name="q.op">AND</str>
223
-
224
- <str name="qf">
225
- subject_tesim
226
- </str>
227
- <str name="pf">
228
- subject_tesim
229
- </str>
230
-
231
- <str name="fl">*</str>
232
- <str name="facet">true</str>
233
- <str name="facet.mincount">1</str>
234
- <str name="facet.field">level_sim</str>
235
- <str name="facet.field">creator_sim</str>
236
- <str name="facet.field">date_range_sim</str>
237
- <str name="facet.field">names_sim</str>
238
- <str name="facet.field">geogname_sim</str>
239
- <str name="facet.field">access_subjects_sim</str>
240
- <str name="facet.field">repository_sim</str>
241
- </lst>
242
- </requestHandler>
243
-
244
- <requestHandler name="title_search" class="solr.SearchHandler">
245
- <lst name="defaults">
246
- <str name="defType">edismax</str>
247
- <str name="echoParams">explicit</str>
248
- <int name="rows">10</int>
249
- <str name="q.alt">*:*</str>
250
- <str name="mm">2&lt;-1 5&lt;-2 6&lt;90%</str>
251
- <str name="df">title_tesim</str>
252
- <str name="q.op">AND</str>
253
-
254
- <str name="qf">
255
- title_tesim
256
- </str>
257
- <str name="pf">
258
- title_tesim
259
- </str>
260
-
261
- <str name="fl">*</str>
262
- <str name="facet">true</str>
263
- <str name="facet.mincount">1</str>
264
- <str name="facet.field">level_sim</str>
265
- <str name="facet.field">creator_sim</str>
266
- <str name="facet.field">date_range_sim</str>
267
- <str name="facet.field">names_sim</str>
268
- <str name="facet.field">geogname_sim</str>
269
- <str name="facet.field">access_subjects_sim</str>
270
- <str name="facet.field">repository_sim</str>
271
- </lst>
272
- </requestHandler>
273
-
274
209
  <!-- for requests to get a single document; use id=666 instead of q=id:666 -->
275
210
  <requestHandler name="document" class="solr.SearchHandler" >
276
211
  <lst name="defaults">
data/tasks/arclight.rake CHANGED
@@ -5,7 +5,14 @@ require 'engine_cart/rake_task'
5
5
  require 'rspec/core/rake_task'
6
6
  require 'arclight'
7
7
 
8
- EngineCart.fingerprint_proc = EngineCart.rails_fingerprint_proc
8
+ class DependencyNotInstalled < StandardError; end
9
+
10
+ # Build with our opinionated defaults if none are provided.
11
+ rails_options = ENV.fetch('ENGINE_CART_RAILS_OPTIONS', '')
12
+ rails_options = "#{rails_options} -a propshaft" unless rails_options.match?(/-a\s|--asset-pipeline/)
13
+ rails_options = "#{rails_options} -j importmap" unless rails_options.match?(/-j\s|--javascript/)
14
+ rails_options = "#{rails_options} --css bootstrap" unless rails_options.match?(/--css/)
15
+ ENV['ENGINE_CART_RAILS_OPTIONS'] = rails_options
9
16
 
10
17
  desc 'Run test suite'
11
18
  task ci: %w[arclight:generate] do
@@ -13,7 +20,7 @@ task ci: %w[arclight:generate] do
13
20
  solr.with_collection do
14
21
  Rake::Task['arclight:seed'].invoke
15
22
  within_test_app do
16
- ## Do stuff inside arclight app here
23
+ system 'bin/rake spec:prepare'
17
24
  end
18
25
  Rake::Task['spec'].invoke
19
26
  end
@@ -22,7 +29,9 @@ end
22
29
 
23
30
  desc 'Run Eslint'
24
31
  task :eslint do
25
- system './node_modules/.bin/eslint app/assets/javascripts'
32
+ raise DependencyNotInstalled, 'ESLint not found. Please run yarn install.' unless File.exist?('./node_modules/.bin/eslint')
33
+
34
+ exit 1 unless system './node_modules/.bin/eslint app/assets/javascripts'
26
35
  end
27
36
 
28
37
  namespace :arclight do
@@ -45,7 +54,7 @@ namespace :arclight do
45
54
  solr.with_collection do
46
55
  Rake::Task['arclight:seed'].invoke
47
56
  within_test_app do
48
- system "bundle exec rails s #{args[:rails_server_args]}"
57
+ system "bin/dev #{args[:rails_server_args]}"
49
58
  end
50
59
  end
51
60
  end
@@ -54,15 +63,17 @@ namespace :arclight do
54
63
  desc 'Seed fixture data to Solr'
55
64
  task :seed do
56
65
  puts 'Seeding index with data from spec/fixtures/ead...'
57
- Dir.glob('spec/fixtures/ead/*.xml').each do |file|
58
- system("FILE=#{file} rake arclight:index") # no REPOSITORY_ID
59
- end
60
66
  Dir.glob('spec/fixtures/ead/*').each do |dir|
61
67
  next unless File.directory?(dir)
62
- system("REPOSITORY_ID=#{File.basename(dir)} " \
63
- 'REPOSITORY_FILE=spec/fixtures/config/repositories.yml ' \
64
- "DIR=#{dir} " \
65
- 'rake arclight:index_dir')
68
+
69
+ within_test_app do
70
+ # Sets the REPOSITORY_ID to the name of the file's containing directory
71
+ system("REPOSITORY_ID=#{File.basename(dir)} " \
72
+ "REPOSITORY_FILE=#{Arclight::Engine.root}/spec/fixtures/config/repositories.yml " \
73
+ "DIR=#{Arclight::Engine.root}/#{dir} " \
74
+ 'SOLR_URL=http://127.0.0.1:8983/solr/blacklight-core ' \
75
+ 'rake arclight:index_dir')
76
+ end
66
77
  end
67
78
  end
68
79
  end
data/template.rb CHANGED
@@ -1,15 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # We can remove `blacklight` and `blacklight_range_limit` once they are released
4
- # since they are already dependents of Arclight (but we need to pin to particular branches)
5
- gem 'blacklight', github: 'projectblacklight/blacklight'
6
- gem 'blacklight_range_limit', github: 'projectblacklight/blacklight_range_limit', branch: 'blacklight-7'
3
+ gem 'arclight'
7
4
 
8
- gem 'arclight', github: 'sul-dlss/arclight'
5
+ after_bundle do
6
+ generate 'blacklight:install', '--devise'
7
+ generate 'arclight:install', '-f'
9
8
 
10
- run 'bundle install'
11
-
12
- generate 'blacklight:install', '--devise'
13
- generate 'arclight:install', '-f'
14
-
15
- rake 'db:migrate'
9
+ rake 'db:migrate'
10
+ end