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.
Files changed (98) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -1
  3. data/app/assets/images/commonwealth-vlr-engine/vlr_mobile-icons_120x120.png +0 -0
  4. data/app/assets/images/commonwealth-vlr-engine/vlr_mobile-icons_152x152.png +0 -0
  5. data/app/assets/images/commonwealth-vlr-engine/vlr_mobile-icons_60x60.png +0 -0
  6. data/app/assets/images/commonwealth-vlr-engine/vlr_mobile-icons_76x76.png +0 -0
  7. data/app/assets/javascripts/blacklight_google_analytics/blacklight_google_analytics.js.erb +11 -0
  8. data/app/assets/javascripts/commonwealth-vlr-engine.js +3 -0
  9. data/app/assets/javascripts/commonwealth-vlr-engine/download_utils.js +4 -0
  10. data/app/assets/stylesheets/commonwealth-vlr-engine/commonwealth-vlr-engine.css +1 -0
  11. data/app/assets/stylesheets/commonwealth-vlr-engine/downloads.scss +18 -0
  12. data/app/assets/stylesheets/commonwealth-vlr-engine/facets.scss +64 -0
  13. data/app/assets/stylesheets/commonwealth-vlr-engine/vlr_dependencies.css +3 -1
  14. data/app/controllers/bookmarks_controller.rb +7 -2
  15. data/app/controllers/collections_controller.rb +1 -109
  16. data/app/controllers/concerns/commonwealth_vlr_engine/collections_controller_behavior.rb +132 -0
  17. data/app/controllers/concerns/commonwealth_vlr_engine/downloads_controller_behavior.rb +184 -0
  18. data/app/controllers/concerns/commonwealth_vlr_engine/institutions_controller_behavior.rb +70 -0
  19. data/app/controllers/downloads_controller.rb +4 -0
  20. data/app/controllers/iiif_manifest_controller.rb +2 -7
  21. data/app/controllers/image_viewer_controller.rb +3 -13
  22. data/app/controllers/institutions_controller.rb +1 -65
  23. data/app/controllers/ocr_search_controller.rb +1 -1
  24. data/app/controllers/saved_searches_controller.rb +2 -0
  25. data/app/controllers/search_history_controller.rb +2 -0
  26. data/app/helpers/commonwealth_vlr_engine/application_helper.rb +20 -2
  27. data/app/helpers/commonwealth_vlr_engine/catalog_helper.rb +36 -53
  28. data/app/helpers/commonwealth_vlr_engine/downloads_helper_behavior.rb +192 -0
  29. data/app/helpers/commonwealth_vlr_engine/facets_helper.rb +3 -1
  30. data/app/helpers/commonwealth_vlr_engine/ocr_search_helper_behavior.rb +5 -0
  31. data/app/helpers/commonwealth_vlr_engine/search_history_constraints_helper.rb +25 -0
  32. data/app/helpers/downloads_helper.rb +3 -0
  33. data/app/views/catalog/_add_this.html.erb +3 -1
  34. data/app/views/catalog/_folder_item_control.html.erb +2 -1
  35. data/app/views/catalog/_index_mapview.html.erb +9 -0
  36. data/app/views/catalog/_more_like_this.html.erb +1 -1
  37. data/app/views/catalog/_show_cite_tools.html.erb +3 -0
  38. data/app/views/catalog/_show_default.html.erb +13 -12
  39. data/app/views/catalog/_show_partials/_show_book_viewer_link.html.erb +1 -1
  40. data/app/views/catalog/_show_partials/_show_default_metadata.html.erb +3 -3
  41. data/app/views/catalog/_show_partials/_show_downloads.html.erb +1 -1
  42. data/app/views/catalog/_show_partials/_show_volumes.html.erb +1 -1
  43. data/app/views/catalog/_show_sharing_tools.html.erb +3 -0
  44. data/app/views/collections/show.html.erb +1 -0
  45. data/app/views/downloads/_terms_of_use.html.erb +29 -0
  46. data/app/views/downloads/show.html.erb +29 -0
  47. data/app/views/image_viewer/_render_book_viewer.html.erb +1 -1
  48. data/app/views/institutions/show.html.erb +2 -10
  49. data/app/views/layouts/commonwealth-vlr-engine.html.erb +1 -4
  50. data/app/views/ocr_search/_index_ocr_list.html.erb +3 -3
  51. data/app/views/shared/_mobile_icon_tags.html.erb +4 -0
  52. data/app/views/shared/_search_form_header.html.erb +1 -1
  53. data/app/views/shared/_tools.html.erb +5 -5
  54. data/commonwealth-vlr-engine.gemspec +8 -6
  55. data/config/initializers/patch_blacklight_advanced_search.rb +6 -6
  56. data/config/initializers/patch_blacklight_range_limit.rb +18 -0
  57. data/config/jetty.yml +1 -1
  58. data/config/locales/commonwealth-vlr-engine.en.yml +12 -0
  59. data/config/routes.rb +6 -0
  60. data/lib/commonwealth-vlr-engine.rb +1 -0
  61. data/lib/commonwealth-vlr-engine/controller.rb +18 -3
  62. data/lib/commonwealth-vlr-engine/controller_override.rb +79 -21
  63. data/lib/commonwealth-vlr-engine/engine.rb +1 -0
  64. data/lib/commonwealth-vlr-engine/render_constraints_override.rb +15 -14
  65. data/lib/commonwealth-vlr-engine/search_builder/collections_search_builder.rb +1 -1
  66. data/lib/commonwealth-vlr-engine/search_builder/commonwealth_search_builder_behavior.rb +13 -1
  67. data/lib/commonwealth-vlr-engine/search_builder/flagged_search_builder.rb +1 -1
  68. data/lib/commonwealth-vlr-engine/search_builder/institutions_search_builder.rb +1 -1
  69. data/lib/commonwealth-vlr-engine/search_builder/mlt_search_builder.rb +2 -1
  70. data/lib/commonwealth-vlr-engine/streaming.rb +50 -0
  71. data/lib/commonwealth-vlr-engine/version.rb +1 -1
  72. data/lib/generators/commonwealth_vlr_engine/routes_generator.rb +8 -0
  73. data/lib/generators/commonwealth_vlr_engine/templates/commonwealth_search_builder.rb +4 -3
  74. data/lib/generators/commonwealth_vlr_engine/templates/config/vlr.yml +3 -0
  75. data/solr_conf/conf/solrconfig.xml +42 -5
  76. data/spec/controllers/collections_controller_spec.rb +20 -0
  77. data/spec/controllers/downloads_controller_spec.rb +65 -0
  78. data/spec/controllers/image_viewer_controller_spec.rb +0 -18
  79. data/spec/controllers/institutions_controller_spec.rb +7 -0
  80. data/spec/features/advanced_search_date_range_spec.rb +36 -0
  81. data/spec/features/collections/index_spec.rb +6 -0
  82. data/spec/features/collections/show_spec.rb +38 -0
  83. data/spec/features/more_like_this_search_spec.rb +18 -1
  84. data/spec/fixtures/sample_solr_documents.yml +107 -19
  85. data/spec/helpers/application_helper_spec.rb +9 -2
  86. data/spec/helpers/catalog_helper_spec.rb +26 -42
  87. data/spec/helpers/downloads_helper_spec.rb +173 -0
  88. data/spec/helpers/ocr_search_helper_spec.rb +15 -7
  89. data/spec/helpers/range_limit_helper_spec.rb +20 -0
  90. data/spec/helpers/search_history_constraints_helper_spec.rb +39 -0
  91. data/spec/lib/commonwealth-vlr-engine/controller_override_spec.rb +37 -0
  92. data/spec/lib/commonwealth-vlr-engine/render_constraints_override_spec.rb +0 -10
  93. data/spec/lib/commonwealth-vlr-engine/search_builder/commonwealth_search_builder_behavior_spec.rb +21 -3
  94. data/spec/lib/commonwealth-vlr-engine/search_builder/mlt_search_builder_spec.rb +1 -1
  95. metadata +99 -12
  96. data/app/helpers/commonwealth_vlr_engine/component_helper.rb +0 -22
  97. data/app/views/catalog/_show_tools.html.erb +0 -42
  98. data/spec/helpers/component_helper_spec.rb +0 -34
@@ -1,3 +1,3 @@
1
1
  module CommonwealthVlrEngine
2
- VERSION = "0.0.4"
2
+ VERSION = '0.0.7'
3
3
  end
@@ -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, :exclude_institutions,
10
- :exclude_volumes, :add_advanced_parse_q_to_solr, :add_advanced_search_to_solr
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', :qt => 'mlt')
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
- - 1922s
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
- - 1859s
245
- - 1860s
246
- - 1861s
247
- - 1862s
248
- - 1863s
249
- - 1864s
250
- - 1865s
251
- - 1866s
252
- - 1867s
253
- - 1868s
254
- - 1869s
255
- - 1870s
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
- - 1851s
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
- - 1858s
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
- - 1877s
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
- - 1911s
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
- - 1894s
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 woman's book
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: