arclight 0.4.0 → 1.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.eslintrc +11 -4
- data/.github/workflows/ruby.yml +37 -15
- data/.gitignore +1 -0
- data/.rspec +0 -1
- data/.rubocop.yml +498 -21
- data/.rubocop_todo.yml +69 -86
- data/.solr_wrapper +2 -1
- data/CONTRIBUTING.md +5 -5
- data/CONTRIBUTORS.md +1 -1
- data/Gemfile +15 -10
- data/README.md +20 -16
- data/app/assets/javascripts/arclight/arclight.js +4 -8
- data/app/assets/javascripts/arclight/oembed_controller.js +58 -0
- data/app/assets/javascripts/arclight/truncate_controller.js +27 -0
- data/app/assets/stylesheets/arclight/application.scss +2 -5
- data/app/assets/stylesheets/arclight/build.scss +4 -0
- data/app/assets/stylesheets/arclight/modules/hierarchy_and_online_contents.scss +108 -130
- data/app/assets/stylesheets/arclight/modules/icons.scss +19 -3
- data/app/assets/stylesheets/arclight/modules/layout.scss +129 -99
- data/app/assets/stylesheets/arclight/modules/mastheads.scss +23 -96
- data/app/assets/stylesheets/arclight/modules/repositories.scss +2 -2
- data/app/assets/stylesheets/arclight/modules/repository_card.scss +4 -48
- data/app/assets/stylesheets/arclight/modules/search_form.scss +9 -0
- data/app/assets/stylesheets/arclight/modules/search_results.scss +95 -45
- data/app/assets/stylesheets/arclight/modules/show_collection.scss +5 -32
- data/app/assets/stylesheets/arclight/modules/truncator.scss +58 -0
- data/app/assets/stylesheets/arclight/variables.scss +7 -4
- data/app/components/arclight/access_component.html.erb +14 -0
- data/app/components/arclight/access_component.rb +25 -0
- data/app/components/arclight/bookmark_component.html.erb +25 -0
- data/app/components/arclight/bookmark_component.rb +9 -0
- data/app/components/arclight/breadcrumb_component.rb +50 -0
- data/app/components/arclight/breadcrumbs_hierarchy_component.html.erb +34 -0
- data/app/components/arclight/breadcrumbs_hierarchy_component.rb +25 -0
- data/app/components/arclight/collection_context_component.html.erb +12 -0
- data/app/components/arclight/collection_context_component.rb +27 -0
- data/app/components/arclight/collection_info_component.html.erb +28 -0
- data/app/components/arclight/collection_info_component.rb +26 -0
- data/app/components/arclight/collection_sidebar_component.html.erb +15 -0
- data/app/components/arclight/collection_sidebar_component.rb +39 -0
- data/app/{views/catalog/_search_results_repository.html.erb → components/arclight/constraints_component.html.erb} +2 -1
- data/app/components/arclight/constraints_component.rb +17 -0
- data/app/components/arclight/document_collection_context_component.html.erb +29 -0
- data/app/components/arclight/document_collection_context_component.rb +28 -0
- data/app/components/arclight/document_collection_hierarchy_component.html.erb +50 -0
- data/app/components/arclight/document_collection_hierarchy_component.rb +62 -0
- data/app/components/arclight/document_component.html.erb +39 -0
- data/app/components/arclight/document_component.rb +49 -0
- data/app/components/arclight/document_components_hierarchy_component.html.erb +20 -0
- data/app/components/arclight/document_components_hierarchy_component.rb +34 -0
- data/app/components/arclight/document_download_component.html.erb +24 -0
- data/app/components/arclight/document_download_component.rb +71 -0
- data/app/components/arclight/embed_component.html.erb +10 -0
- data/app/components/arclight/embed_component.rb +43 -0
- data/app/components/arclight/expand_hierarchy_button_component.html.erb +5 -0
- data/app/components/arclight/expand_hierarchy_button_component.rb +16 -0
- data/app/components/arclight/group_component.html.erb +34 -0
- data/app/components/arclight/group_component.rb +23 -0
- data/app/components/arclight/header_component.html.erb +5 -0
- data/app/components/arclight/header_component.rb +10 -0
- data/app/components/arclight/index_metadata_field_component.html.erb +16 -0
- data/app/components/arclight/index_metadata_field_component.rb +20 -0
- data/app/components/arclight/masthead_component.html.erb +17 -0
- data/app/components/arclight/masthead_component.rb +10 -0
- data/app/components/arclight/metadata_section_component.html.erb +13 -0
- data/app/components/arclight/metadata_section_component.rb +22 -0
- data/app/components/arclight/oembed_viewer_component.html.erb +5 -0
- data/app/components/arclight/oembed_viewer_component.rb +16 -0
- data/app/components/arclight/online_content_filter_component.html.erb +15 -0
- data/app/components/arclight/online_content_filter_component.rb +17 -0
- data/app/components/arclight/online_status_indicator_component.rb +19 -0
- data/app/components/arclight/repository_breadcrumb_component.html.erb +10 -0
- data/app/components/arclight/repository_breadcrumb_component.rb +17 -0
- data/app/components/arclight/repository_location_component.html.erb +20 -0
- data/app/components/arclight/repository_location_component.rb +10 -0
- data/app/components/arclight/search_bar_component.html.erb +27 -0
- data/app/components/arclight/search_bar_component.rb +32 -0
- data/app/components/arclight/search_result_breadcrumbs_component.html.erb +6 -0
- data/app/components/arclight/search_result_breadcrumbs_component.rb +37 -0
- data/app/components/arclight/search_result_component.html.erb +20 -0
- data/app/components/arclight/search_result_component.rb +18 -0
- data/app/components/arclight/search_result_title_component.html.erb +15 -0
- data/app/components/arclight/search_result_title_component.rb +15 -0
- data/app/components/arclight/sidebar_component.html.erb +9 -0
- data/app/components/arclight/sidebar_component.rb +19 -0
- data/app/components/arclight/upper_metadata_layout_component.rb +10 -0
- data/app/components/blacklight/icons/bookmark_component.rb +12 -0
- data/app/components/blacklight/icons/collection_component.rb +14 -0
- data/app/components/blacklight/icons/compact_component.rb +12 -0
- data/app/components/blacklight/icons/container_component.rb +14 -0
- data/app/components/blacklight/icons/ead_component.rb +12 -0
- data/app/components/blacklight/icons/file_component.rb +14 -0
- data/app/components/blacklight/icons/folder_component.rb +12 -0
- data/app/components/blacklight/icons/online_component.rb +15 -0
- data/app/components/blacklight/icons/pdf_component.rb +12 -0
- data/app/components/blacklight/icons/repository_component.rb +12 -0
- data/app/controllers/arclight/repositories_controller.rb +4 -4
- data/app/{controllers/concerns → helpers}/arclight/ead_format_helpers.rb +91 -7
- data/app/helpers/arclight/field_config_helpers.rb +26 -0
- data/app/helpers/arclight_helper.rb +24 -251
- data/app/models/arclight/document_downloads.rb +12 -15
- data/app/models/arclight/parent.rb +6 -8
- data/app/models/arclight/parents.rb +7 -4
- data/app/models/arclight/requests/aeon_external_request.rb +1 -1
- data/app/models/arclight/requests/aeon_web_ead.rb +8 -3
- data/app/models/arclight/requests/google_form.rb +8 -3
- data/app/models/concerns/arclight/catalog.rb +25 -15
- data/app/models/concerns/arclight/search_behavior.rb +12 -26
- data/app/models/concerns/arclight/solr_document.rb +80 -73
- data/app/presenters/arclight/show_presenter.rb +34 -7
- data/app/views/arclight/_requests.html.erb +2 -2
- data/app/views/arclight/repositories/_repository.html.erb +21 -40
- data/app/views/arclight/repositories/index.html.erb +3 -1
- data/app/views/arclight/repositories/show.html.erb +4 -6
- data/app/views/arclight/requests/_aeon_external_request_endpoint.html.erb +4 -5
- data/app/views/arclight/requests/_aeon_web_ead.html.erb +3 -4
- data/app/views/arclight/requests/_google_form.html.erb +4 -6
- data/app/views/catalog/_document_list.html.erb +8 -0
- data/app/views/catalog/_group.html.erb +2 -19
- data/app/views/catalog/_group_toggle.html.erb +1 -1
- data/app/views/catalog/_search_results_header.html.erb +3 -0
- data/app/views/catalog/hierarchy.html.erb +19 -0
- data/app/views/catalog/index.html.erb +16 -7
- data/app/views/shared/_breadcrumbs.html.erb +2 -14
- data/app/views/shared/_main_menu_links.html.erb +1 -1
- data/arclight.gemspec +16 -14
- data/config/breadcrumbs.rb +24 -0
- data/config/i18n-tasks.yml +9 -8
- data/config/importmap.rb +3 -0
- data/config/locales/arclight.en.yml +31 -30
- data/config/routes.rb +1 -1
- data/docker-compose.yml +16 -0
- data/lib/arclight/digital_object.rb +2 -1
- data/lib/arclight/engine.rb +18 -37
- data/lib/arclight/exceptions.rb +1 -0
- data/lib/arclight/hash_absolute_xpath.rb +2 -1
- data/lib/arclight/normalized_date.rb +5 -10
- data/lib/arclight/normalized_id.rb +6 -2
- data/lib/arclight/normalized_title.rb +2 -0
- data/lib/arclight/repository.rb +46 -57
- data/lib/arclight/routes/hierarchy.rb +19 -0
- data/lib/arclight/routes.rb +8 -0
- data/lib/arclight/traject/ead2_component_config.rb +335 -0
- data/lib/arclight/traject/ead2_config.rb +120 -299
- data/lib/arclight/version.rb +1 -1
- data/lib/arclight/year_range.rb +4 -3
- data/lib/arclight.rb +6 -1
- data/lib/generators/arclight/install_generator.rb +94 -21
- data/lib/generators/arclight/templates/arclight.scss +6 -3
- data/lib/generators/arclight/templates/catalog_controller.rb +193 -165
- data/lib/generators/arclight/templates/config/locales/arclight.en.yml +61 -0
- data/lib/generators/arclight/templates/config/repositories.yml +22 -29
- data/lib/tasks/index.rake +14 -17
- data/package.json +13 -14
- data/solr/conf/schema.xml +49 -39
- data/solr/conf/solrconfig.xml +78 -58
- data/tasks/arclight.rake +17 -9
- data/template.rb +6 -7
- metadata +149 -123
- data/.babelrc +0 -3
- data/app/assets/javascripts/arclight/collection_navigation.js +0 -100
- data/app/assets/javascripts/arclight/collection_scrollspy.js +0 -6
- data/app/assets/javascripts/arclight/context_navigation.js +0 -351
- data/app/assets/javascripts/arclight/oembed_viewer.js +0 -46
- data/app/assets/javascripts/arclight/truncator.js.erb +0 -29
- data/app/assets/stylesheets/arclight/bootstrap_overrides.scss +0 -26
- data/app/assets/stylesheets/arclight/modules/context_navigation.scss +0 -75
- data/app/controllers/concerns/arclight/field_config_helpers.rb +0 -102
- data/app/factories/blacklight_field_configuration_factory.rb +0 -30
- data/app/views/arclight/repositories/_in_person_repository.html.erb +0 -19
- data/app/views/arclight/repositories/_repository_contact.html.erb +0 -9
- data/app/views/arclight/viewers/_oembed.html.erb +0 -8
- data/app/views/catalog/_access_contents.html.erb +0 -15
- data/app/views/catalog/_arclight_abstract_or_scope.html.erb +0 -5
- data/app/views/catalog/_arclight_bookmark_control.html.erb +0 -38
- data/app/views/catalog/_arclight_document_header_icon.html.erb +0 -1
- data/app/views/catalog/_arclight_document_index_header.html.erb +0 -13
- data/app/views/catalog/_arclight_document_index_header_hierarchy_default.html.erb +0 -0
- data/app/views/catalog/_arclight_document_index_header_online_contents_default.html.erb +0 -0
- data/app/views/catalog/_arclight_index_compact_default.html.erb +0 -22
- data/app/views/catalog/_arclight_index_default.html.erb +0 -45
- data/app/views/catalog/_arclight_index_group_document_compact_default.html.erb +0 -19
- data/app/views/catalog/_arclight_index_group_document_default.html.erb +0 -18
- data/app/views/catalog/_arclight_online_content_indicator.html.erb +0 -3
- data/app/views/catalog/_arclight_rangelimit.html.erb +0 -24
- data/app/views/catalog/_arclight_viewer_default.html.erb +0 -1
- data/app/views/catalog/_collection_contents.html.erb +0 -4
- data/app/views/catalog/_collection_context.html.erb +0 -15
- data/app/views/catalog/_collection_context_nav.html.erb +0 -12
- data/app/views/catalog/_collection_online_contents.html.erb +0 -17
- data/app/views/catalog/_component_context.html.erb +0 -5
- data/app/views/catalog/_containers.html.erb +0 -3
- data/app/views/catalog/_context_card.html.erb +0 -27
- data/app/views/catalog/_context_sidebar.html.erb +0 -8
- data/app/views/catalog/_custom_metadata.html.erb +0 -16
- data/app/views/catalog/_document_downloads.html.erb +0 -14
- data/app/views/catalog/_group_header_compact_default.html.erb +0 -15
- data/app/views/catalog/_group_header_default.html.erb +0 -20
- data/app/views/catalog/_home.html.erb +0 -1
- data/app/views/catalog/_index_breadcrumb_default.html.erb +0 -6
- data/app/views/catalog/_index_collection_context_default.html.erb +0 -53
- data/app/views/catalog/_index_default.html.erb +0 -17
- data/app/views/catalog/_index_header.html.erb +0 -7
- data/app/views/catalog/_index_header_online_contents_default.html.erb +0 -1
- data/app/views/catalog/_index_online_contents_default.html.erb +0 -6
- data/app/views/catalog/_online_content_label.html.erb +0 -5
- data/app/views/catalog/_search_form.html.erb +0 -34
- data/app/views/catalog/_search_results.html.erb +0 -28
- data/app/views/catalog/_show_actions_box_default.html.erb +0 -27
- data/app/views/catalog/_show_breadcrumbs_default.html.erb +0 -6
- data/app/views/catalog/_show_collection.html.erb +0 -66
- data/app/views/catalog/_show_default.html.erb +0 -70
- data/app/views/catalog/_show_upper_metadata_collection.html.erb +0 -1
- data/app/views/catalog/_show_upper_metadata_default.html.erb +0 -14
- data/app/views/catalog/_sort_and_per_page.html.erb +0 -8
- data/app/views/catalog/_within_collection_dropdown.html.erb +0 -26
- data/app/views/layouts/catalog_result.html.erb +0 -7
- data/app/views/shared/_context_sidebar.html.erb +0 -8
- data/app/views/shared/_header_navbar.html.erb +0 -61
- data/app/views/shared/_show_breadcrumbs.html.erb +0 -27
- data/lib/arclight/viewer.rb +0 -45
- data/lib/arclight/viewers/oembed.rb +0 -57
- data/solr/conf/scripts.conf +0 -24
- data/vendor/assets/javascripts/responsiveTruncator.js +0 -69
- data/vendor/assets/javascripts/stickyfill.js +0 -480
- /data/app/assets/images/{blacklight → arclight}/logo.png +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
# Blacklight controller that handles searches and document requests
|
|
3
4
|
class CatalogController < ApplicationController
|
|
4
5
|
include Blacklight::Catalog
|
|
5
6
|
include Arclight::Catalog
|
|
6
|
-
include Arclight::FieldConfigHelpers
|
|
7
7
|
|
|
8
8
|
configure_blacklight do |config|
|
|
9
9
|
## Class for sending and receiving requests from a search index
|
|
@@ -17,49 +17,101 @@ class CatalogController < ApplicationController
|
|
|
17
17
|
|
|
18
18
|
## Default parameters to send to solr for all search-like requests. See also SearchBuilder#processed_parameters
|
|
19
19
|
config.default_solr_params = {
|
|
20
|
-
rows: 10
|
|
20
|
+
rows: 10,
|
|
21
|
+
fl: '*,collection:[subquery]',
|
|
22
|
+
'collection.q': '{!terms f=id v=$row._root_}',
|
|
23
|
+
'collection.defType': 'lucene',
|
|
24
|
+
'collection.fl': '*',
|
|
25
|
+
'collection.rows': 1
|
|
21
26
|
}
|
|
22
27
|
|
|
28
|
+
# Sets the indexed Solr field that will display with highlighted matches
|
|
29
|
+
config.highlight_field = 'text'
|
|
30
|
+
|
|
23
31
|
# solr path which will be added to solr base url before the other solr params.
|
|
24
32
|
# config.solr_path = 'select'
|
|
25
33
|
|
|
26
34
|
# items to show per page, each number in the array represent another option to choose from.
|
|
27
35
|
# config.per_page = [10,20,50,100]
|
|
28
36
|
|
|
29
|
-
## Default parameters to send on single-document requests to Solr.
|
|
37
|
+
## Default parameters to send on single-document requests to Solr.
|
|
38
|
+
## These settings are the Blacklight defaults (see SearchHelper#solr_doc_params) or
|
|
30
39
|
## parameters included in the Blacklight-jetty document requestHandler.
|
|
31
40
|
#
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
41
|
+
config.default_document_solr_params = {
|
|
42
|
+
qt: 'document',
|
|
43
|
+
fl: '*,collection:[subquery]',
|
|
44
|
+
'collection.q': '{!terms f=id v=$row._root_}',
|
|
45
|
+
'collection.defType': 'lucene',
|
|
46
|
+
'collection.fl': '*',
|
|
47
|
+
'collection.rows': 1
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
config.header_component = Arclight::HeaderComponent
|
|
51
|
+
config.add_results_document_tool(:online, component: Arclight::OnlineStatusIndicatorComponent)
|
|
52
|
+
config.add_results_document_tool(:arclight_bookmark_control, component: Arclight::BookmarkComponent)
|
|
53
|
+
|
|
54
|
+
config.add_results_collection_tool(:group_toggle)
|
|
55
|
+
config.add_results_collection_tool(:sort_widget)
|
|
56
|
+
config.add_results_collection_tool(:per_page_widget)
|
|
57
|
+
config.add_results_collection_tool(:view_type_group)
|
|
58
|
+
|
|
59
|
+
config.add_nav_action(:bookmark, partial: 'blacklight/nav/bookmark', if: :render_bookmarks_control?)
|
|
60
|
+
config.add_nav_action(:search_history, partial: 'blacklight/nav/search_history')
|
|
39
61
|
|
|
40
62
|
# solr field configuration for search results/index views
|
|
63
|
+
config.index.partials = %i[arclight_index_default]
|
|
41
64
|
config.index.title_field = 'normalized_title_ssm'
|
|
42
65
|
config.index.display_type_field = 'level_ssm'
|
|
66
|
+
config.index.document_component = Arclight::SearchResultComponent
|
|
67
|
+
config.index.group_component = Arclight::GroupComponent
|
|
68
|
+
config.index.constraints_component = Arclight::ConstraintsComponent
|
|
69
|
+
config.index.document_presenter_class = Arclight::IndexPresenter
|
|
70
|
+
config.index.search_bar_component = Arclight::SearchBarComponent
|
|
43
71
|
# config.index.thumbnail_field = 'thumbnail_path_ss'
|
|
44
72
|
|
|
45
73
|
# solr field configuration for document/show views
|
|
46
74
|
# config.show.title_field = 'title_display'
|
|
75
|
+
config.show.document_component = Arclight::DocumentComponent
|
|
76
|
+
config.show.sidebar_component = Arclight::SidebarComponent
|
|
77
|
+
config.show.breadcrumb_component = Arclight::BreadcrumbsHierarchyComponent
|
|
78
|
+
config.show.embed_component = Arclight::EmbedComponent
|
|
79
|
+
config.show.access_component = Arclight::AccessComponent
|
|
80
|
+
config.show.online_status_component = Arclight::OnlineStatusIndicatorComponent
|
|
81
|
+
config.show.expand_hierarchy_component = Arclight::ExpandHierarchyButtonComponent
|
|
47
82
|
config.show.display_type_field = 'level_ssm'
|
|
48
83
|
# config.show.thumbnail_field = 'thumbnail_path_ss'
|
|
84
|
+
config.show.document_presenter_class = Arclight::ShowPresenter
|
|
85
|
+
config.show.metadata_partials = %i[
|
|
86
|
+
summary_field
|
|
87
|
+
background_field
|
|
88
|
+
related_field
|
|
89
|
+
indexed_terms_field
|
|
90
|
+
access_field
|
|
91
|
+
]
|
|
49
92
|
|
|
50
|
-
config.
|
|
93
|
+
config.show.collection_access_items = %i[
|
|
94
|
+
terms_field
|
|
95
|
+
cite_field
|
|
96
|
+
in_person_field
|
|
97
|
+
contact_field
|
|
98
|
+
]
|
|
51
99
|
|
|
52
|
-
config.
|
|
53
|
-
|
|
54
|
-
|
|
100
|
+
config.show.component_metadata_partials = %i[
|
|
101
|
+
component_field
|
|
102
|
+
component_indexed_terms_field
|
|
103
|
+
]
|
|
55
104
|
|
|
56
|
-
config.
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
105
|
+
config.show.component_access_items = %i[
|
|
106
|
+
component_terms_field
|
|
107
|
+
cite_field
|
|
108
|
+
in_person_field
|
|
109
|
+
contact_field
|
|
110
|
+
]
|
|
60
111
|
|
|
61
|
-
|
|
62
|
-
|
|
112
|
+
##
|
|
113
|
+
# Compact index view
|
|
114
|
+
config.view.compact!
|
|
63
115
|
|
|
64
116
|
# solr fields that will be treated as facets by the blacklight application
|
|
65
117
|
# The ordering of the field names is the order of the display
|
|
@@ -82,21 +134,19 @@ class CatalogController < ApplicationController
|
|
|
82
134
|
# facet bar
|
|
83
135
|
#
|
|
84
136
|
# set :index_range to true if you want the facet pagination view to have facet prefix-based navigation
|
|
85
|
-
# (useful when user clicks "more" on a large facet and wants to navigate alphabetically
|
|
86
|
-
#
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
config.add_facet_field '
|
|
91
|
-
config.add_facet_field '
|
|
92
|
-
config.add_facet_field '
|
|
93
|
-
config.add_facet_field '
|
|
94
|
-
config.add_facet_field '
|
|
95
|
-
config.add_facet_field '
|
|
96
|
-
config.add_facet_field '
|
|
97
|
-
config.add_facet_field '
|
|
98
|
-
config.add_facet_field 'component_level_isim', show: false
|
|
99
|
-
config.add_facet_field 'parent_ssim', show: false
|
|
137
|
+
# (useful when user clicks "more" on a large facet and wants to navigate alphabetically
|
|
138
|
+
# across a large set of results)
|
|
139
|
+
# :index_range can be an array or range of prefixes that will be used to create the navigation
|
|
140
|
+
# (note: It is case sensitive when searching values)
|
|
141
|
+
|
|
142
|
+
config.add_facet_field 'collection', field: 'collection_ssim', limit: 10
|
|
143
|
+
config.add_facet_field 'creators', field: 'creator_ssim', limit: 10
|
|
144
|
+
config.add_facet_field 'date_range', field: 'date_range_isim', range: true
|
|
145
|
+
config.add_facet_field 'level', field: 'level_ssim', limit: 10
|
|
146
|
+
config.add_facet_field 'names', field: 'names_ssim', limit: 10
|
|
147
|
+
config.add_facet_field 'repository', field: 'repository_ssim', limit: 10
|
|
148
|
+
config.add_facet_field 'places', field: 'geogname_ssim', limit: 10
|
|
149
|
+
config.add_facet_field 'access_subjects', field: 'access_subjects_ssim', limit: 10
|
|
100
150
|
|
|
101
151
|
# Have BL send all facet field names to Solr, which has been the default
|
|
102
152
|
# previously. Simply remove these lines if you'd rather use Solr request
|
|
@@ -105,18 +155,16 @@ class CatalogController < ApplicationController
|
|
|
105
155
|
|
|
106
156
|
# solr fields to be displayed in the index (search results) view
|
|
107
157
|
# The ordering of the field names is the order of the display
|
|
108
|
-
config.add_index_field '
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
config.add_index_field '
|
|
114
|
-
config.add_index_field '
|
|
115
|
-
config.add_index_field '
|
|
116
|
-
|
|
117
|
-
config.
|
|
118
|
-
|
|
119
|
-
config.add_facet_field 'has_online_content_ssim', label: 'Access', query: {
|
|
158
|
+
config.add_index_field 'highlight', accessor: 'highlights', separator_options: {
|
|
159
|
+
words_connector: '<br/>',
|
|
160
|
+
two_words_connector: '<br/>',
|
|
161
|
+
last_word_connector: '<br/>'
|
|
162
|
+
}, compact: true, component: Arclight::IndexMetadataFieldComponent
|
|
163
|
+
config.add_index_field 'creator', accessor: true, component: Arclight::IndexMetadataFieldComponent
|
|
164
|
+
config.add_index_field 'abstract_or_scope', accessor: true, truncate: true, repository_context: true, helper_method: :render_html_tags, component: Arclight::IndexMetadataFieldComponent
|
|
165
|
+
config.add_index_field 'breadcrumbs', accessor: :itself, component: Arclight::SearchResultBreadcrumbsComponent, compact: { count: 2 }
|
|
166
|
+
|
|
167
|
+
config.add_facet_field 'access', query: {
|
|
120
168
|
online: { label: 'Online access', fq: 'has_online_content_ssim:true' }
|
|
121
169
|
}
|
|
122
170
|
|
|
@@ -147,7 +195,7 @@ class CatalogController < ApplicationController
|
|
|
147
195
|
config.add_search_field 'within_collection' do |field|
|
|
148
196
|
field.include_in_simple_select = false
|
|
149
197
|
field.solr_parameters = {
|
|
150
|
-
fq: '-
|
|
198
|
+
fq: '-level_ssim:Collection'
|
|
151
199
|
}
|
|
152
200
|
end
|
|
153
201
|
|
|
@@ -184,6 +232,24 @@ class CatalogController < ApplicationController
|
|
|
184
232
|
pf: '${pf_title}'
|
|
185
233
|
}
|
|
186
234
|
end
|
|
235
|
+
config.add_search_field 'container', label: 'Container' do |field|
|
|
236
|
+
field.qt = 'search'
|
|
237
|
+
field.solr_parameters = {
|
|
238
|
+
qf: '${qf_container}',
|
|
239
|
+
pf: '${pf_container}'
|
|
240
|
+
}
|
|
241
|
+
end
|
|
242
|
+
config.add_search_field 'identifier', label: 'Identifier' do |field|
|
|
243
|
+
field.qt = 'search'
|
|
244
|
+
field.solr_parameters = {
|
|
245
|
+
qf: '${qf_identifier}',
|
|
246
|
+
pf: '${pf_identifier}'
|
|
247
|
+
}
|
|
248
|
+
end
|
|
249
|
+
|
|
250
|
+
# These are the parameters passed through in search_state.params_for_search
|
|
251
|
+
config.search_state_fields += %i[id group hierarchy_context original_document]
|
|
252
|
+
config.search_state_fields << { original_parents: [] }
|
|
187
253
|
|
|
188
254
|
# "sort results by" select (pulldown)
|
|
189
255
|
# label in pulldown is followed by the name of the SOLR field to sort by and
|
|
@@ -205,191 +271,153 @@ class CatalogController < ApplicationController
|
|
|
205
271
|
config.autocomplete_enabled = true
|
|
206
272
|
config.autocomplete_path = 'suggest'
|
|
207
273
|
|
|
208
|
-
##
|
|
209
|
-
# Arclight Configurations
|
|
210
|
-
|
|
211
|
-
config.show.document_presenter_class = Arclight::ShowPresenter
|
|
212
|
-
config.index.document_presenter_class = Arclight::IndexPresenter
|
|
213
|
-
|
|
214
|
-
##
|
|
215
|
-
# Configuration for partials
|
|
216
|
-
config.index.partials = %i[arclight_index_default]
|
|
217
|
-
|
|
218
|
-
##
|
|
219
|
-
# Configuration for index actions
|
|
220
|
-
config.index.document_actions << :containers
|
|
221
|
-
config.index.document_actions << :online_content_label
|
|
222
|
-
config.add_results_document_tool :arclight_bookmark_control, partial: 'arclight_bookmark_control'
|
|
223
|
-
config.index.document_actions.delete(:bookmark)
|
|
224
|
-
|
|
225
|
-
config.show.metadata_partials = %i[
|
|
226
|
-
summary_field
|
|
227
|
-
access_field
|
|
228
|
-
background_field
|
|
229
|
-
related_field
|
|
230
|
-
indexed_terms_field
|
|
231
|
-
]
|
|
232
|
-
|
|
233
|
-
config.show.context_access_tab_items = %i[
|
|
234
|
-
terms_field
|
|
235
|
-
cite_field
|
|
236
|
-
in_person_field
|
|
237
|
-
contact_field
|
|
238
|
-
]
|
|
239
|
-
|
|
240
|
-
config.show.component_metadata_partials = %i[
|
|
241
|
-
component_field
|
|
242
|
-
component_indexed_terms_field
|
|
243
|
-
]
|
|
244
|
-
|
|
245
|
-
config.show.component_access_tab_items = %i[
|
|
246
|
-
component_terms_field
|
|
247
|
-
cite_field
|
|
248
|
-
in_person_field
|
|
249
|
-
contact_field
|
|
250
|
-
]
|
|
251
274
|
|
|
252
275
|
# ===========================
|
|
253
276
|
# COLLECTION SHOW PAGE FIELDS
|
|
254
277
|
# ===========================
|
|
255
278
|
|
|
256
279
|
# Collection Show Page - Summary Section
|
|
257
|
-
config.add_summary_field '
|
|
258
|
-
config.add_summary_field '
|
|
259
|
-
config.add_summary_field '
|
|
260
|
-
config.add_summary_field '
|
|
261
|
-
config.add_summary_field '
|
|
280
|
+
config.add_summary_field 'creators', field: 'creator_ssim', link_to_facet: true
|
|
281
|
+
config.add_summary_field 'abstract', field: 'abstract_html_tesm', helper_method: :render_html_tags
|
|
282
|
+
config.add_summary_field 'extent', field: 'extent_ssm'
|
|
283
|
+
config.add_summary_field 'language', field: 'language_ssim'
|
|
284
|
+
config.add_summary_field 'prefercite', field: 'prefercite_html_tesm', helper_method: :render_html_tags
|
|
262
285
|
|
|
263
286
|
# Collection Show Page - Background Section
|
|
264
|
-
config.add_background_field '
|
|
265
|
-
config.add_background_field '
|
|
266
|
-
config.add_background_field '
|
|
267
|
-
config.add_background_field '
|
|
268
|
-
config.add_background_field '
|
|
269
|
-
config.add_background_field '
|
|
270
|
-
config.add_background_field '
|
|
271
|
-
config.add_background_field '
|
|
272
|
-
config.add_background_field '
|
|
273
|
-
config.add_background_field '
|
|
274
|
-
config.add_background_field '
|
|
287
|
+
config.add_background_field 'scopecontent', field: 'scopecontent_html_tesm', helper_method: :render_html_tags
|
|
288
|
+
config.add_background_field 'bioghist', field: 'bioghist_html_tesm', helper_method: :render_html_tags
|
|
289
|
+
config.add_background_field 'acqinfo', field: 'acqinfo_ssim', helper_method: :render_html_tags
|
|
290
|
+
config.add_background_field 'appraisal', field: 'appraisal_html_tesm', helper_method: :render_html_tags
|
|
291
|
+
config.add_background_field 'custodhist', field: 'custodhist_html_tesm', helper_method: :render_html_tags
|
|
292
|
+
config.add_background_field 'processinfo', field: 'processinfo_html_tesm', helper_method: :render_html_tags
|
|
293
|
+
config.add_background_field 'arrangement', field: 'arrangement_html_tesm', helper_method: :render_html_tags
|
|
294
|
+
config.add_background_field 'accruals', field: 'accruals_html_tesm', helper_method: :render_html_tags
|
|
295
|
+
config.add_background_field 'phystech', field: 'phystech_html_tesm', helper_method: :render_html_tags
|
|
296
|
+
config.add_background_field 'physloc', field: 'physloc_html_tesm', helper_method: :render_html_tags
|
|
297
|
+
config.add_background_field 'physdesc', field: 'physdesc_tesim', helper_method: :render_html_tags
|
|
298
|
+
config.add_background_field 'physfacet', field: 'physfacet_tesim', helper_method: :render_html_tags
|
|
299
|
+
config.add_background_field 'dimensions', field: 'dimensions_tesim', helper_method: :render_html_tags
|
|
300
|
+
config.add_background_field 'materialspec', field: 'materialspec_html_tesm', helper_method: :render_html_tags
|
|
301
|
+
config.add_background_field 'fileplan', field: 'fileplan_html_tesm', helper_method: :render_html_tags
|
|
302
|
+
config.add_background_field 'descrules', field: 'descrules_ssm', helper_method: :render_html_tags
|
|
303
|
+
config.add_background_field 'note', field: 'note_html_tesm', helper_method: :render_html_tags
|
|
275
304
|
|
|
276
305
|
# Collection Show Page - Related Section
|
|
277
|
-
config.add_related_field '
|
|
278
|
-
config.add_related_field '
|
|
279
|
-
config.add_related_field '
|
|
280
|
-
config.add_related_field '
|
|
281
|
-
config.add_related_field '
|
|
306
|
+
config.add_related_field 'relatedmaterial', field: 'relatedmaterial_html_tesm', helper_method: :render_html_tags
|
|
307
|
+
config.add_related_field 'separatedmaterial', field: 'separatedmaterial_html_tesm', helper_method: :render_html_tags
|
|
308
|
+
config.add_related_field 'otherfindaid', field: 'otherfindaid_html_tesm', helper_method: :render_html_tags
|
|
309
|
+
config.add_related_field 'altformavail', field: 'altformavail_html_tesm', helper_method: :render_html_tags
|
|
310
|
+
config.add_related_field 'originalsloc', field: 'originalsloc_html_tesm', helper_method: :render_html_tags
|
|
311
|
+
config.add_related_field 'odd', field: 'odd_html_tesm', helper_method: :render_html_tags
|
|
282
312
|
|
|
283
313
|
# Collection Show Page - Indexed Terms Section
|
|
284
|
-
config.add_indexed_terms_field '
|
|
314
|
+
config.add_indexed_terms_field 'access_subjects', field: 'access_subjects_ssim', link_to_facet: true, separator_options: {
|
|
285
315
|
words_connector: '<br/>',
|
|
286
316
|
two_words_connector: '<br/>',
|
|
287
317
|
last_word_connector: '<br/>'
|
|
288
318
|
}
|
|
289
319
|
|
|
290
|
-
config.add_indexed_terms_field '
|
|
320
|
+
config.add_indexed_terms_field 'names_coll', field: 'names_coll_ssim', separator_options: {
|
|
291
321
|
words_connector: '<br/>',
|
|
292
322
|
two_words_connector: '<br/>',
|
|
293
323
|
last_word_connector: '<br/>'
|
|
294
324
|
}, helper_method: :link_to_name_facet
|
|
295
325
|
|
|
296
|
-
config.add_indexed_terms_field '
|
|
326
|
+
config.add_indexed_terms_field 'places', field: 'places_ssim', link_to_facet: true, separator_options: {
|
|
297
327
|
words_connector: '<br/>',
|
|
298
328
|
two_words_connector: '<br/>',
|
|
299
329
|
last_word_connector: '<br/>'
|
|
300
330
|
}
|
|
301
331
|
|
|
332
|
+
config.add_indexed_terms_field 'indexes', field: 'indexes_html_tesm',
|
|
333
|
+
helper_method: :render_html_tags
|
|
334
|
+
|
|
302
335
|
# ==========================
|
|
303
336
|
# COMPONENT SHOW PAGE FIELDS
|
|
304
337
|
# ==========================
|
|
305
338
|
|
|
306
339
|
# Component Show Page - Metadata Section
|
|
307
|
-
config.add_component_field 'containers',
|
|
340
|
+
config.add_component_field 'containers', accessor: 'containers', separator_options: {
|
|
308
341
|
words_connector: ', ',
|
|
309
342
|
two_words_connector: ', ',
|
|
310
343
|
last_word_connector: ', '
|
|
311
344
|
}, if: lambda { |_context, _field_config, document|
|
|
312
345
|
document.containers.present?
|
|
313
346
|
}
|
|
314
|
-
config.add_component_field '
|
|
315
|
-
config.add_component_field '
|
|
316
|
-
config.add_component_field '
|
|
317
|
-
config.add_component_field '
|
|
318
|
-
config.add_component_field '
|
|
319
|
-
config.add_component_field '
|
|
320
|
-
config.add_component_field '
|
|
321
|
-
config.add_component_field '
|
|
322
|
-
config.add_component_field '
|
|
323
|
-
config.add_component_field '
|
|
324
|
-
config.add_component_field '
|
|
347
|
+
config.add_component_field 'creators', field: 'creator_ssim', link_to_facet: true
|
|
348
|
+
config.add_component_field 'abstract', field: 'abstract_html_tesm', helper_method: :render_html_tags
|
|
349
|
+
config.add_component_field 'extent', field: 'extent_ssm'
|
|
350
|
+
config.add_component_field 'scopecontent', field: 'scopecontent_html_tesm', helper_method: :render_html_tags
|
|
351
|
+
config.add_component_field 'language', field: 'language_ssim'
|
|
352
|
+
config.add_component_field 'acqinfo', field: 'acqinfo_ssim', helper_method: :render_html_tags
|
|
353
|
+
config.add_component_field 'bioghist', field: 'bioghist_html_tesm', helper_method: :render_html_tags
|
|
354
|
+
config.add_component_field 'appraisal', field: 'appraisal_html_tesm', helper_method: :render_html_tags
|
|
355
|
+
config.add_component_field 'custodhist', field: 'custodhist_html_tesm', helper_method: :render_html_tags
|
|
356
|
+
config.add_component_field 'processinfo', field: 'processinfo_html_tesm', helper_method: :render_html_tags
|
|
357
|
+
config.add_component_field 'arrangement', field: 'arrangement_html_tesm', helper_method: :render_html_tags
|
|
358
|
+
config.add_component_field 'accruals', field: 'accruals_html_tesm', helper_method: :render_html_tags
|
|
359
|
+
config.add_component_field 'phystech', field: 'phystech_html_tesm', helper_method: :render_html_tags
|
|
360
|
+
config.add_component_field 'materialspec', field: 'materialspec_html_tesm', helper_method: :render_html_tags
|
|
361
|
+
config.add_component_field 'physloc', field: 'physloc_html_tesm', helper_method: :render_html_tags
|
|
362
|
+
config.add_component_field 'physdesc', field: 'physdesc_tesim', helper_method: :render_html_tags
|
|
363
|
+
config.add_component_field 'physfacet', field: 'physfacet_tesim', helper_method: :render_html_tags
|
|
364
|
+
config.add_component_field 'dimensions', field: 'dimensions_tesim', helper_method: :render_html_tags
|
|
365
|
+
config.add_component_field 'fileplan', field: 'fileplan_html_tesm', helper_method: :render_html_tags
|
|
366
|
+
config.add_component_field 'altformavail', field: 'altformavail_html_tesm', helper_method: :render_html_tags
|
|
367
|
+
config.add_component_field 'otherfindaid', field: 'otherfindaid_html_tesm', helper_method: :render_html_tags
|
|
368
|
+
config.add_component_field 'odd', field: 'odd_html_tesm', helper_method: :render_html_tags
|
|
369
|
+
config.add_component_field 'relatedmaterial', field: 'relatedmaterial_html_tesm', helper_method: :render_html_tags
|
|
370
|
+
config.add_component_field 'separatedmaterial', field: 'separatedmaterial_html_tesm', helper_method: :render_html_tags
|
|
371
|
+
config.add_component_field 'originalsloc', field: 'originalsloc_html_tesm', helper_method: :render_html_tags
|
|
372
|
+
config.add_component_field 'note', field: 'note_html_tesm', helper_method: :render_html_tags
|
|
325
373
|
|
|
326
374
|
# Component Show Page - Indexed Terms Section
|
|
327
|
-
config.add_component_indexed_terms_field '
|
|
375
|
+
config.add_component_indexed_terms_field 'access_subjects', field: 'access_subjects_ssim', link_to_facet: true, separator_options: {
|
|
328
376
|
words_connector: '<br/>',
|
|
329
377
|
two_words_connector: '<br/>',
|
|
330
378
|
last_word_connector: '<br/>'
|
|
331
379
|
}
|
|
332
380
|
|
|
333
|
-
config.add_component_indexed_terms_field '
|
|
381
|
+
config.add_component_indexed_terms_field 'names', field: 'names_ssim', separator_options: {
|
|
334
382
|
words_connector: '<br/>',
|
|
335
383
|
two_words_connector: '<br/>',
|
|
336
384
|
last_word_connector: '<br/>'
|
|
337
385
|
}, helper_method: :link_to_name_facet
|
|
338
386
|
|
|
339
|
-
config.add_component_indexed_terms_field '
|
|
387
|
+
config.add_component_indexed_terms_field 'places', field: 'places_ssim', link_to_facet: true, separator_options: {
|
|
340
388
|
words_connector: '<br/>',
|
|
341
389
|
two_words_connector: '<br/>',
|
|
342
390
|
last_word_connector: '<br/>'
|
|
343
391
|
}
|
|
344
392
|
|
|
393
|
+
config.add_component_indexed_terms_field 'indexes', field: 'indexes_html_tesm',
|
|
394
|
+
helper_method: :render_html_tags
|
|
395
|
+
|
|
345
396
|
# =================
|
|
346
397
|
# ACCESS TAB FIELDS
|
|
347
398
|
# =================
|
|
348
399
|
|
|
349
400
|
# Collection Show Page Access Tab - Terms and Conditions Section
|
|
350
|
-
config.add_terms_field '
|
|
351
|
-
config.add_terms_field '
|
|
401
|
+
config.add_terms_field 'restrictions', field: 'accessrestrict_html_tesm', helper_method: :render_html_tags
|
|
402
|
+
config.add_terms_field 'terms', field: 'userestrict_html_tesm', helper_method: :render_html_tags
|
|
352
403
|
|
|
353
404
|
# Component Show Page Access Tab - Terms and Condition Section
|
|
354
|
-
config.add_component_terms_field '
|
|
355
|
-
config.add_component_terms_field '
|
|
356
|
-
config.add_component_terms_field '
|
|
357
|
-
config.add_component_terms_field '
|
|
405
|
+
config.add_component_terms_field 'restrictions', field: 'accessrestrict_html_tesm', helper_method: :render_html_tags
|
|
406
|
+
config.add_component_terms_field 'terms', field: 'userestrict_html_tesm', helper_method: :render_html_tags
|
|
407
|
+
config.add_component_terms_field 'parent_restrictions', field: 'parent_access_restrict_tesm', helper_method: :render_html_tags
|
|
408
|
+
config.add_component_terms_field 'parent_terms', field: 'parent_access_terms_tesm', helper_method: :render_html_tags
|
|
358
409
|
|
|
359
410
|
# Collection and Component Show Page Access Tab - In Person Section
|
|
360
|
-
config.add_in_person_field '
|
|
361
|
-
config.add_in_person_field '
|
|
411
|
+
config.add_in_person_field 'repository_location', values: ->(_, document, _) { document.repository_config }, component: Arclight::RepositoryLocationComponent
|
|
412
|
+
config.add_in_person_field 'before_you_visit', values: ->(_, document, _) { document.repository_config&.visit_note }
|
|
362
413
|
|
|
363
414
|
# Collection and Component Show Page Access Tab - How to Cite Section
|
|
364
|
-
config.add_cite_field '
|
|
415
|
+
config.add_cite_field 'prefercite', field: 'prefercite_html_tesm', helper_method: :render_html_tags
|
|
365
416
|
|
|
366
417
|
# Collection and Component Show Page Access Tab - Contact Section
|
|
367
|
-
config.add_contact_field '
|
|
368
|
-
|
|
369
|
-
# Remove unused show document actions
|
|
370
|
-
%i[citation email sms].each do |action|
|
|
371
|
-
config.view_config(:show).document_actions.delete(action)
|
|
372
|
-
end
|
|
373
|
-
|
|
374
|
-
# Insert the breadcrumbs at the beginning
|
|
375
|
-
config.show.partials.unshift(:show_upper_metadata)
|
|
376
|
-
config.show.partials.unshift(:show_breadcrumbs)
|
|
377
|
-
config.show.partials.delete(:show_header)
|
|
418
|
+
config.add_contact_field 'repository_contact', values: ->(_, document, _) { document.repository_config&.contact }
|
|
378
419
|
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
config.view.online_contents
|
|
382
|
-
config.view.online_contents.display_control = false
|
|
383
|
-
|
|
384
|
-
##
|
|
385
|
-
# Collection Context
|
|
386
|
-
config.view.collection_context
|
|
387
|
-
config.view.collection_context.display_control = false
|
|
388
|
-
config.view.collection_context.partials = %i[index_collection_context]
|
|
389
|
-
|
|
390
|
-
##
|
|
391
|
-
# Compact index view
|
|
392
|
-
config.view.compact
|
|
393
|
-
config.view.compact.partials = %i[arclight_index_compact]
|
|
420
|
+
# Group header values
|
|
421
|
+
config.add_group_header_field 'abstract_or_scope', accessor: true, truncate: true, helper_method: :render_html_tags
|
|
394
422
|
end
|
|
395
423
|
end
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
en:
|
|
2
|
+
blacklight:
|
|
3
|
+
search:
|
|
4
|
+
fields:
|
|
5
|
+
abstract: Abstract
|
|
6
|
+
creators: Creator
|
|
7
|
+
extent: Extent
|
|
8
|
+
language: Language
|
|
9
|
+
prefercite: Preferred citation
|
|
10
|
+
|
|
11
|
+
scopecontent: Scope and content
|
|
12
|
+
bioghist: Biographical / historical
|
|
13
|
+
acqinfo: Acquisition information
|
|
14
|
+
appraisal: Appraisal information
|
|
15
|
+
custodhist: Custodial history
|
|
16
|
+
processinfo: Processing information
|
|
17
|
+
arrangement: Arrangement
|
|
18
|
+
accruals: Accruals
|
|
19
|
+
phystech: Physical / technical requirements
|
|
20
|
+
physloc: Physical location
|
|
21
|
+
physdesc: Physical description
|
|
22
|
+
physfacet: Physical facet
|
|
23
|
+
dimensions: Dimensions
|
|
24
|
+
indexes: Indexes
|
|
25
|
+
descrules: Rules or conventions
|
|
26
|
+
|
|
27
|
+
relatedmaterial: Related material
|
|
28
|
+
separatedmaterial: Separated material
|
|
29
|
+
otherfindaid: Other finding aids
|
|
30
|
+
altformavail: Alternative form available
|
|
31
|
+
originalsloc: Location of originals
|
|
32
|
+
materialspec: Material specific details
|
|
33
|
+
fileplan: File plan
|
|
34
|
+
odd: Other descriptive data
|
|
35
|
+
note: Note
|
|
36
|
+
|
|
37
|
+
access_subjects: Subjects
|
|
38
|
+
names_coll: Names
|
|
39
|
+
places: Places
|
|
40
|
+
|
|
41
|
+
containers: Containers
|
|
42
|
+
names: Names
|
|
43
|
+
|
|
44
|
+
restrictions: Restrictions
|
|
45
|
+
terms: Terms of access
|
|
46
|
+
parent_restrictions: Parent restrictions
|
|
47
|
+
parent_terms: Parent terms of access
|
|
48
|
+
repository_location: Location of this collection
|
|
49
|
+
before_you_visit: Before you visit
|
|
50
|
+
repository_contact: Contact
|
|
51
|
+
|
|
52
|
+
facet:
|
|
53
|
+
collection: Collection
|
|
54
|
+
creator: Creator
|
|
55
|
+
date_range: Date range
|
|
56
|
+
level: Level
|
|
57
|
+
names: Names
|
|
58
|
+
repository: Repository
|
|
59
|
+
place: Place
|
|
60
|
+
subject: Subject
|
|
61
|
+
access: Access
|