commonwealth-vlr-engine 0.0.1
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.
- checksums.yaml +7 -0
- data/.gitignore +91 -0
- data/.gitmodules +3 -0
- data/Gemfile +20 -0
- data/LICENSE +202 -0
- data/README.md +38 -0
- data/Rakefile +43 -0
- data/app/assets/images/commonwealth-vlr-engine/bplLoginButton.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/dc_audio-icon.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/dc_collection-icon.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/dc_image-icon.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/dc_institution-icon.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/dc_moving-image-icon.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/dc_text-icon.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/facebookLoginButton.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/loading-wdl-grid.gif +0 -0
- data/app/assets/images/commonwealth-vlr-engine/loading-wdl.gif +0 -0
- data/app/assets/images/commonwealth-vlr-engine/loading.gif +0 -0
- data/app/assets/images/commonwealth-vlr-engine/openseadragon/fullpage_grouphover.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/openseadragon/fullpage_hover.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/openseadragon/fullpage_pressed.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/openseadragon/fullpage_rest.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/openseadragon/home_grouphover.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/openseadragon/home_hover.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/openseadragon/home_pressed.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/openseadragon/home_rest.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/openseadragon/next_grouphover.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/openseadragon/next_hover.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/openseadragon/next_pressed.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/openseadragon/next_rest.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/openseadragon/previous_grouphover.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/openseadragon/previous_hover.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/openseadragon/previous_pressed.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/openseadragon/previous_rest.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/openseadragon/rotateleft_grouphover.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/openseadragon/rotateleft_hover.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/openseadragon/rotateleft_pressed.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/openseadragon/rotateleft_rest.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/openseadragon/rotateright_grouphover.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/openseadragon/rotateright_hover.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/openseadragon/rotateright_pressed.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/openseadragon/rotateright_rest.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/openseadragon/zoomin_grouphover.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/openseadragon/zoomin_hover.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/openseadragon/zoomin_pressed.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/openseadragon/zoomin_rest.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/openseadragon/zoomout_grouphover.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/openseadragon/zoomout_hover.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/openseadragon/zoomout_pressed.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/openseadragon/zoomout_rest.png +0 -0
- data/app/assets/images/commonwealth-vlr-engine/vlr_logo_img.png +0 -0
- data/app/assets/javascripts/blacklight_gallery.js +1 -0
- data/app/assets/javascripts/blacklight_google_analytics/blacklight_google_analytics.js.erb +165 -0
- data/app/assets/javascripts/bootstrap-accessibility-plugin/bootstrap-accessibility.js +586 -0
- data/app/assets/javascripts/commonwealth-vlr-engine.js +22 -0
- data/app/assets/javascripts/commonwealth-vlr-engine/collection_facets.js +5 -0
- data/app/assets/javascripts/commonwealth-vlr-engine/disable_dropdown_nav.js +21 -0
- data/app/assets/javascripts/commonwealth-vlr-engine/feedback_alerts.js.erb +19 -0
- data/app/assets/javascripts/commonwealth-vlr-engine/folder_tools.js +26 -0
- data/app/assets/javascripts/commonwealth-vlr-engine/multi_img_viewer.js.erb +20 -0
- data/app/assets/javascripts/commonwealth-vlr-engine/ocr_search_utils.js.erb +32 -0
- data/app/assets/javascripts/commonwealth-vlr-engine/volumes_list.js +5 -0
- data/app/assets/javascripts/openseadragon.js +2 -0
- data/app/assets/javascripts/respond/respond.min.js +6 -0
- data/app/assets/javascripts/wdl-viewer/fd-slider.js +1303 -0
- data/app/assets/javascripts/wdl-viewer/jquery-deparam.js +113 -0
- data/app/assets/javascripts/wdl-viewer/jquery.ba-throttle-debounce.min.js +9 -0
- data/app/assets/javascripts/wdl-viewer/jquery.hammer.min.js +7 -0
- data/app/assets/javascripts/wdl-viewer/modernizr-wdl.min.js +3 -0
- data/app/assets/javascripts/wdl-viewer/wdl-search.js +33 -0
- data/app/assets/javascripts/wdl-viewer/wdl-viewer_commonwealth.js +1147 -0
- data/app/assets/stylesheets/blacklight_advanced_search.css +5 -0
- data/app/assets/stylesheets/blacklight_gallery.css +1 -0
- data/app/assets/stylesheets/blacklight_maps.css +1 -0
- data/app/assets/stylesheets/bootstrap-accessibility-plugin/bootstrap-accessibility.css +105 -0
- data/app/assets/stylesheets/commonwealth-vlr-engine/advanced_search.scss +139 -0
- data/app/assets/stylesheets/commonwealth-vlr-engine/basic_search.scss +47 -0
- data/app/assets/stylesheets/commonwealth-vlr-engine/book_viewer.scss +576 -0
- data/app/assets/stylesheets/commonwealth-vlr-engine/carousel.scss +94 -0
- data/app/assets/stylesheets/commonwealth-vlr-engine/cmmnwlth_defaults.scss +45 -0
- data/app/assets/stylesheets/commonwealth-vlr-engine/cmmnwlth_shared.scss +75 -0
- data/app/assets/stylesheets/commonwealth-vlr-engine/collections.scss +563 -0
- data/app/assets/stylesheets/commonwealth-vlr-engine/commonwealth-vlr-engine.css +32 -0
- data/app/assets/stylesheets/commonwealth-vlr-engine/facets.scss +111 -0
- data/app/assets/stylesheets/commonwealth-vlr-engine/feedback.scss +10 -0
- data/app/assets/stylesheets/commonwealth-vlr-engine/folders.scss +276 -0
- data/app/assets/stylesheets/commonwealth-vlr-engine/footer.scss +47 -0
- data/app/assets/stylesheets/commonwealth-vlr-engine/header.scss +329 -0
- data/app/assets/stylesheets/commonwealth-vlr-engine/home.scss +269 -0
- data/app/assets/stylesheets/commonwealth-vlr-engine/index.scss +580 -0
- data/app/assets/stylesheets/commonwealth-vlr-engine/institutions.scss +246 -0
- data/app/assets/stylesheets/commonwealth-vlr-engine/pages.scss +31 -0
- data/app/assets/stylesheets/commonwealth-vlr-engine/search_inside.scss +172 -0
- data/app/assets/stylesheets/commonwealth-vlr-engine/searches.scss +55 -0
- data/app/assets/stylesheets/commonwealth-vlr-engine/show.scss +840 -0
- data/app/assets/stylesheets/commonwealth-vlr-engine/signin.scss +43 -0
- data/app/assets/stylesheets/commonwealth-vlr-engine/users.scss +18 -0
- data/app/assets/stylesheets/commonwealth-vlr-engine/vlr_dependencies.css +8 -0
- data/app/assets/stylesheets/ie_fixes.css +16 -0
- data/app/assets/stylesheets/openseadragon.css +1 -0
- data/app/assets/stylesheets/wdl-viewer/fd-slider.min.css +2 -0
- data/app/controllers/blacklight_advanced_search/advanced_controller.rb +66 -0
- data/app/controllers/bookmarks_controller.rb +38 -0
- data/app/controllers/collections_controller.rb +128 -0
- data/app/controllers/commonwealth_vlr_engine/application_controller.rb +8 -0
- data/app/controllers/feedback_controller.rb +39 -0
- data/app/controllers/folder_items_actions_controller.rb +72 -0
- data/app/controllers/folder_items_controller.rb +90 -0
- data/app/controllers/folders_controller.rb +132 -0
- data/app/controllers/iiif_manifest_controller.rb +74 -0
- data/app/controllers/image_viewer_controller.rb +34 -0
- data/app/controllers/institutions_controller.rb +62 -0
- data/app/controllers/ocr_search_controller.rb +78 -0
- data/app/controllers/pages_controller.rb +5 -0
- data/app/controllers/users/omniauth_callbacks_controller.rb +10 -0
- data/app/controllers/users/registrations_controller.rb +3 -0
- data/app/controllers/users/sessions_controller.rb +3 -0
- data/app/controllers/users_controller.rb +27 -0
- data/app/helpers/blacklight_maps_helper.rb +3 -0
- data/app/helpers/collections_helper.rb +3 -0
- data/app/helpers/commonwealth_vlr_engine/application_helper.rb +200 -0
- data/app/helpers/commonwealth_vlr_engine/blacklight_helper.rb +35 -0
- data/app/helpers/commonwealth_vlr_engine/blacklight_url_helper.rb +53 -0
- data/app/helpers/commonwealth_vlr_engine/catalog_helper.rb +414 -0
- data/app/helpers/commonwealth_vlr_engine/collections_helper_behavior.rb +19 -0
- data/app/helpers/commonwealth_vlr_engine/component_helper.rb +22 -0
- data/app/helpers/commonwealth_vlr_engine/facets_helper.rb +20 -0
- data/app/helpers/commonwealth_vlr_engine/feedback_helper_behavior.rb +14 -0
- data/app/helpers/commonwealth_vlr_engine/folders_helper_behavior.rb +9 -0
- data/app/helpers/commonwealth_vlr_engine/image_viewer_helper_behavior.rb +14 -0
- data/app/helpers/commonwealth_vlr_engine/institutions_helper_behavior.rb +31 -0
- data/app/helpers/commonwealth_vlr_engine/layout_helper.rb +22 -0
- data/app/helpers/commonwealth_vlr_engine/ocr_search_helper_behavior.rb +48 -0
- data/app/helpers/commonwealth_vlr_engine/pages_helper_behavior.rb +38 -0
- data/app/helpers/commonwealth_vlr_engine/vlr_blacklight_maps_helper_behavior.rb +59 -0
- data/app/helpers/feedback_helper.rb +3 -0
- data/app/helpers/folders_helper.rb +3 -0
- data/app/helpers/image_viewer_helper.rb +3 -0
- data/app/helpers/institutions_helper.rb +3 -0
- data/app/helpers/ocr_search_helper.rb +3 -0
- data/app/helpers/pages_helper.rb +3 -0
- data/app/mailers/notifier.rb +5 -0
- data/app/models/carousel_slide.rb +7 -0
- data/app/models/record_mailer.rb +18 -0
- data/app/models/user.rb +15 -0
- data/app/views/advanced/_advanced_search_date.html.erb +23 -0
- data/app/views/advanced/_advanced_search_facets.html.erb +5 -0
- data/app/views/advanced/_advanced_search_fields.html.erb +39 -0
- data/app/views/advanced/_advanced_search_form.html.erb +51 -0
- data/app/views/advanced/_advanced_search_help.html.erb +13 -0
- data/app/views/advanced/_facet_layout.html.erb +9 -0
- data/app/views/advanced/_facet_limit.html.erb +15 -0
- data/app/views/advanced/index.html.erb +29 -0
- data/app/views/blacklight_advanced_search/_facet_limit.html.erb +12 -0
- data/app/views/bookmarks/_tools.html.erb +25 -0
- data/app/views/bookmarks/index.html.erb +64 -0
- data/app/views/bookmarks/update.js.erb +1 -0
- data/app/views/bpluser/folders/_folder.html.erb +36 -0
- data/app/views/catalog/_add_this.html.erb +10 -0
- data/app/views/catalog/_az_links.html.erb +15 -0
- data/app/views/catalog/_basic_search.html.erb +67 -0
- data/app/views/catalog/_citation.html.erb +50 -0
- data/app/views/catalog/_constraints.html.erb +26 -0
- data/app/views/catalog/_document_collections_gallery.html.erb +7 -0
- data/app/views/catalog/_facet_limit_series.html.erb +21 -0
- data/app/views/catalog/_facets.html.erb +31 -0
- data/app/views/catalog/_facets_series.html.erb +4 -0
- data/app/views/catalog/_folder_item_control.html.erb +64 -0
- data/app/views/catalog/_index_collections_gallery.html.erb +12 -0
- data/app/views/catalog/_index_gallery.html.erb +11 -0
- data/app/views/catalog/_index_header_default.html.erb +22 -0
- data/app/views/catalog/_index_list_collection.html.erb +33 -0
- data/app/views/catalog/_index_list_default.html.erb +13 -0
- data/app/views/catalog/_index_map_institutions.html.erb +10 -0
- data/app/views/catalog/_index_masonry.html.erb +8 -0
- data/app/views/catalog/_index_slideshow.html.erb +18 -0
- data/app/views/catalog/_more_like_this.html.erb +9 -0
- data/app/views/catalog/_opengraph.html.erb +16 -0
- data/app/views/catalog/_previous_next_doc.html.erb +22 -0
- data/app/views/catalog/_results_pagination.html.erb +9 -0
- data/app/views/catalog/_search_form.html.erb +23 -0
- data/app/views/catalog/_search_header.html.erb +5 -0
- data/app/views/catalog/_show_default.html.erb +75 -0
- data/app/views/catalog/_show_main_content.html.erb +27 -0
- data/app/views/catalog/_show_more_like_this.html.erb +15 -0
- data/app/views/catalog/_show_partials/_show_book_viewer_link.html.erb +25 -0
- data/app/views/catalog/_show_partials/_show_default_img.html.erb +32 -0
- data/app/views/catalog/_show_partials/_show_default_metadata.html.erb +486 -0
- data/app/views/catalog/_show_partials/_show_default_simple_img_viewer.html.erb +45 -0
- data/app/views/catalog/_show_partials/_show_downloads.html.erb +14 -0
- data/app/views/catalog/_show_partials/_show_flagged_notice.html.erb +29 -0
- data/app/views/catalog/_show_partials/_show_multi_img.html.erb +42 -0
- data/app/views/catalog/_show_partials/_show_multi_img_pagination.html.erb +20 -0
- data/app/views/catalog/_show_partials/_show_oai_item_img.html.erb +5 -0
- data/app/views/catalog/_show_partials/_show_oai_item_link.html.erb +8 -0
- data/app/views/catalog/_show_partials/_show_prev_next_carousel_links.html.erb +17 -0
- data/app/views/catalog/_show_partials/_show_volumes.html.erb +52 -0
- data/app/views/catalog/_show_sidebar.html.erb +1 -0
- data/app/views/catalog/_show_tools.html.erb +42 -0
- data/app/views/catalog/_zero_results.html.erb +20 -0
- data/app/views/catalog/email.html.erb +6 -0
- data/app/views/catalog/index.html.erb +17 -0
- data/app/views/catalog/metadata_view.html.erb +7 -0
- data/app/views/catalog/show.html.erb +13 -0
- data/app/views/collections/_search_form_collection.html.erb +23 -0
- data/app/views/collections/index.html.erb +30 -0
- data/app/views/collections/show.html.erb +116 -0
- data/app/views/devise/confirmations/new.html.erb +14 -0
- data/app/views/devise/mailer/reset_password_instructions.html.erb +13 -0
- data/app/views/devise/passwords/edit.html.erb +33 -0
- data/app/views/devise/passwords/new.html.erb +31 -0
- data/app/views/devise/registrations/edit.html.erb +83 -0
- data/app/views/devise/registrations/new.html.erb +53 -0
- data/app/views/devise/sessions/new.html.erb +75 -0
- data/app/views/devise/shared/_links.erb +29 -0
- data/app/views/feedback/complete.html.erb +9 -0
- data/app/views/feedback/show.html.erb +61 -0
- data/app/views/folder_items/create.js.erb +1 -0
- data/app/views/folder_items/destroy.js.erb +1 -0
- data/app/views/folder_items/item_actions.js.erb +2 -0
- data/app/views/folder_items/update.js.erb +1 -0
- data/app/views/folders/_in_folder.html.erb +2 -0
- data/app/views/folders/_new_edit_form_fields.html.erb +36 -0
- data/app/views/folders/edit.html.erb +25 -0
- data/app/views/folders/index.html.erb +73 -0
- data/app/views/folders/new.html.erb +27 -0
- data/app/views/folders/public_list.html.erb +44 -0
- data/app/views/folders/show.html.erb +98 -0
- data/app/views/image_viewer/_book_viewer_help.html.erb +125 -0
- data/app/views/image_viewer/_render_book_viewer.html.erb +185 -0
- data/app/views/image_viewer/book_viewer.html.erb +57 -0
- data/app/views/image_viewer/show.js.erb +19 -0
- data/app/views/institutions/_intro_text.html.erb +1 -0
- data/app/views/institutions/_map_institutions_search.html.erb +9 -0
- data/app/views/institutions/_search_form_institution.html.erb +24 -0
- data/app/views/institutions/index.html.erb +31 -0
- data/app/views/institutions/show.html.erb +104 -0
- data/app/views/layouts/_google_analytics.html.erb +9 -0
- data/app/views/layouts/book_viewer.html.erb +37 -0
- data/app/views/layouts/commonwealth-vlr-engine.html.erb +59 -0
- data/app/views/notifier/feedback.text.erb +6 -0
- data/app/views/ocr_search/_index_ocr_list.html.erb +17 -0
- data/app/views/ocr_search/_search_form_ocr.html.erb +23 -0
- data/app/views/ocr_search/_snippets_more.html.erb +15 -0
- data/app/views/ocr_search/_zero_results_ocr.html.erb +9 -0
- data/app/views/ocr_search/index.html.erb +49 -0
- data/app/views/pages/_carousel.html.erb +46 -0
- data/app/views/pages/_home_partials/_banner.html.erb +23 -0
- data/app/views/pages/_home_partials/_browse.html.erb +55 -0
- data/app/views/pages/_home_partials/_context.html.erb +24 -0
- data/app/views/pages/_home_partials/_home_content.html.erb +14 -0
- data/app/views/pages/about.html.erb +10 -0
- data/app/views/pages/about_site.html.erb +6 -0
- data/app/views/pages/explore.html.erb +32 -0
- data/app/views/pages/home.html.erb +3 -0
- data/app/views/record_mailer/email_record.text.erb +7 -0
- data/app/views/saved_searches/index.html.erb +60 -0
- data/app/views/search_history/index.html.erb +59 -0
- data/app/views/shared/_error_messages.html.erb +9 -0
- data/app/views/shared/_flash_msg_maintenance.html.erb +6 -0
- data/app/views/shared/_folder_item_actions.html.erb +66 -0
- data/app/views/shared/_folder_tools.html.erb +4 -0
- data/app/views/shared/_footer.html.erb +14 -0
- data/app/views/shared/_header_navbar.html.erb +34 -0
- data/app/views/shared/_nav_links.html.erb +58 -0
- data/app/views/shared/_search_form_header.html.erb +16 -0
- data/app/views/shared/_tools.html.erb +14 -0
- data/app/views/shared/_user_util_links.html.erb +43 -0
- data/app/views/users/show.html.erb +33 -0
- data/commonwealth-vlr-engine.gemspec +47 -0
- data/config/initializers/patch_blacklight_advanced_search.rb +74 -0
- data/config/initializers/patch_blacklight_maps.rb +20 -0
- data/config/jetty.yml +7 -0
- data/config/locales/commonwealth-vlr-engine.en.yml +463 -0
- data/config/routes.rb +92 -0
- data/lib/commonwealth-vlr-engine.rb +55 -0
- data/lib/commonwealth-vlr-engine/commonwealth_search_builder.rb +66 -0
- data/lib/commonwealth-vlr-engine/controller.rb +69 -0
- data/lib/commonwealth-vlr-engine/controller_override.rb +238 -0
- data/lib/commonwealth-vlr-engine/engine.rb +40 -0
- data/lib/commonwealth-vlr-engine/finder.rb +285 -0
- data/lib/commonwealth-vlr-engine/iiif_manifest.rb +189 -0
- data/lib/commonwealth-vlr-engine/notifier.rb +33 -0
- data/lib/commonwealth-vlr-engine/pages.rb +33 -0
- data/lib/commonwealth-vlr-engine/render_constraints_override.rb +57 -0
- data/lib/commonwealth-vlr-engine/route_sets.rb +49 -0
- data/lib/commonwealth-vlr-engine/routes.rb +21 -0
- data/lib/commonwealth-vlr-engine/version.rb +3 -0
- data/lib/generators/commonwealth_vlr_engine/controller_generator.rb +92 -0
- data/lib/generators/commonwealth_vlr_engine/environment_generator.rb +49 -0
- data/lib/generators/commonwealth_vlr_engine/install_generator.rb +57 -0
- data/lib/generators/commonwealth_vlr_engine/localassets_generator.rb +29 -0
- data/lib/generators/commonwealth_vlr_engine/model_generator.rb +65 -0
- data/lib/generators/commonwealth_vlr_engine/routes_generator.rb +39 -0
- data/lib/generators/commonwealth_vlr_engine/templates/commonwealth_vlr_engine.css.scss +4 -0
- data/lib/generators/commonwealth_vlr_engine/templates/config/contact_emails.yml.sample +13 -0
- data/lib/generators/commonwealth_vlr_engine/templates/config/fedora.yml.sample +6 -0
- data/lib/generators/commonwealth_vlr_engine/templates/config/geojson_static_file.yml.sample +11 -0
- data/lib/generators/commonwealth_vlr_engine/templates/config/google_analytics.yml.sample +10 -0
- data/lib/generators/commonwealth_vlr_engine/templates/config/iiif_server.yml.sample +10 -0
- data/lib/generators/commonwealth_vlr_engine/templates/config/initializers/a_load_commonwealth_vlr_configs.rb +14 -0
- data/lib/generators/commonwealth_vlr_engine/templates/config/initializers/devise.rb +269 -0
- data/lib/generators/commonwealth_vlr_engine/templates/config/initializers/secret_token.rb +8 -0
- data/lib/generators/commonwealth_vlr_engine/templates/config/locales/blacklight.en.yml +44 -0
- data/lib/generators/commonwealth_vlr_engine/templates/config/locales/devise.en.yml +12 -0
- data/lib/generators/commonwealth_vlr_engine/templates/config/omniauth-facebook.yml.sample +14 -0
- data/lib/generators/commonwealth_vlr_engine/templates/config/omniauth-polaris.yml.sample +20 -0
- data/lib/generators/commonwealth_vlr_engine/templates/config/vlr.yml +13 -0
- data/lib/generators/commonwealth_vlr_engine/yml_generator.rb +29 -0
- data/lib/railties/commonwealth_vlr_engine.rake +6 -0
- data/solr_conf/conf/schema.xml +476 -0
- data/solr_conf/conf/solrconfig.xml +286 -0
- data/spec/controllers/catalog_controller_spec.rb +67 -0
- data/spec/controllers/collections_controller_spec.rb +127 -0
- data/spec/controllers/feedback_controller_spec.rb +51 -0
- data/spec/controllers/folder_items_actions_controller_spec.rb +99 -0
- data/spec/controllers/folder_items_controller_spec.rb +90 -0
- data/spec/controllers/folders_controller_spec.rb +368 -0
- data/spec/controllers/iiif_manifest_controller_spec.rb +85 -0
- data/spec/controllers/image_viewer_controller_spec.rb +50 -0
- data/spec/controllers/institutions_controller_spec.rb +64 -0
- data/spec/controllers/ocr_search_controller_spec.rb +71 -0
- data/spec/controllers/pages_controller_spec.rb +58 -0
- data/spec/controllers/users_controller_spec.rb +62 -0
- data/spec/features/catalog/_az_links_spec.rb +27 -0
- data/spec/features/catalog/_show_partials/_show_book_viewer_link_spec.rb +47 -0
- data/spec/features/catalog/_show_partials/_show_default_simple_img_viewer_spec.rb +19 -0
- data/spec/features/catalog/_show_partials/_show_flagged_notice_spec.rb +23 -0
- data/spec/features/catalog/_show_partials/_show_multi_img_spec.rb +18 -0
- data/spec/features/catalog/_show_partials/_show_volumes_spec.rb +24 -0
- data/spec/features/collections/index_spec.rb +35 -0
- data/spec/features/feedback/show_spec.rb +47 -0
- data/spec/features/image_viewer/book_viewer_spec.rb +67 -0
- data/spec/features/institutions/index_spec.rb +31 -0
- data/spec/features/institutions/map_view_spec.rb +37 -0
- data/spec/features/more_like_this_search_spec.rb +23 -0
- data/spec/features/ocr_search/index_spec.rb +89 -0
- data/spec/fixtures/sample_rss_feed.xml +56 -0
- data/spec/fixtures/sample_solr_documents.yml +2748 -0
- data/spec/helpers/application_helper_spec.rb +114 -0
- data/spec/helpers/catalog_helper_spec.rb +386 -0
- data/spec/helpers/collections_helper_spec.rb +28 -0
- data/spec/helpers/component_helper_spec.rb +34 -0
- data/spec/helpers/folders_helper_spec.rb +31 -0
- data/spec/helpers/image_viewer_helper_spec.rb +15 -0
- data/spec/helpers/institutions_helper_spec.rb +53 -0
- data/spec/helpers/ocr_search_helper_spec.rb +70 -0
- data/spec/helpers/pages_helper_spec.rb +21 -0
- data/spec/lib/commonwealth-vlr-engine/commonwealth_search_builder_spec.rb +101 -0
- data/spec/lib/commonwealth-vlr-engine/controller_override_spec.rb +41 -0
- data/spec/lib/commonwealth-vlr-engine/controller_spec.rb +33 -0
- data/spec/lib/commonwealth-vlr-engine/finder_spec.rb +140 -0
- data/spec/lib/commonwealth-vlr-engine/iiif_manifest_spec.rb +157 -0
- data/spec/lib/commonwealth-vlr-engine/render_constraints_override_spec.rb +97 -0
- data/spec/mailers/notifier_spec.rb +31 -0
- data/spec/models/carousel_slide_spec.rb +38 -0
- data/spec/spec_helper.rb +40 -0
- data/spec/tasks/vlr_engine_rake_spec.rb +28 -0
- data/spec/test_app_templates/lib/generators/test_app_generator.rb +23 -0
- data/tasks/vlr_engine.rake +46 -0
- metadata +788 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
module CommonwealthVlrEngine
|
|
2
|
+
module Notifier
|
|
3
|
+
extend ActiveSupport::Concern
|
|
4
|
+
|
|
5
|
+
def feedback(details)
|
|
6
|
+
|
|
7
|
+
@message = details[:message]
|
|
8
|
+
@topic = details[:topic]
|
|
9
|
+
@email = details[:email]
|
|
10
|
+
@name = details[:name]
|
|
11
|
+
@recipient = route_email(details[:topic])
|
|
12
|
+
|
|
13
|
+
mail(:to => @recipient,
|
|
14
|
+
:from => t('blacklight.email.record_mailer.name') + ' <' + t('blacklight.email.record_mailer.email') + '>',
|
|
15
|
+
:subject => t('blacklight.feedback.text.subject', identifier: Time.now.strftime('%s')))
|
|
16
|
+
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
private
|
|
20
|
+
|
|
21
|
+
def route_email(topic)
|
|
22
|
+
if topic == t('blacklight.feedback.form.topic.options.repro.option')
|
|
23
|
+
recipient_email = CONTACT_EMAILS['image_requests']
|
|
24
|
+
else
|
|
25
|
+
recipient_email = CONTACT_EMAILS['site_admin']
|
|
26
|
+
end
|
|
27
|
+
recipient_email
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
module CommonwealthVlrEngine
|
|
2
|
+
module Pages
|
|
3
|
+
extend ActiveSupport::Concern
|
|
4
|
+
|
|
5
|
+
def home
|
|
6
|
+
@carousel_slides = CarouselSlide.where(:context=>'root').order(:sequence)
|
|
7
|
+
section_active_count = 0
|
|
8
|
+
sections = ['maps', 'collections', 'institutions', 'formats']
|
|
9
|
+
sections.each do |section|
|
|
10
|
+
if t("blacklight.home.browse.#{section}.enabled")
|
|
11
|
+
section_active_count += 1
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
@middle_feature_columns = 12 / section_active_count
|
|
16
|
+
|
|
17
|
+
render 'pages/home'
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def about
|
|
21
|
+
@nav_li_active = 'about'
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def about_site
|
|
25
|
+
@nav_li_active = 'about'
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def explore
|
|
29
|
+
@nav_li_active = 'explore'
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Meant to be applied on top of Blacklight view helpers, to over-ride
|
|
2
|
+
# certain methods from RenderConstraintsHelper,
|
|
3
|
+
# to affect constraints rendering
|
|
4
|
+
module CommonwealthVlrEngine
|
|
5
|
+
module RenderConstraintsOverride
|
|
6
|
+
|
|
7
|
+
# override so we can inspect for other params, like :mlt_id
|
|
8
|
+
def has_search_parameters?
|
|
9
|
+
has_mlt_parameters? || super
|
|
10
|
+
#!params[:q].blank? or !params[:f].blank? or !params[:search_field].blank? or params[:mlt_id] or !params[:coordinates].blank?
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
# return true if :mlt_id is present
|
|
14
|
+
def has_mlt_parameters?
|
|
15
|
+
!params[:mlt_id].blank?
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
# override to deal with A-Z link result display
|
|
19
|
+
def render_constraint_element(label, value, options = {})
|
|
20
|
+
if value.match(/ssort:[A-Z]+\*/)
|
|
21
|
+
label = t('blacklight.search.constraints.az_search')
|
|
22
|
+
value = value.match(/[A-Z]+/)[0]
|
|
23
|
+
end
|
|
24
|
+
super
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# override to add method to show constraint for 'more like this' search
|
|
28
|
+
def render_constraints(localized_params = params)
|
|
29
|
+
render_mlt_query(localized_params) + super
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
# Render the 'more like this' query constraints
|
|
33
|
+
def render_mlt_query(localized_params = params)
|
|
34
|
+
# So simple don't need a view template, we can just do it here.
|
|
35
|
+
scope = localized_params.delete(:route_set) || self
|
|
36
|
+
return ''.html_safe if localized_params[:mlt_id].blank?
|
|
37
|
+
|
|
38
|
+
render_constraint_element(t('blacklight.more_like_this.constraint_label'),
|
|
39
|
+
localized_params[:mlt_id],
|
|
40
|
+
:classes => ['mlt'],
|
|
41
|
+
:remove => scope.url_for(localized_params.merge(:mlt_id=>nil, :qt=>nil, :action=>'index')))
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# include render_search_to_s_mlt() in rendered constraints
|
|
45
|
+
# Simpler textual version of constraints, used on Search History page.
|
|
46
|
+
def render_search_to_s(params)
|
|
47
|
+
render_search_to_s_mlt(params) + super
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# render the MLT search query constraint, used on Search History page.
|
|
51
|
+
def render_search_to_s_mlt(params)
|
|
52
|
+
return "".html_safe if params[:mlt_id].blank?
|
|
53
|
+
render_search_to_s_element(t('blacklight.more_like_this.constraint_label'), render_filter_value(params[:mlt_id]) )
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
end
|
|
57
|
+
end
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# monkey-patching Blacklight::Routes::RouteSets
|
|
2
|
+
# to use 'search' as path with Blacklight::CatalogController routes
|
|
3
|
+
# stopgap solution until patch can be submitted
|
|
4
|
+
# that will allow local app to provide :path option for resources passed as
|
|
5
|
+
# args to blacklight/lib/blacklight/rails/routes.rb#blacklight_for
|
|
6
|
+
module CommonwealthVlrEngine
|
|
7
|
+
module RouteSets
|
|
8
|
+
|
|
9
|
+
extend ActiveSupport::Concern
|
|
10
|
+
included do
|
|
11
|
+
|
|
12
|
+
def map_resource(key)
|
|
13
|
+
add_routes do |options|
|
|
14
|
+
get "search/facet/:id", :to => "#{key}#facet", :as => "#{key}_facet"
|
|
15
|
+
get "search", :to => "#{key}#index", :as => "#{key}_index"
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def export(primary_resource)
|
|
20
|
+
add_routes do |options|
|
|
21
|
+
get "search/opensearch", :to => "#{primary_resource}#opensearch", :as => "opensearch_#{primary_resource}"
|
|
22
|
+
get "search/citation", :to => "#{primary_resource}#citation", :as => "citation_#{primary_resource}"
|
|
23
|
+
match 'search/email', :to => "#{primary_resource}#email", :as => "email_#{primary_resource}", :via => [:get, :post]
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def solr_document(primary_resource)
|
|
28
|
+
add_routes do |options|
|
|
29
|
+
|
|
30
|
+
args = {only: [:show]}
|
|
31
|
+
args[:constraints] = options[:constraints] if options[:constraints]
|
|
32
|
+
|
|
33
|
+
resources :solr_document, args.merge(path: "search", controller: primary_resource) do
|
|
34
|
+
member do
|
|
35
|
+
post "track"
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# :show and :update are for backwards-compatibility with catalog_url named routes
|
|
40
|
+
resources primary_resource, args
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
end
|
|
49
|
+
Blacklight::Routes::RouteSets.send(:include, CommonwealthVlrEngine::RouteSets)
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
module CommonwealthVlrEngine
|
|
2
|
+
module Routes
|
|
3
|
+
|
|
4
|
+
extend ActiveSupport::Concern
|
|
5
|
+
included do |klass|
|
|
6
|
+
klass.default_route_sets.unshift(:bookmark_item_actions)
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
# route bookmark items actions (cite, email, delete) to folder_items_actions
|
|
10
|
+
# this needs to be before BL bookmarks stuff, so we add it at the beginning of
|
|
11
|
+
# the default_route_sets array
|
|
12
|
+
def bookmark_item_actions(_)
|
|
13
|
+
add_routes do |options|
|
|
14
|
+
put 'bookmarks/item_actions', :to => 'folder_items_actions#folder_item_actions', :as => 'selected_bookmarks_actions'
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
end
|
|
21
|
+
Blacklight::Routes.send(:include, CommonwealthVlrEngine::Routes)
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
require 'rails/generators'
|
|
2
|
+
|
|
3
|
+
module CommonwealthVlrEngine
|
|
4
|
+
class ControllerGenerator < Rails::Generators::Base
|
|
5
|
+
|
|
6
|
+
source_root File.expand_path('../templates', __FILE__)
|
|
7
|
+
|
|
8
|
+
argument :controller_name , type: :string , default: "catalog"
|
|
9
|
+
|
|
10
|
+
desc """
|
|
11
|
+
This generator makes the following changes to your application:
|
|
12
|
+
1. Injects behavior into your user application_controller.rb
|
|
13
|
+
2. Configures your catalog_controller.rb and removes many values.
|
|
14
|
+
Thank you for Installing Commonwealth VLR.
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
# Add Commonwealth to the application controller
|
|
18
|
+
def inject_application_controller_behavior
|
|
19
|
+
unless IO.read("app/controllers/application_controller.rb").include?('CommonwealthVlrEngine::Controller')
|
|
20
|
+
marker = 'include Blacklight::Controller'
|
|
21
|
+
insert_into_file "app/controllers/application_controller.rb", :after => marker do
|
|
22
|
+
%q{
|
|
23
|
+
|
|
24
|
+
# adds some site-wide behavior into the application controller
|
|
25
|
+
include CommonwealthVlrEngine::Controller
|
|
26
|
+
layout 'commonwealth-vlr-engine'
|
|
27
|
+
}
|
|
28
|
+
end
|
|
29
|
+
remove_marker = "layout 'blacklight'"
|
|
30
|
+
gsub_file("app/controllers/application_controller.rb", remove_marker, "")
|
|
31
|
+
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# Update the blacklight catalog controller
|
|
36
|
+
def inject_catalog_controller_behavior
|
|
37
|
+
unless IO.read("app/controllers/#{controller_name}_controller.rb").include?('CommonwealthVlrEngine')
|
|
38
|
+
marker = 'include Blacklight::Catalog'
|
|
39
|
+
insert_into_file "app/controllers/#{controller_name}_controller.rb", :after => marker do
|
|
40
|
+
%q{
|
|
41
|
+
# CatalogController-scope behavior and configuration for CommonwealthVlrEngine
|
|
42
|
+
include CommonwealthVlrEngine::ControllerOverride
|
|
43
|
+
CatalogController.search_params_logic += [:institution_limit]
|
|
44
|
+
}
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
marker = 'configure_blacklight do |config|'
|
|
48
|
+
insert_into_file "app/controllers/#{controller_name}_controller.rb", :after => marker do
|
|
49
|
+
%q{
|
|
50
|
+
# SearchBuilder contains logic for adding search params to Solr
|
|
51
|
+
config.search_builder_class = SearchBuilder
|
|
52
|
+
|
|
53
|
+
# limit Advanced Search facets to this institution
|
|
54
|
+
# can't call SearchBuilder.institution_limit because it's an instance method, not a class method
|
|
55
|
+
config.advanced_search[:form_solr_parameters]['fq'] = '+institution_pid_ssi:"' + CommonwealthVlrEngine.config[:institution][:pid] + '"'
|
|
56
|
+
}
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
#For config.default_solr_params
|
|
60
|
+
gsub_file("app/controllers/#{controller_name}_controller.rb", /config\.default_solr_params[\s\S]+?}/, "")
|
|
61
|
+
|
|
62
|
+
#For multi line fields
|
|
63
|
+
fields_to_remove = [/ +config.add_facet_field 'example_query_facet_field'[\s\S]+?}\n[ ]+}/,
|
|
64
|
+
/ +config.add_search_field\([\s\S]+?end/
|
|
65
|
+
]
|
|
66
|
+
|
|
67
|
+
fields_to_remove.each do |remove_marker|
|
|
68
|
+
#gsub_file("app/controllers/#{controller_name}_controller.rb", /#{comment_marker}/, "\##{comment_marker}")
|
|
69
|
+
gsub_file("app/controllers/#{controller_name}_controller.rb", /#{remove_marker}/, "")
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
#For single line fields
|
|
73
|
+
fields_to_remove = [/ +config.index.title_field +=.+?$\n*/,
|
|
74
|
+
/ +config.index.display_type_field +=.+?$\n*/,
|
|
75
|
+
/ +config.add_facet_field +'.+?$\n*/,
|
|
76
|
+
/ +config.add_index_field +'.+?$\n*/,
|
|
77
|
+
/ +config.add_show_field +'.+?$\n*/,
|
|
78
|
+
/ +config.add_search_field +'.+?$\n*/,
|
|
79
|
+
/ +config.add_sort_field +'.+?$\n*/
|
|
80
|
+
]
|
|
81
|
+
|
|
82
|
+
fields_to_remove.each do |remove_marker|
|
|
83
|
+
#gsub_file("app/controllers/#{controller_name}_controller.rb", /#{comment_marker}/, "\##{comment_marker}")
|
|
84
|
+
gsub_file("app/controllers/#{controller_name}_controller.rb", /#{remove_marker}/, "")
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
end
|
|
92
|
+
end
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
require 'rails/generators'
|
|
2
|
+
|
|
3
|
+
module CommonwealthVlrEngine
|
|
4
|
+
class EnvironmentGenerator < Rails::Generators::Base
|
|
5
|
+
|
|
6
|
+
source_root File.expand_path('../templates', __FILE__)
|
|
7
|
+
|
|
8
|
+
desc """
|
|
9
|
+
This generator makes the following changes to your application:
|
|
10
|
+
1. Adds some settings for asset precompilation to config/initializers/assets.rb
|
|
11
|
+
2. Adds some settings for security and mailers to config/application.rb
|
|
12
|
+
Thank you for installing Commonwealth VLR.
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
# add settings to application.rb
|
|
16
|
+
def inject_application_settings
|
|
17
|
+
unless IO.read('config/application.rb').include?('config.action_mailer.delivery_method')
|
|
18
|
+
marker = 'class Application < Rails::Application'
|
|
19
|
+
insert_into_file 'config/application.rb', :after => marker do
|
|
20
|
+
%q{
|
|
21
|
+
|
|
22
|
+
# don't log passwords
|
|
23
|
+
config.filter_parameters += [:password]
|
|
24
|
+
# mailer settings
|
|
25
|
+
config.action_mailer.delivery_method = :sendmail
|
|
26
|
+
config.action_mailer.default_url_options = { :host => 'awesomelibrary.org' }
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# add settings to assets.rb
|
|
35
|
+
def inject_asset_settings
|
|
36
|
+
unless IO.read('config/initializers/assets.rb').match(/^[^#]*config.assets.precompile/)
|
|
37
|
+
marker = '# Precompile additional assets.'
|
|
38
|
+
insert_into_file 'config/initializers/assets.rb', :after => marker do
|
|
39
|
+
%q{
|
|
40
|
+
Rails.application.config.assets.precompile += %w(wdl-viewer/fd-slider.min.css ie_fixes.css *.js)
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
end
|
|
49
|
+
end
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
require 'rails/generators'
|
|
2
|
+
|
|
3
|
+
module CommonwealthVlrEngine
|
|
4
|
+
class InstallGenerator < Rails::Generators::Base
|
|
5
|
+
|
|
6
|
+
source_root File.expand_path('../templates', __FILE__)
|
|
7
|
+
|
|
8
|
+
argument :search_builder_name, type: :string , default: "search_builder"
|
|
9
|
+
argument :document_name, type: :string , default: "solr_document"
|
|
10
|
+
argument :controller_name, type: :string , default: "catalog"
|
|
11
|
+
|
|
12
|
+
desc "InstallGenerator Commonwealth VLR Engine"
|
|
13
|
+
|
|
14
|
+
def verify_blacklight_installed
|
|
15
|
+
if !IO.read('app/controllers/application_controller.rb').include?('include Blacklight::Controller')
|
|
16
|
+
raise "It doesn't look like you have Blacklight installed..."
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def insert_to_assets
|
|
21
|
+
generate 'commonwealth_vlr_engine:localassets'
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def copy_yml_files
|
|
25
|
+
generate 'commonwealth_vlr_engine:yml'
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def insert_to_controllers
|
|
29
|
+
generate 'commonwealth_vlr_engine:controller', controller_name
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def insert_to_models
|
|
33
|
+
generate 'commonwealth_vlr_engine:model', search_builder_name, document_name
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def add_vlr_initializers
|
|
37
|
+
template 'config/initializers/a_load_commonwealth_vlr_configs.rb'
|
|
38
|
+
template 'config/initializers/devise.rb'
|
|
39
|
+
template 'config/initializers/secret_token.rb'
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def insert_to_routes
|
|
43
|
+
generate 'commonwealth_vlr_engine:routes'
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def insert_to_environments
|
|
47
|
+
generate 'commonwealth_vlr_engine:environment'
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def bundle_install
|
|
51
|
+
Bundler.with_clean_env do
|
|
52
|
+
run 'bundle install'
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
end
|
|
57
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
require 'rails/generators'
|
|
2
|
+
|
|
3
|
+
module CommonwealthVlrEngine
|
|
4
|
+
class LocalassetsGenerator < Rails::Generators::Base
|
|
5
|
+
|
|
6
|
+
source_root File.expand_path('../templates', __FILE__)
|
|
7
|
+
|
|
8
|
+
desc "AssetsGenerator Commonwealth VLR Engine"
|
|
9
|
+
|
|
10
|
+
def assets
|
|
11
|
+
unless IO.read("app/assets/javascripts/application.js").include?('commonwealth-vlr-engine')
|
|
12
|
+
marker = '//= require_tree .'
|
|
13
|
+
insert_into_file "app/assets/javascripts/application.js", :before => marker do
|
|
14
|
+
%q{
|
|
15
|
+
//
|
|
16
|
+
// Required by Commonwealth-VLR-Engine
|
|
17
|
+
//= require bootstrap/carousel
|
|
18
|
+
//= require commonwealth-vlr-engine
|
|
19
|
+
|
|
20
|
+
}
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
copy_file "commonwealth_vlr_engine.css.scss", "app/assets/stylesheets/commonwealth_vlr_engine.css.scss"
|
|
25
|
+
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
require 'rails/generators'
|
|
2
|
+
require 'rails/generators/migration'
|
|
3
|
+
|
|
4
|
+
module CommonwealthVlrEngine
|
|
5
|
+
class ModelGenerator < Rails::Generators::Base
|
|
6
|
+
include Rails::Generators::Migration
|
|
7
|
+
|
|
8
|
+
source_root File.expand_path('../templates', __FILE__)
|
|
9
|
+
|
|
10
|
+
argument :search_builder_model, :type => :string , :default => "search_builder"
|
|
11
|
+
argument :document_model_name, :type => :string , :default => "solr_document"
|
|
12
|
+
|
|
13
|
+
desc """
|
|
14
|
+
This generator makes the following changes to your application:
|
|
15
|
+
1. Injects the institution limiter into search_builder.rb
|
|
16
|
+
2. Adds OpenSeadragon suppoer to solr_document.rb
|
|
17
|
+
Thank you for Installing Commonwealth VLR.
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
# Limit the institutions
|
|
21
|
+
def inject_search_builder_behavior
|
|
22
|
+
unless IO.read("app/models/#{search_builder_model}.rb").include?('def institutions_filter')
|
|
23
|
+
marker = 'Blacklight::Solr::SearchBuilderBehavior'
|
|
24
|
+
insert_into_file "app/models/#{search_builder_model}.rb", :after => marker do
|
|
25
|
+
%q{
|
|
26
|
+
|
|
27
|
+
# limit to a specific institution
|
|
28
|
+
def institution_limit(solr_parameters = {})
|
|
29
|
+
solr_parameters[:fq] ||= []
|
|
30
|
+
solr_parameters[:fq] << '+institution_pid_ssi:"' + CommonwealthVlrEngine.config[:institution][:pid] + '"'
|
|
31
|
+
end
|
|
32
|
+
}
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# OpenSeadragon support?
|
|
38
|
+
def inject_solr_document_behavior
|
|
39
|
+
unless IO.read("app/models/#{document_model_name}.rb").include?('Blacklight::Gallery::OpenseadragonSolrDocument')
|
|
40
|
+
marker = 'include Blacklight::Solr::Document'
|
|
41
|
+
insert_into_file "app/models/#{document_model_name}.rb", :after => marker do
|
|
42
|
+
%q{
|
|
43
|
+
|
|
44
|
+
include Blacklight::Gallery::OpenseadragonSolrDocument
|
|
45
|
+
}
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# get the database migrations from the submodule
|
|
51
|
+
# https://github.com/boston-library/commonwealth-db-migrations.git
|
|
52
|
+
def get_migrations_submodule
|
|
53
|
+
Dir.chdir(File.expand_path(File.join(File.dirname(__FILE__), '..', '..', '..'))) do
|
|
54
|
+
`git submodule init`
|
|
55
|
+
`git submodule update`
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
# Setup the database migrations
|
|
60
|
+
def copy_migrations
|
|
61
|
+
rake 'railties:install:migrations'
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
end
|
|
65
|
+
end
|