commonwealth-vlr-engine 0.0.4 → 0.0.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2 -1
- data/app/assets/images/commonwealth-vlr-engine/vlr_mobile-icons_120x120.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/vlr_mobile-icons_152x152.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/vlr_mobile-icons_60x60.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/vlr_mobile-icons_76x76.png +0 -0
- data/app/assets/javascripts/blacklight_google_analytics/blacklight_google_analytics.js.erb +11 -0
- data/app/assets/javascripts/commonwealth-vlr-engine.js +3 -0
- data/app/assets/javascripts/commonwealth-vlr-engine/download_utils.js +4 -0
- data/app/assets/stylesheets/commonwealth-vlr-engine/commonwealth-vlr-engine.css +1 -0
- data/app/assets/stylesheets/commonwealth-vlr-engine/downloads.scss +18 -0
- data/app/assets/stylesheets/commonwealth-vlr-engine/facets.scss +64 -0
- data/app/assets/stylesheets/commonwealth-vlr-engine/vlr_dependencies.css +3 -1
- data/app/controllers/bookmarks_controller.rb +7 -2
- data/app/controllers/collections_controller.rb +1 -109
- data/app/controllers/concerns/commonwealth_vlr_engine/collections_controller_behavior.rb +132 -0
- data/app/controllers/concerns/commonwealth_vlr_engine/downloads_controller_behavior.rb +184 -0
- data/app/controllers/concerns/commonwealth_vlr_engine/institutions_controller_behavior.rb +70 -0
- data/app/controllers/downloads_controller.rb +4 -0
- data/app/controllers/iiif_manifest_controller.rb +2 -7
- data/app/controllers/image_viewer_controller.rb +3 -13
- data/app/controllers/institutions_controller.rb +1 -65
- data/app/controllers/ocr_search_controller.rb +1 -1
- data/app/controllers/saved_searches_controller.rb +2 -0
- data/app/controllers/search_history_controller.rb +2 -0
- data/app/helpers/commonwealth_vlr_engine/application_helper.rb +20 -2
- data/app/helpers/commonwealth_vlr_engine/catalog_helper.rb +36 -53
- data/app/helpers/commonwealth_vlr_engine/downloads_helper_behavior.rb +192 -0
- data/app/helpers/commonwealth_vlr_engine/facets_helper.rb +3 -1
- data/app/helpers/commonwealth_vlr_engine/ocr_search_helper_behavior.rb +5 -0
- data/app/helpers/commonwealth_vlr_engine/search_history_constraints_helper.rb +25 -0
- data/app/helpers/downloads_helper.rb +3 -0
- data/app/views/catalog/_add_this.html.erb +3 -1
- data/app/views/catalog/_folder_item_control.html.erb +2 -1
- data/app/views/catalog/_index_mapview.html.erb +9 -0
- data/app/views/catalog/_more_like_this.html.erb +1 -1
- data/app/views/catalog/_show_cite_tools.html.erb +3 -0
- data/app/views/catalog/_show_default.html.erb +13 -12
- data/app/views/catalog/_show_partials/_show_book_viewer_link.html.erb +1 -1
- data/app/views/catalog/_show_partials/_show_default_metadata.html.erb +3 -3
- data/app/views/catalog/_show_partials/_show_downloads.html.erb +1 -1
- data/app/views/catalog/_show_partials/_show_volumes.html.erb +1 -1
- data/app/views/catalog/_show_sharing_tools.html.erb +3 -0
- data/app/views/collections/show.html.erb +1 -0
- data/app/views/downloads/_terms_of_use.html.erb +29 -0
- data/app/views/downloads/show.html.erb +29 -0
- data/app/views/image_viewer/_render_book_viewer.html.erb +1 -1
- data/app/views/institutions/show.html.erb +2 -10
- data/app/views/layouts/commonwealth-vlr-engine.html.erb +1 -4
- data/app/views/ocr_search/_index_ocr_list.html.erb +3 -3
- data/app/views/shared/_mobile_icon_tags.html.erb +4 -0
- data/app/views/shared/_search_form_header.html.erb +1 -1
- data/app/views/shared/_tools.html.erb +5 -5
- data/commonwealth-vlr-engine.gemspec +8 -6
- data/config/initializers/patch_blacklight_advanced_search.rb +6 -6
- data/config/initializers/patch_blacklight_range_limit.rb +18 -0
- data/config/jetty.yml +1 -1
- data/config/locales/commonwealth-vlr-engine.en.yml +12 -0
- data/config/routes.rb +6 -0
- data/lib/commonwealth-vlr-engine.rb +1 -0
- data/lib/commonwealth-vlr-engine/controller.rb +18 -3
- data/lib/commonwealth-vlr-engine/controller_override.rb +79 -21
- data/lib/commonwealth-vlr-engine/engine.rb +1 -0
- data/lib/commonwealth-vlr-engine/render_constraints_override.rb +15 -14
- data/lib/commonwealth-vlr-engine/search_builder/collections_search_builder.rb +1 -1
- data/lib/commonwealth-vlr-engine/search_builder/commonwealth_search_builder_behavior.rb +13 -1
- data/lib/commonwealth-vlr-engine/search_builder/flagged_search_builder.rb +1 -1
- data/lib/commonwealth-vlr-engine/search_builder/institutions_search_builder.rb +1 -1
- data/lib/commonwealth-vlr-engine/search_builder/mlt_search_builder.rb +2 -1
- data/lib/commonwealth-vlr-engine/streaming.rb +50 -0
- data/lib/commonwealth-vlr-engine/version.rb +1 -1
- data/lib/generators/commonwealth_vlr_engine/routes_generator.rb +8 -0
- data/lib/generators/commonwealth_vlr_engine/templates/commonwealth_search_builder.rb +4 -3
- data/lib/generators/commonwealth_vlr_engine/templates/config/vlr.yml +3 -0
- data/solr_conf/conf/solrconfig.xml +42 -5
- data/spec/controllers/collections_controller_spec.rb +20 -0
- data/spec/controllers/downloads_controller_spec.rb +65 -0
- data/spec/controllers/image_viewer_controller_spec.rb +0 -18
- data/spec/controllers/institutions_controller_spec.rb +7 -0
- data/spec/features/advanced_search_date_range_spec.rb +36 -0
- data/spec/features/collections/index_spec.rb +6 -0
- data/spec/features/collections/show_spec.rb +38 -0
- data/spec/features/more_like_this_search_spec.rb +18 -1
- data/spec/fixtures/sample_solr_documents.yml +107 -19
- data/spec/helpers/application_helper_spec.rb +9 -2
- data/spec/helpers/catalog_helper_spec.rb +26 -42
- data/spec/helpers/downloads_helper_spec.rb +173 -0
- data/spec/helpers/ocr_search_helper_spec.rb +15 -7
- data/spec/helpers/range_limit_helper_spec.rb +20 -0
- data/spec/helpers/search_history_constraints_helper_spec.rb +39 -0
- data/spec/lib/commonwealth-vlr-engine/controller_override_spec.rb +37 -0
- data/spec/lib/commonwealth-vlr-engine/render_constraints_override_spec.rb +0 -10
- data/spec/lib/commonwealth-vlr-engine/search_builder/commonwealth_search_builder_behavior_spec.rb +21 -3
- data/spec/lib/commonwealth-vlr-engine/search_builder/mlt_search_builder_spec.rb +1 -1
- metadata +99 -12
- data/app/helpers/commonwealth_vlr_engine/component_helper.rb +0 -22
- data/app/views/catalog/_show_tools.html.erb +0 -42
- data/spec/helpers/component_helper_spec.rb +0 -34
@@ -30,6 +30,8 @@ module CommonwealthVlrEngine
|
|
30
30
|
# bookmarks item actions
|
31
31
|
# this has to be in local app for bookmark item actions to work
|
32
32
|
put 'bookmarks/item_actions', :to => 'folder_items_actions#folder_item_actions', :as => 'selected_bookmarks_actions'
|
33
|
+
|
34
|
+
concern :range_searchable, BlacklightRangeLimit::Routes::RangeSearchable.new
|
33
35
|
}
|
34
36
|
end
|
35
37
|
|
@@ -40,6 +42,12 @@ module CommonwealthVlrEngine
|
|
40
42
|
# change '/catalog' to '/search'
|
41
43
|
gsub_file("config/routes.rb", /\/catalog/, "/search")
|
42
44
|
|
45
|
+
# for blacklight_range_limit
|
46
|
+
bl_routes_marker = /concerns :searchable.*$/
|
47
|
+
inject_into_file 'config/routes.rb', after: bl_routes_marker do
|
48
|
+
"\n concerns :range_searchable\n"
|
49
|
+
end
|
50
|
+
|
43
51
|
end
|
44
52
|
end
|
45
53
|
|
@@ -3,15 +3,16 @@ class CommonwealthSearchBuilder < Blacklight::SearchBuilder
|
|
3
3
|
include Blacklight::Solr::SearchBuilderBehavior
|
4
4
|
include BlacklightAdvancedSearch::AdvancedSearchBuilder
|
5
5
|
include BlacklightMaps::MapsSearchBuilderBehavior
|
6
|
+
include BlacklightRangeLimit::RangeLimitBuilder
|
6
7
|
include CommonwealthVlrEngine::CommonwealthSearchBuilderBehavior
|
7
8
|
|
8
9
|
self.default_processor_chain += [
|
9
|
-
:exclude_unwanted_models, :exclude_unpublished_items, :
|
10
|
-
:
|
10
|
+
:site_filter, :exclude_unwanted_models, :exclude_unpublished_items, :exclude_volumes,
|
11
|
+
:add_advanced_parse_q_to_solr, :add_advanced_search_to_solr
|
11
12
|
]
|
12
13
|
|
13
14
|
unless I18n.t('blacklight.home.browse.institutions.enabled')
|
14
|
-
self.default_processor_chain += [:institution_limit]
|
15
|
+
self.default_processor_chain += [:institution_limit, :exclude_institutions]
|
15
16
|
end
|
16
17
|
|
17
18
|
end
|
@@ -1,13 +1,16 @@
|
|
1
1
|
# stores VLR settings
|
2
2
|
|
3
3
|
development:
|
4
|
+
site: commonwealth
|
4
5
|
institution:
|
5
6
|
pid: bpl-dev:abcd12345
|
6
7
|
|
7
8
|
test:
|
9
|
+
site: commonwealth
|
8
10
|
institution:
|
9
11
|
pid: bpl-dev:abcd12345
|
10
12
|
|
11
13
|
production:
|
14
|
+
site: commonwealth
|
12
15
|
institution:
|
13
16
|
pid: commonwealth:abcd12345
|
@@ -202,11 +202,11 @@ http://wiki.apache.org/solr/LocalParams
|
|
202
202
|
<str name="echoParams">all</str>
|
203
203
|
<str name="fl">*</str>
|
204
204
|
<str name="rows">1</str>
|
205
|
-
<str name="mlt">true</str>
|
205
|
+
<!-- <str name="mlt">true</str>
|
206
206
|
<str name="mlt.fl">subject_facet_ssim,subject_geo_city_ssim,related_item_host_ssim,title_info_primary_tsi</str>
|
207
207
|
<str name="mlt.count">4</str>
|
208
208
|
<str name="mlt.mintf">1</str>
|
209
|
-
<str name="mlt.qf">subject_facet_ssim^10 subject_geo_city_ssim^5 related_item_host_ssim^3</str>
|
209
|
+
<str name="mlt.qf">subject_facet_ssim^10 subject_geo_city_ssim^5 related_item_host_ssim^3</str> -->
|
210
210
|
<str name="q">{!raw f=id v=$id}</str> <!-- use id=666 instead of q=id:666 -->
|
211
211
|
</lst>
|
212
212
|
</requestHandler>
|
@@ -218,17 +218,54 @@ http://wiki.apache.org/solr/LocalParams
|
|
218
218
|
*,
|
219
219
|
score
|
220
220
|
</str>
|
221
|
-
<str name="facet">true</str>
|
221
|
+
<!-- <str name="facet">true</str> -->
|
222
222
|
<str name="facet.mincount">1</str>
|
223
223
|
<str name="echoParams">explicit</str>
|
224
|
-
<str name="mlt.match.include">false</str>
|
224
|
+
<!-- <str name="mlt.match.include">false</str>
|
225
225
|
<str name="mlt.mintf">1</str>
|
226
226
|
<str name="mlt.fl">subject_facet_ssim,subject_geo_city_ssim,related_item_host_ssim</str>
|
227
|
-
<str name="mlt.qf">subject_facet_ssim^5</str>
|
227
|
+
<str name="mlt.qf">subject_facet_ssim^5</str> -->
|
228
228
|
<str name="q">{!raw f=id v=$id}</str>
|
229
229
|
</lst>
|
230
230
|
</requestHandler>
|
231
231
|
|
232
|
+
<!-- suggest searchComponent for autocomplete -->
|
233
|
+
<!--
|
234
|
+
<searchComponent name="suggest" class="solr.SuggestComponent">
|
235
|
+
<lst name="suggester">
|
236
|
+
<str name="name">mySuggester</str>
|
237
|
+
<str name="lookupImpl">FuzzyLookupFactory</str>
|
238
|
+
-->
|
239
|
+
<!-- need to investigate how this affects performance, will build manually for now -->
|
240
|
+
<!-- <str name="buildOnCommit">true</str> -->
|
241
|
+
<!--
|
242
|
+
<str name="dictionaryImpl">HighFrequencyDictionaryFactory</str>
|
243
|
+
<float name="threshold">.00004</float> --> <!-- may need to tweak for production -->
|
244
|
+
<!--
|
245
|
+
<str name="field">spell</str>
|
246
|
+
<str name="suggestAnalyzerFieldType">string</str>
|
247
|
+
-->
|
248
|
+
<!-- weightField only used with DocumentDictionaryFactory -->
|
249
|
+
<!-- <str name="weightField">title_info_primary_tsi</str> -->
|
250
|
+
<!--
|
251
|
+
</lst>
|
252
|
+
</searchComponent>
|
253
|
+
-->
|
254
|
+
|
255
|
+
<!-- suggest requestHandler for autocomplete -->
|
256
|
+
<!--
|
257
|
+
<requestHandler name="/suggest" class="solr.SearchHandler" startup="lazy">
|
258
|
+
<lst name="defaults">
|
259
|
+
<str name="suggest">true</str>
|
260
|
+
<str name="suggest.count">10</str>
|
261
|
+
<str name="suggest.dictionary">mySuggester</str>
|
262
|
+
</lst>
|
263
|
+
<arr name="components">
|
264
|
+
<str>suggest</str>
|
265
|
+
</arr>
|
266
|
+
</requestHandler>
|
267
|
+
-->
|
268
|
+
|
232
269
|
<searchComponent name="spellcheck" class="solr.SpellCheckComponent">
|
233
270
|
<str name="queryAnalyzerFieldType">textSpell</str>
|
234
271
|
<!-- Multiple "Spell Checkers" can be declared and used by this component
|
@@ -52,6 +52,13 @@ describe CollectionsController do
|
|
52
52
|
|
53
53
|
end
|
54
54
|
|
55
|
+
describe 'GET "range_limit"' do
|
56
|
+
it 'should redirect to range_limit_catalog_path' do
|
57
|
+
get :range_limit
|
58
|
+
expect(response).to be_redirect
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
55
62
|
describe 'private methods and before_filters' do
|
56
63
|
|
57
64
|
# for testing private methods
|
@@ -90,6 +97,15 @@ describe CollectionsController do
|
|
90
97
|
end
|
91
98
|
end
|
92
99
|
|
100
|
+
# TODO: spec for case where request.query_parameters exist
|
101
|
+
# can't figure out how to set these in a spec
|
102
|
+
describe 'collections_limit_for_facets' do
|
103
|
+
it 'should set the correct search builder class' do
|
104
|
+
@mock_controller.send(:collections_limit_for_facets)
|
105
|
+
expect(@mock_controller.blacklight_config.search_builder_class).to eq(CommonwealthCollectionsSearchBuilder)
|
106
|
+
end
|
107
|
+
end
|
108
|
+
|
93
109
|
describe 'get_collection_image_info' do
|
94
110
|
it 'should return a hash with the collection image object title and pid' do
|
95
111
|
expect(@mock_controller.send(:get_collection_image_info,@collection_image_pid,@collection_pid)).to eq({title:'Beauregard', pid:'bpl-dev:h702q6403', access_master:true})
|
@@ -120,6 +136,10 @@ describe CollectionsController do
|
|
120
136
|
expect(@mock_controller.blacklight_config.facet_fields['subject_facet_ssim'].collapse).to be_truthy
|
121
137
|
end
|
122
138
|
|
139
|
+
it 'should remove the citation tool from the show tools' do
|
140
|
+
expect(@mock_controller.blacklight_config.show.document_actions[:cite]).to be_empty
|
141
|
+
end
|
142
|
+
|
123
143
|
end
|
124
144
|
|
125
145
|
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe DownloadsController do
|
4
|
+
|
5
|
+
render_views
|
6
|
+
|
7
|
+
before(:each) do
|
8
|
+
@item_id = 'bpl-dev:h702q6403'
|
9
|
+
@datastream_id = 'access800'
|
10
|
+
@first_image_pid = 'bpl-dev:h702q641c'
|
11
|
+
end
|
12
|
+
|
13
|
+
describe "GET 'show'" do
|
14
|
+
|
15
|
+
describe 'file object (single item download)' do
|
16
|
+
|
17
|
+
it 'should be successful and set the right instance variables' do
|
18
|
+
xhr :get, :show, :id => @first_image_pid, :datastream_id => @datastream_id
|
19
|
+
expect(response).to be_success
|
20
|
+
expect(assigns(:parent_document).id).to eq(@item_id)
|
21
|
+
expect(assigns(:object_profile).class).to eq(Hash)
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
|
26
|
+
describe 'top-level object (ZIP download)' do
|
27
|
+
|
28
|
+
it 'should be successful and set the right instance variables' do
|
29
|
+
xhr :get, :show, :id => @item_id, :datastream_id => @datastream_id
|
30
|
+
expect(response).to be_success
|
31
|
+
expect(assigns(:parent_document)).to eq(assigns(:document))
|
32
|
+
expect(assigns(:object_profile)).to be_nil
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
38
|
+
|
39
|
+
describe "GET 'trigger_download'" do
|
40
|
+
|
41
|
+
describe 'file object (single item download)' do
|
42
|
+
|
43
|
+
it 'should be successful and set the right headers' do
|
44
|
+
get :trigger_download, :id => @first_image_pid, :datastream_id => @datastream_id
|
45
|
+
expect(response).to be_success
|
46
|
+
expect(response.headers['Content-Type']).to eq('image/jpeg')
|
47
|
+
expect(response.headers['Content-Disposition']).to eq("attachment; filename=\"#{@item_id}_#{@datastream_id}.jpg\"")
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
|
52
|
+
describe 'top-level object (ZIP download)' do
|
53
|
+
|
54
|
+
it 'should be successful and set the right instance variables' do
|
55
|
+
get :trigger_download, :id => @item_id, :datastream_id => @datastream_id
|
56
|
+
expect(response).to be_success
|
57
|
+
expect(response.headers['Content-Type']).to eq('application/zip')
|
58
|
+
expect(response.headers['Content-Disposition']).to eq("attachment; filename=\"#{@item_id}_#{@datastream_id}.zip\"")
|
59
|
+
end
|
60
|
+
|
61
|
+
end
|
62
|
+
|
63
|
+
end
|
64
|
+
|
65
|
+
end
|
@@ -29,22 +29,4 @@ describe ImageViewerController do
|
|
29
29
|
end
|
30
30
|
end
|
31
31
|
|
32
|
-
describe "private methods" do
|
33
|
-
|
34
|
-
# for testing private methods
|
35
|
-
class ImageViewerControllerTestClass < ImageViewerController
|
36
|
-
end
|
37
|
-
|
38
|
-
before(:each) do
|
39
|
-
@mock_controller = ImageViewerControllerTestClass.new
|
40
|
-
end
|
41
|
-
|
42
|
-
describe "get_page_sequence" do
|
43
|
-
it "should return the correct page sequence" do
|
44
|
-
expect(@mock_controller.send(:get_page_sequence,@item_id,@first_image_pid)).to eq({current: @first_image_pid, index: 1, total: 2, prev: nil, next: @second_image_pid})
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
end
|
49
|
-
|
50
32
|
end
|
@@ -61,6 +61,13 @@ describe InstitutionsController do
|
|
61
61
|
|
62
62
|
end
|
63
63
|
|
64
|
+
describe 'GET "range_limit"' do
|
65
|
+
it 'should redirect to range_limit_catalog_path' do
|
66
|
+
get :range_limit
|
67
|
+
expect(response).to be_redirect
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
64
71
|
describe 'private methods and before_filters' do
|
65
72
|
|
66
73
|
describe 'institutions_index_config' do
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'advanced search date range behavior' do
|
4
|
+
|
5
|
+
before { visit blacklight_advanced_search_engine.advanced_search_path }
|
6
|
+
|
7
|
+
it 'should show the date range fields on the advanced search form' do
|
8
|
+
expect(page).to have_selector('#date_range_start')
|
9
|
+
expect(page).to have_selector('#date_range_end')
|
10
|
+
end
|
11
|
+
|
12
|
+
describe 'submitting data' do
|
13
|
+
|
14
|
+
before do
|
15
|
+
within '#date_range_limit' do
|
16
|
+
fill_in 'date_range_start', with: '1800'
|
17
|
+
fill_in 'date_range_end', with: '1900'
|
18
|
+
end
|
19
|
+
click_on('advanced_search')
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'should show some search results' do
|
23
|
+
expect(page).to have_selector('#documents .document')
|
24
|
+
end
|
25
|
+
|
26
|
+
it 'should not show results from outside the date range' do
|
27
|
+
expect(page).to_not have_selector("a[href*='bpl-dev:7s75dn48d']")
|
28
|
+
end
|
29
|
+
|
30
|
+
it 'should show the date range in the constraints' do
|
31
|
+
expect(page).to have_selector('#appliedParams .date_range')
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
@@ -18,6 +18,12 @@ describe 'Collections#index view' do #, js: true do
|
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
21
|
+
it 'should have facet links that route to collections#index' do
|
22
|
+
within ('#facet-genre_basic_ssim') do
|
23
|
+
expect(page).to have_selector("a[href*='/collections?']")
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
21
27
|
describe 'click on facet value' do
|
22
28
|
|
23
29
|
before { click_link('Photographs') }
|
@@ -0,0 +1,38 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
#include CommonwealthVlrEngine::CollectionsHelperBehavior
|
4
|
+
|
5
|
+
describe 'Collections#index view' do #, js: true do
|
6
|
+
|
7
|
+
before { visit collection_path(:id => 'bpl-dev:000000000') }
|
8
|
+
|
9
|
+
describe 'facets' do
|
10
|
+
|
11
|
+
it 'should have facet links that route to catalog#index' do
|
12
|
+
within ('#facet-genre_basic_ssim') do
|
13
|
+
expect(page).to have_selector("a[href*='/search?']")
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
describe 'click on "more" facet link' do
|
18
|
+
|
19
|
+
before do
|
20
|
+
within ('#facet-subject_facet_ssim') do
|
21
|
+
click_link('Topic')
|
22
|
+
within ('li.more_facets_link') do
|
23
|
+
click_link('more Topic »')
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
it 'should have facet links that route to catalog#index' do
|
29
|
+
within ('.facet_extended_list') do
|
30
|
+
expect(page).to have_selector("a[href*='/search?']")
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
@@ -16,8 +16,25 @@ describe 'more like this search' do
|
|
16
16
|
end
|
17
17
|
|
18
18
|
it 'should show the constraint for a more-like-this search' do
|
19
|
-
visit search_catalog_path(:mlt_id => 'bpl-dev:df65v790j'
|
19
|
+
visit search_catalog_path(:mlt_id => 'bpl-dev:df65v790j')
|
20
20
|
expect(page).to have_selector('#appliedParams span.mlt')
|
21
21
|
end
|
22
22
|
|
23
|
+
describe 'show view from mlt search', js: true do
|
24
|
+
|
25
|
+
before do
|
26
|
+
visit search_catalog_path(:mlt_id => 'bpl-dev:df65v790j')
|
27
|
+
page.find('#documents :first-child .thumbnail .caption a').click
|
28
|
+
end
|
29
|
+
|
30
|
+
it 'should show the previous-next links' do
|
31
|
+
expect(page).to have_selector('.page_links .previous')
|
32
|
+
end
|
33
|
+
|
34
|
+
it 'should show the correct item count' do
|
35
|
+
expect(page).to have_selector('.page_links strong:last-of-type', text: '4')
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
39
|
+
|
23
40
|
end
|
@@ -41,7 +41,7 @@
|
|
41
41
|
date_start_qualifier_ssm:
|
42
42
|
- inferred
|
43
43
|
date_facet_yearly_ssim:
|
44
|
-
-
|
44
|
+
- 1922
|
45
45
|
genre_basic_tsim:
|
46
46
|
- Maps
|
47
47
|
genre_basic_ssim:
|
@@ -160,6 +160,12 @@
|
|
160
160
|
- complete
|
161
161
|
exemplary_image_ssi:
|
162
162
|
- bpl-dev:df65v791t
|
163
|
+
destination_site_ssim:
|
164
|
+
- commonwealth
|
165
|
+
- bpl
|
166
|
+
- nblmc
|
167
|
+
harvesting_status_bsi:
|
168
|
+
- true
|
163
169
|
timestamp:
|
164
170
|
- '2015-07-24T14:11:57.513Z'
|
165
171
|
- system_create_dtsi:
|
@@ -241,18 +247,18 @@
|
|
241
247
|
date_start_qualifier_ssm:
|
242
248
|
- approximate
|
243
249
|
date_facet_yearly_ssim:
|
244
|
-
-
|
245
|
-
-
|
246
|
-
-
|
247
|
-
-
|
248
|
-
-
|
249
|
-
-
|
250
|
-
-
|
251
|
-
-
|
252
|
-
-
|
253
|
-
-
|
254
|
-
-
|
255
|
-
-
|
250
|
+
- 1859
|
251
|
+
- 1860
|
252
|
+
- 1861
|
253
|
+
- 1862
|
254
|
+
- 1863
|
255
|
+
- 1864
|
256
|
+
- 1865
|
257
|
+
- 1866
|
258
|
+
- 1867
|
259
|
+
- 1868
|
260
|
+
- 1869
|
261
|
+
- 1870
|
256
262
|
genre_basic_tsim:
|
257
263
|
- Photographs
|
258
264
|
genre_specific_tsim:
|
@@ -368,6 +374,11 @@
|
|
368
374
|
- complete
|
369
375
|
exemplary_image_ssi:
|
370
376
|
- bpl-dev:h702q641c
|
377
|
+
destination_site_ssim:
|
378
|
+
- commonwealth
|
379
|
+
- bpl
|
380
|
+
harvesting_status_bsi:
|
381
|
+
- true
|
371
382
|
timestamp:
|
372
383
|
- '2015-07-24T14:11:28.285Z'
|
373
384
|
- system_create_dtsi:
|
@@ -491,7 +502,7 @@
|
|
491
502
|
date_start_qualifier_ssm:
|
492
503
|
- approximate
|
493
504
|
date_facet_yearly_ssim:
|
494
|
-
-
|
505
|
+
- 1851
|
495
506
|
genre_basic_tsim:
|
496
507
|
- Photographs
|
497
508
|
genre_specific_tsim:
|
@@ -574,6 +585,11 @@
|
|
574
585
|
- complete
|
575
586
|
exemplary_image_ssi:
|
576
587
|
- bpl-dev:g445cd17d
|
588
|
+
destination_site_ssim:
|
589
|
+
- commonwealth
|
590
|
+
- bpl
|
591
|
+
harvesting_status_bsi:
|
592
|
+
- true
|
577
593
|
timestamp:
|
578
594
|
- '2015-07-31T15:11:28.837Z'
|
579
595
|
- system_create_dtsi:
|
@@ -784,6 +800,12 @@
|
|
784
800
|
- bpl-dev:000000086
|
785
801
|
flagged_content_ssi:
|
786
802
|
- true
|
803
|
+
destination_site_ssim:
|
804
|
+
- commonwealth
|
805
|
+
- bpl
|
806
|
+
- nblmc
|
807
|
+
harvesting_status_bsi:
|
808
|
+
- true
|
787
809
|
timestamp:
|
788
810
|
- '2015-07-24T14:11:52.72Z'
|
789
811
|
- system_create_dtsi:
|
@@ -876,6 +898,12 @@
|
|
876
898
|
- bpl-dev:abcd12345
|
877
899
|
exemplary_image_ssi:
|
878
900
|
- bpl-dev:df65v791t
|
901
|
+
destination_site_ssim:
|
902
|
+
- commonwealth
|
903
|
+
- bpl
|
904
|
+
- nblmc
|
905
|
+
harvesting_status_bsi:
|
906
|
+
- true
|
879
907
|
timestamp:
|
880
908
|
- '2015-02-18T18:31:16.934Z'
|
881
909
|
- system_create_dtsi:
|
@@ -932,6 +960,11 @@
|
|
932
960
|
- bpl-dev:abcd12345
|
933
961
|
exemplary_image_ssi:
|
934
962
|
- bpl-dev:h702q642n
|
963
|
+
destination_site_ssim:
|
964
|
+
- commonwealth
|
965
|
+
- bpl
|
966
|
+
harvesting_status_bsi:
|
967
|
+
- true
|
935
968
|
timestamp:
|
936
969
|
- '2015-05-06T18:30:27.934Z'
|
937
970
|
- system_create_dtsi:
|
@@ -986,6 +1019,11 @@
|
|
986
1019
|
- bpl-dev:abcd12345
|
987
1020
|
exemplary_image_ssi:
|
988
1021
|
- bpl-dev:g445cd17d
|
1022
|
+
destination_site_ssim:
|
1023
|
+
- commonwealth
|
1024
|
+
- bpl
|
1025
|
+
harvesting_status_bsi:
|
1026
|
+
- true
|
989
1027
|
timestamp:
|
990
1028
|
- '2015-07-28T16:56:49.037Z'
|
991
1029
|
- system_create_dtsi:
|
@@ -1040,6 +1078,11 @@
|
|
1040
1078
|
- bpl-dev:abcd12345
|
1041
1079
|
exemplary_image_ssi:
|
1042
1080
|
- bpl-dev:g445cd17d
|
1081
|
+
destination_site_ssim:
|
1082
|
+
- commonwealth
|
1083
|
+
- bpl
|
1084
|
+
harvesting_status_bsi:
|
1085
|
+
- true
|
1043
1086
|
timestamp:
|
1044
1087
|
- '2015-07-28T16:56:47.692Z'
|
1045
1088
|
- system_create_dtsi:
|
@@ -1104,6 +1147,10 @@
|
|
1104
1147
|
- "{\"type\":\"Feature\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-71.05,42.35]},\"properties\":{\"country\":\"United States\",\"state\":\"Massachusetts\",\"county\":\"Suffolk\",\"city\":\"Boston\"}}"
|
1105
1148
|
institution_pid_ssi:
|
1106
1149
|
- bpl-dev:abcd12345
|
1150
|
+
destination_site_ssim:
|
1151
|
+
- commonwealth
|
1152
|
+
- bpl
|
1153
|
+
- nblmc
|
1107
1154
|
timestamp:
|
1108
1155
|
- '2015-02-18T19:44:18.203Z'
|
1109
1156
|
- system_create_dtsi:
|
@@ -1148,7 +1195,7 @@
|
|
1148
1195
|
date_start_qualifier_ssm:
|
1149
1196
|
- nil
|
1150
1197
|
date_facet_yearly_ssim:
|
1151
|
-
-
|
1198
|
+
- 1858
|
1152
1199
|
table_of_contents_tsi:
|
1153
1200
|
- "Inset maps: Jamaica Plain -- Brookline -- Geological map of Norfolk County, Mass. -- West Medway -- Medway -- South Dedham -- Dedham -- East Medway -- West Dedham -- Wrentham -- Bellingham -- Harrison Squares, Commercial Point (Dorchester) -- Meeting House Hill (Dorchester) -- Neponset & Port Norfolk, Dorchester -- Lower Mills, Dorchester & Milton -- Fairmount (Milton) -- Newton Lower Falls -- Railway Village -- Braintree, South Braintree -- Dorchester -- Upper Mills -- Foxborough -- East Stoughton -- Sheldonville -- Medfield -- Stoughton -- South Canton -- Randolph -- West Roxbury -- Franklin -- Sharon -- Quincy Point -- West Quincy -- North Weymouth -- South Randolph -- Ponkapog (Canton) -- East Weymouth -- East Braintree and Weymouth Landing -- Quincy -- Cohassett -- Roxbury with portions of Dorchester, W. Roxbury & c -- Walpole -- South Weymouth -- South Walpole -- Plimptonville & East Walpole."
|
1154
1201
|
genre_basic_tsim:
|
@@ -1267,6 +1314,12 @@
|
|
1267
1314
|
- complete
|
1268
1315
|
exemplary_image_ssi:
|
1269
1316
|
- bpl-dev:000000043
|
1317
|
+
destination_site_ssim:
|
1318
|
+
- commonwealth
|
1319
|
+
- bpl
|
1320
|
+
- nblmc
|
1321
|
+
harvesting_status_bsi:
|
1322
|
+
- true
|
1270
1323
|
timestamp:
|
1271
1324
|
- '2015-07-24T14:11:56.036Z'
|
1272
1325
|
- system_create_dtsi:
|
@@ -1418,6 +1471,12 @@
|
|
1418
1471
|
- complete
|
1419
1472
|
exemplary_image_ssi:
|
1420
1473
|
- bpl-dev:qf85nb29f
|
1474
|
+
destination_site_ssim:
|
1475
|
+
- commonwealth
|
1476
|
+
- bpl
|
1477
|
+
- nblmc
|
1478
|
+
harvesting_status_bsi:
|
1479
|
+
- true
|
1421
1480
|
timestamp:
|
1422
1481
|
- '2015-07-24T14:12:04.869Z'
|
1423
1482
|
- system_create_dtsi:
|
@@ -1462,7 +1521,7 @@
|
|
1462
1521
|
date_start_qualifier_ssm:
|
1463
1522
|
- nil
|
1464
1523
|
date_facet_yearly_ssim:
|
1465
|
-
-
|
1524
|
+
- 1877
|
1466
1525
|
genre_basic_tsim:
|
1467
1526
|
- Maps
|
1468
1527
|
genre_basic_ssim:
|
@@ -1564,6 +1623,12 @@
|
|
1564
1623
|
- complete
|
1565
1624
|
exemplary_image_ssi:
|
1566
1625
|
- bpl-dev:df65v789s
|
1626
|
+
destination_site_ssim:
|
1627
|
+
- commonwealth
|
1628
|
+
- bpl
|
1629
|
+
- nblmc
|
1630
|
+
harvesting_status_bsi:
|
1631
|
+
- true
|
1567
1632
|
timestamp:
|
1568
1633
|
- '2015-07-24T14:11:53.292Z'
|
1569
1634
|
- system_create_dtsi:
|
@@ -1716,7 +1781,7 @@
|
|
1716
1781
|
date_start_qualifier_ssm:
|
1717
1782
|
- nil
|
1718
1783
|
date_facet_yearly_ssim:
|
1719
|
-
-
|
1784
|
+
- 1911
|
1720
1785
|
genre_basic_tsim:
|
1721
1786
|
- Books
|
1722
1787
|
genre_basic_ssim:
|
@@ -1807,6 +1872,8 @@
|
|
1807
1872
|
- Outline lessons in housekeeping, including cooking, laundering, dairying, and nursing
|
1808
1873
|
subtitle_tsim:
|
1809
1874
|
- for use in schools.
|
1875
|
+
has_searchable_text_bsi:
|
1876
|
+
- true
|
1810
1877
|
ocr_tiv:
|
1811
1878
|
- "PREFACE. This publication has been compiled from the results of practical experience in the work of instruction in the schools. It is believed that it is a comprehensive and practical manual that will be of material assistance to the teacher, but every teacher is urged to forward suggestions in order that the manual may be improved when a second edition is issued. OUTLINE LESSONS IN HOUSEKEEPINa INTRODUCTION. Matrons and teachers everywhere are asked to reahze the impor- tance of systematic instruction in the several Hnes of household work. Their judgment is relied upon at all times as to the fitness and appro- priateness of the lesson to be given, and they may deviate from the regular course given herein, if it seems best, in order that the training may be better adapted to the needs of the pupils in the several sections."
|
1812
1879
|
workflow_state_ssi:
|
@@ -1821,6 +1888,11 @@
|
|
1821
1888
|
- 828d35b84df3a1ee31b883bc72a65946
|
1822
1889
|
iaMeta_matcher_md5_ssi:
|
1823
1890
|
- 956e00f7352ae68a56f22427551066be
|
1891
|
+
destination_site_ssim:
|
1892
|
+
- commonwealth
|
1893
|
+
- bpl
|
1894
|
+
harvesting_status_bsi:
|
1895
|
+
- true
|
1824
1896
|
timestamp:
|
1825
1897
|
- '2015-11-18T21:22:14.23Z'
|
1826
1898
|
- system_create_dtsi:
|
@@ -1963,6 +2035,8 @@
|
|
1963
2035
|
- v.1
|
1964
2036
|
subtitle_tsim:
|
1965
2037
|
- dealing practically with the modern conditions of home-life, self-support, education, opportunties, and every-day problems.
|
2038
|
+
has_searchable_text_bsi:
|
2039
|
+
- true
|
1966
2040
|
ocr_tiv:
|
1967
2041
|
- "Designed by Frieda V. Redmond. OCCUPATIONS FOR WOMEN. By p. G. HUBERT, Jr. The New Fields of Work Open. Art Study and Art Workers. Women Architects. Teaching. Typewriting and Stenography. Women's Exchanges. Occupations for the Inexperienced. The Trained Nurse. Women Physicians and Lawyers. Newspaper Work and Pay. Dress-making and Millinery. Work Done at Home. The Stage as a Profession. Novel Occupations Followed. Women as Local Photographers. How Women Workers are Swindled."
|
1968
2042
|
workflow_state_ssi:
|
@@ -1977,6 +2051,11 @@
|
|
1977
2051
|
- 159d9904be9c773b72beaaa58049c6a3
|
1978
2052
|
iaMeta_matcher_md5_ssi:
|
1979
2053
|
- 486b502fa785a7f9779c2353083d40dd
|
2054
|
+
destination_site_ssim:
|
2055
|
+
- commonwealth
|
2056
|
+
- bpl
|
2057
|
+
harvesting_status_bsi:
|
2058
|
+
- true
|
1980
2059
|
timestamp:
|
1981
2060
|
- '2015-11-18T19:32:49.014Z'
|
1982
2061
|
- system_create_dtsi:
|
@@ -2119,6 +2198,8 @@
|
|
2119
2198
|
- v.2
|
2120
2199
|
subtitle_tsim:
|
2121
2200
|
- dealing practically with the modern conditions of home-life, self-support, education, opportunties, and every-day problems.
|
2201
|
+
has_searchable_text_bsi:
|
2202
|
+
- true
|
2122
2203
|
ocr_tiv:
|
2123
2204
|
- "The Home Grounds. itself, but, after all this has been con- sidered, there still remain some wise suggestions that should be followed in nearly all cases. Give plenty of space in front of the house, in order to exhibit it to better effect and to secure at the same time greater privacy from the street."
|
2124
2205
|
workflow_state_ssi:
|
@@ -2283,7 +2364,7 @@
|
|
2283
2364
|
date_start_qualifier_ssm:
|
2284
2365
|
- nil
|
2285
2366
|
date_facet_yearly_ssim:
|
2286
|
-
-
|
2367
|
+
- 1894
|
2287
2368
|
table_of_contents_tsi:
|
2288
2369
|
- "v. I. Occupations for women, by P. G. Hubert, jr. Women in their business affairs, by W. O. Stoddard. The principles of housekeeping, by Lillian W. Betts. Society and social usages, by Constance C. Harrison. The aesthetics of dress, by Eva W. McGlasson. Dress from a practical standpoint, by several writers. Hygiene in the home, by J. W. Roosevelt. The training of children, by Kate D. Wiggin. The education of women, by Lyman Abbott. Books and reading, by T. W. Higginson. The art of travel, by Elizabeth Bisland.--v. 2. The home grounds, by Samuel Parsons, jr. The flower garden, by J. N. Gerard. House building, by Helen C. Candee. House decoration and furnishing, by Mary G. Humphreys. Women's opportunties in town and country, by Mary C. Jones. Woman's handiwork, by Constance C. Harrison. Supplementary information, by various writers."
|
2289
2370
|
genre_basic_tsim:
|
@@ -2369,9 +2450,11 @@
|
|
2369
2450
|
note_tsim:
|
2370
2451
|
- Appendix, v. 2, gives bibliographies on various subjects treated in the text.
|
2371
2452
|
title_info_primary_tsi:
|
2372
|
-
- The
|
2453
|
+
- The woman's book
|
2373
2454
|
subtitle_tsim:
|
2374
2455
|
- dealing practically with the modern conditions of home-life, self-support, education, opportunties, and every-day problems.
|
2456
|
+
has_searchable_text_bsi:
|
2457
|
+
- true
|
2375
2458
|
ocr_tiv:
|
2376
2459
|
- "Designed by Frieda V. Redmond. OCCUPATIONS FOR WOMEN. By p. G. HUBERT, Jr. The New Fields of Work Open. Art Study and Art Workers. Women Architects. Teaching. Typewriting and Stenography. Women's Exchanges. Occupations for the Inexperienced. The Trained Nurse. Women Physicians and Lawyers. Newspaper Work and Pay. Dress-making and Millinery. Work Done at Home. The Stage as a Profession. Novel Occupations Followed. Women as Local Photographers. How Women Workers are Swindled. The Home Grounds. itself, but, after all this has been con- sidered, there still remain some wise suggestions that should be followed in nearly all cases. Give plenty of space in front of the house, in order to exhibit it to better effect and to secure at the same time greater privacy from the street."
|
2377
2460
|
workflow_state_ssi:
|
@@ -2384,6 +2467,11 @@
|
|
2384
2467
|
- 159d9904be9c773b72beaaa58049c6a3
|
2385
2468
|
iaMeta_matcher_md5_ssi:
|
2386
2469
|
- d7105fab082e3c4ab6ade7c1b03c7a85
|
2470
|
+
destination_site_ssim:
|
2471
|
+
- commonwealth
|
2472
|
+
- bpl
|
2473
|
+
harvesting_status_bsi:
|
2474
|
+
- true
|
2387
2475
|
timestamp:
|
2388
2476
|
- '2015-11-18T17:20:55.415Z'
|
2389
2477
|
- system_create_dtsi:
|