qa_server 7.5.1 → 7.9.0
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/.rubocop_fixme.yml +3 -2
- data/.travis.yml +1 -1
- data/CHANGELOG.md +28 -0
- data/app/assets/stylesheets/qa_server/_check-status.scss +4 -0
- data/app/assets/stylesheets/qa_server/_monitor-status.scss +45 -0
- data/app/cache_processors/concerns/qa_server/cache_keys.rb +1 -0
- data/app/cache_processors/qa_server/scenario_history_cache.rb +19 -1
- data/app/controllers/qa_server/monitor_status_controller.rb +39 -9
- data/app/models/qa_server/scenario_run_history.rb +12 -3
- data/app/models/qa_server/search_scenario.rb +6 -0
- data/app/presenters/qa_server/check_status_presenter.rb +1 -1
- data/app/presenters/qa_server/monitor_status/current_status_presenter.rb +9 -8
- data/app/presenters/qa_server/monitor_status/history_presenter.rb +55 -4
- data/app/presenters/qa_server/monitor_status/history_up_down_presenter.rb +58 -0
- data/app/presenters/qa_server/monitor_status_presenter.rb +7 -2
- data/app/services/qa_server/history_up_down_service.rb +103 -0
- data/app/services/qa_server/time_service.rb +6 -0
- data/app/views/qa_server/check_status/index.html.erb +7 -6
- data/app/views/qa_server/monitor_status/_test_summary.html.erb +1 -1
- data/app/views/qa_server/monitor_status/_test_up_down_connection_history.html.erb +30 -0
- data/app/views/qa_server/monitor_status/index.html.erb +2 -1
- data/config/locales/qa_server.en.yml +8 -7
- data/lib/generators/qa_server/templates/config/authorities/linked_data/getty_tgn_ld4l_cache.json +24 -14
- data/lib/generators/qa_server/templates/config/authorities/linked_data/getty_ulan_ld4l_cache.json +104 -8
- data/lib/generators/qa_server/templates/config/authorities/linked_data/locnames_rwo2_ld4l_cache.json +4 -4
- data/lib/generators/qa_server/templates/config/authorities/linked_data/locnames_rwo3_ld4l_cache.json +4 -4
- data/lib/generators/qa_server/templates/config/authorities/linked_data/locnames_rwo_ld4l_cache.json +4 -4
- data/lib/generators/qa_server/templates/config/authorities/linked_data/locvocabs_ld4l_cache.json +1 -1
- data/lib/generators/qa_server/templates/config/authorities/linked_data/mesh_nlm_ld4l_cache.json +1 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/oclcfast_direct.json +4 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/oclcfast_ld4l_cache.json +1 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/cerl_ld4l_cache_validation.yml +3 -3
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/geonames_ld4l_cache_validation.yml +2 -5
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/getty_aat_ld4l_cache_validation.yml +0 -3
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/getty_tgn_ld4l_cache_validation.yml +3 -7
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/getty_ulan_ld4l_cache_validation.yml +5 -5
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locdemographics_ld4l_cache_validation.yml +0 -4
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locgenres_ld4l_cache_validation.yml +0 -9
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locnames_ld4l_cache_validation.yml +1 -7
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locnames_rwo2_ld4l_cache_validation.yml +78 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locnames_rwo3_ld4l_cache_validation.yml +73 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locnames_rwo_ld4l_cache_validation.yml +11 -11
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locsubjects_ld4l_cache_validation.yml +1 -3
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/locvocabs_ld4l_cache_validation.yml +246 -0
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/mesh_nlm_ld4l_cache_validation.yml +8 -5
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/oclcfast_direct_validation.yml +13 -7
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/oclcfast_ld4l_cache_validation.yml +19 -3
- data/lib/generators/qa_server/templates/config/authorities/linked_data/scenarios/rda_registry_ld4l_cache_validation.yml +0 -3
- data/lib/generators/qa_server/templates/config/initializers/qa_server.rb +8 -0
- data/lib/qa_server/configuration.rb +14 -0
- data/lib/qa_server/version.rb +1 -1
- data/qa_server.gemspec +5 -5
- data/spec/feature/accuracy_spec.rb +1 -1
- data/spec/i18n_spec.rb +0 -1
- data/spec/lib/configuration_spec.rb +22 -0
- data/spec/presenters/qa_server/monitor_status/history_presenter_spec.rb +81 -0
- data/spec/services/qa_server/history_up_down_service_spec.rb +86 -0
- metadata +39 -12
@@ -0,0 +1,58 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# This presenter class provides historical testing data needed by the view that monitors status of authorities.
|
3
|
+
module QaServer::MonitorStatus
|
4
|
+
class HistoryUpDownPresenter
|
5
|
+
attr_reader :historical_up_down_data
|
6
|
+
|
7
|
+
# @param parent [QaServer::MonitorStatusPresenter] parent presenter
|
8
|
+
# @param historical_up_down_data [Hash<Array>] recent connection status of queries (typically last 30 days)
|
9
|
+
# @example historical_up_down_data
|
10
|
+
# { 'AGROVOC' = [
|
11
|
+
# :FULLY_UP, # 0 - today
|
12
|
+
# :MOSTLY_UP, # 1 - yesterday
|
13
|
+
# :MOSTLY_UP, # 2 - two days ago
|
14
|
+
# :FULLY_UP, # 3 - three days ago
|
15
|
+
# :DOWN, # 4 - four days ago
|
16
|
+
# ... # etc.
|
17
|
+
# ],
|
18
|
+
# 'CERL' = [ ... ]
|
19
|
+
# }
|
20
|
+
def initialize(parent:, historical_up_down_data:)
|
21
|
+
@parent = parent
|
22
|
+
@historical_up_down_data = historical_up_down_data
|
23
|
+
end
|
24
|
+
|
25
|
+
# Return the last date of data represented in the history graph and data table
|
26
|
+
# @return [ActiveSupport::TimeWithZone] date time stamp
|
27
|
+
def up_down_start
|
28
|
+
QaServer::TimeService.pretty_date(up_down_end_dt - 29.days)
|
29
|
+
end
|
30
|
+
|
31
|
+
def up_down_end
|
32
|
+
QaServer::TimeService.pretty_date(up_down_end_dt)
|
33
|
+
end
|
34
|
+
|
35
|
+
def up_down_end_dt
|
36
|
+
@parent.last_updated_dt
|
37
|
+
end
|
38
|
+
|
39
|
+
# @param status [Symbol] :fully_up, :mostly_up, :timeouts, :barely_up, :down
|
40
|
+
# @param day [Integer] retrieve the status for this day
|
41
|
+
# @return [String] name of the css class for the status
|
42
|
+
def historical_up_down_status_class(status, day) # rubocop:disable Metrics/CyclomaticComplexity
|
43
|
+
case status[day]
|
44
|
+
when :no_date then 'connection-no-date'
|
45
|
+
when :fully_up then 'connection-fully-up'
|
46
|
+
when :mostly_up then 'connection-mostly-up'
|
47
|
+
when :timeouts then 'connection-timeouts'
|
48
|
+
when :barely_up then 'connection-barely-up'
|
49
|
+
when :down then 'connection-down'
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
# @return [Boolean] true if historical datatable should be visible; otherwise false
|
54
|
+
def display_historical_up_down?
|
55
|
+
QaServer.config.display_historical_datatable? && @historical_up_down_data.present?
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
@@ -5,12 +5,14 @@ module QaServer
|
|
5
5
|
extend Forwardable
|
6
6
|
|
7
7
|
# @param current_summary [ScenarioRunSummary] summary status of the latest run of test scenarios
|
8
|
-
# @param
|
8
|
+
# @param current_failure_data [Array<Hash>] current set of failures for the latest test run, if any
|
9
9
|
# @param historical_summary_data [Array<Hash>] summary of past failuring runs per authority to drive chart
|
10
|
+
# @param historical_up_down_data [Hash<Array>] status of queries for the last 30 days
|
10
11
|
# @param performance_data [Hash<Hash>] performance datatable data
|
11
|
-
def initialize(current_summary:, current_failure_data:, historical_summary_data:, performance_data:)
|
12
|
+
def initialize(current_summary:, current_failure_data:, historical_summary_data:, historical_up_down_data:, performance_data:)
|
12
13
|
@current_status_presenter = QaServer::MonitorStatus::CurrentStatusPresenter.new(parent: self, current_summary: current_summary, current_failure_data: current_failure_data)
|
13
14
|
@history_presenter = QaServer::MonitorStatus::HistoryPresenter.new(parent: self, historical_summary_data: historical_summary_data)
|
15
|
+
@history_up_down_presenter = QaServer::MonitorStatus::HistoryUpDownPresenter.new(parent: self, historical_up_down_data: historical_up_down_data)
|
14
16
|
@performance_presenter = QaServer::MonitorStatus::PerformancePresenter.new(parent: self, performance_data: performance_data)
|
15
17
|
end
|
16
18
|
|
@@ -23,6 +25,9 @@ module QaServer
|
|
23
25
|
:percent_authority_failing, :percent_authority_failing_str, :failure_style_class, :passing_style_class,
|
24
26
|
:display_history_details?, :display_historical_graph?, :display_historical_datatable?, :history_start, :history_end
|
25
27
|
|
28
|
+
def_delegators :@history_up_down_presenter, :historical_up_down_data, :display_historical_up_down?, :historical_up_down_status_class,
|
29
|
+
:up_down_start, :up_down_end
|
30
|
+
|
26
31
|
def_delegators :@performance_presenter, :performance_data, :performance_data?, :display_performance?, :display_performance_graph?,
|
27
32
|
:display_performance_datatable?, :performance_data_authority_name, :performance_for_day_graph, :performance_for_month_graph,
|
28
33
|
:performance_for_year_graph, :datatable_search_stats, :datatable_fetch_stats, :datatable_all_actions_stats,
|
@@ -0,0 +1,103 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# This class determines the state (e.g. fully_up, mostly_up, barely_up, down)of an authority during the last 30 days.
|
3
|
+
module QaServer
|
4
|
+
class HistoryUpDownService
|
5
|
+
NO_DATA = :no_data
|
6
|
+
FULLY_UP = :fully_up
|
7
|
+
MOSTLY_UP = :mostly_up
|
8
|
+
EXCESSIVE_TIMEOUTS = :timeouts
|
9
|
+
BARELY_UP = :barely_up
|
10
|
+
DOWN = :down
|
11
|
+
|
12
|
+
MOSTLY_UP_THRESHOLD = QaServer.config.up_down_data_mostly_up_threshold
|
13
|
+
TIMEOUT_THRESHOLD = QaServer.config.up_down_data_timeouts_max_threshold
|
14
|
+
|
15
|
+
class_attribute :authority_lister, :scenario_history_class, :time_service
|
16
|
+
self.authority_lister = QaServer::AuthorityListerService
|
17
|
+
self.scenario_history_class = QaServer::ScenarioRunHistory
|
18
|
+
self.time_service = QaServer::TimeService
|
19
|
+
|
20
|
+
def last_30_days
|
21
|
+
data = {}
|
22
|
+
authorities_list.each { |authority| data[authority] = last_30_days_for(authority.to_s) }
|
23
|
+
data
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
27
|
+
|
28
|
+
# @returns [Hash <Array<Hash>>] data for an authority for each of the last 30 days
|
29
|
+
# @example
|
30
|
+
# { 'AGROVOC' = [
|
31
|
+
# :FULLY_UP, # 0 - today
|
32
|
+
# :MOSTLY_UP, # 1 - yesterday
|
33
|
+
# :MOSTLY_UP, # 2 - two days ago
|
34
|
+
# :FULLY_UP, # 3 - three days ago
|
35
|
+
# :DOWN, # 4 - four days ago
|
36
|
+
# ... # etc.
|
37
|
+
# ]
|
38
|
+
# }
|
39
|
+
def last_30_days_for(authority)
|
40
|
+
auth_data = []
|
41
|
+
0.upto(29) { |offset| auth_data[offset] = day_status(authority, offset) }
|
42
|
+
auth_data
|
43
|
+
end
|
44
|
+
|
45
|
+
# @returns [Symbol] status for a given day for an authority
|
46
|
+
def day_status(authority, offset)
|
47
|
+
day = offset_day(offset)
|
48
|
+
good_count = count_good(authority, day)
|
49
|
+
unknown_count = count_unknown(authority, day)
|
50
|
+
bad_count = count_bad(authority, day)
|
51
|
+
timeout_count = count_timeouts(authority, day)
|
52
|
+
status_determination(good_count, unknown_count, bad_count, timeout_count)
|
53
|
+
end
|
54
|
+
|
55
|
+
def status_determination(good_count, unknown_count, bad_count, timeout_count) # rubocop:disable Metrics/CyclomaticComplexity
|
56
|
+
total_count = good_count + unknown_count + bad_count
|
57
|
+
return NO_DATA if total_count.zero?
|
58
|
+
return FULLY_UP if good_count == total_count
|
59
|
+
return DOWN if bad_count == total_count
|
60
|
+
return BARELY_UP if unknown_count == total_count
|
61
|
+
return EXCESSIVE_TIMEOUTS if (timeout_count.to_f / total_count) > TIMEOUT_THRESHOLD
|
62
|
+
return MOSTLY_UP if (bad_count.to_f / total_count) < (1 - MOSTLY_UP_THRESHOLD)
|
63
|
+
BARELY_UP
|
64
|
+
end
|
65
|
+
|
66
|
+
def authorities_list
|
67
|
+
@authorities_list ||= authority_lister.authorities_list
|
68
|
+
end
|
69
|
+
|
70
|
+
def offset_day(offset)
|
71
|
+
@today ||= time_service.current_time
|
72
|
+
time_service.pretty_query_date(@today - offset.days)
|
73
|
+
end
|
74
|
+
|
75
|
+
def count_good(authority, day)
|
76
|
+
scenario_history_class.where(authority_name: authority)
|
77
|
+
.where(date: day)
|
78
|
+
.where(status: :good)
|
79
|
+
.count(:id)
|
80
|
+
end
|
81
|
+
|
82
|
+
def count_unknown(authority, day)
|
83
|
+
scenario_history_class.where(authority_name: authority)
|
84
|
+
.where(date: day)
|
85
|
+
.where(status: :unknown)
|
86
|
+
.count(:id)
|
87
|
+
end
|
88
|
+
|
89
|
+
def count_bad(authority, day)
|
90
|
+
scenario_history_class.where(authority_name: authority)
|
91
|
+
.where(date: day)
|
92
|
+
.where(status: :bad)
|
93
|
+
.count(:id)
|
94
|
+
end
|
95
|
+
|
96
|
+
def count_timeouts(authority, day)
|
97
|
+
scenario_history_class.where(authority_name: authority)
|
98
|
+
.where(date: day)
|
99
|
+
.where('err_message LIKE ?', "%timeout%")
|
100
|
+
.count(:id)
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
@@ -24,6 +24,12 @@ module QaServer
|
|
24
24
|
def pretty_date(dt)
|
25
25
|
dt.in_time_zone(QaServer.config.preferred_time_zone_name).strftime("%m/%d/%Y")
|
26
26
|
end
|
27
|
+
|
28
|
+
# @param dt [ActiveSupport::TimeWithZone] date time stamp
|
29
|
+
# @return [String] string version of date formatted with just date (e.g. "2020-02-01")
|
30
|
+
def pretty_query_date(dt)
|
31
|
+
dt.in_time_zone(QaServer.config.preferred_time_zone_name).strftime("%Y-%m-%d")
|
32
|
+
end
|
27
33
|
end
|
28
34
|
end
|
29
35
|
end
|
@@ -44,8 +44,6 @@
|
|
44
44
|
<select name="authority" id="authority" class="string optional form-control form-control" value="" aria-labelledby="authority" onchange="hide_data()">
|
45
45
|
<option value=""><%= t('qa_server.check_status.select_authority') %></option>
|
46
46
|
<option disabled>──────────</option>
|
47
|
-
<option value="<%= @presenter.value_all_collections %>"><%= t('qa_server.check_status.show_all') %></option>
|
48
|
-
<option disabled>──────────</option>
|
49
47
|
<% @authorities_list.each do |auth_name| %>
|
50
48
|
<option value="<%= auth_name %>"<%= " selected" if auth_name == selected_authority %>><%= auth_name.upcase %></option>
|
51
49
|
<% end %>
|
@@ -77,7 +75,10 @@
|
|
77
75
|
<% end %>
|
78
76
|
|
79
77
|
|
80
|
-
<div id="status-loading-message" class="wait-message"
|
78
|
+
<div id="status-loading-message" class="wait-message">
|
79
|
+
<%= t('qa_server.check_status.wait_message_ln1') %><br>
|
80
|
+
<%= t('qa_server.check_status.wait_message_ln2') %>
|
81
|
+
</div>
|
81
82
|
|
82
83
|
<% if @presenter.connection_status_data? %>
|
83
84
|
<div id="connection-status-section" class="status-section">
|
@@ -100,7 +101,7 @@
|
|
100
101
|
</tr>
|
101
102
|
<% end %>
|
102
103
|
<tr>
|
103
|
-
<td class="<%= @presenter.status_style_class(status
|
104
|
+
<td class="<%= @presenter.status_style_class(status) %>"><%= @presenter.status_label(status[:status]) %></td>
|
104
105
|
<td><%= status[:subauthority_name] %></td>
|
105
106
|
<td><%= status[:service] %></td>
|
106
107
|
<td><%= status[:action] %></td>
|
@@ -137,8 +138,8 @@
|
|
137
138
|
</tr>
|
138
139
|
<% end %>
|
139
140
|
<tr>
|
140
|
-
<td class="position <%= @presenter.status_style_class(status
|
141
|
-
<td class="position <%= @presenter.status_style_class(status
|
141
|
+
<td class="position <%= @presenter.status_style_class(status) %>"><%= status[:expected] %></td>
|
142
|
+
<td class="position <%= @presenter.status_style_class(status) %>"><%= status[:actual] %></td>
|
142
143
|
<td><%= status[:request_data] %></td>
|
143
144
|
<td><a href="<%= status[:target] %>"><%= status[:target] %></a></td>
|
144
145
|
<td><%= status[:authority_name] %></td>
|
@@ -17,7 +17,7 @@
|
|
17
17
|
<td class="status-neutral"><%= @presenter.tests_count %></td>
|
18
18
|
</tr>
|
19
19
|
</table>
|
20
|
-
<p class="status-update-dtstamp"><%=
|
20
|
+
<p class="status-update-dtstamp"><%= @presenter.last_updated %></p>
|
21
21
|
|
22
22
|
<% if @presenter.failures?%>
|
23
23
|
<div id="failures" class="status-section">
|
@@ -0,0 +1,30 @@
|
|
1
|
+
<% if @presenter.history? && @presenter.display_history_details?%>
|
2
|
+
<div id="availability-history" class="status-section">
|
3
|
+
<h3><%= t('qa_server.monitor_status.history.title') %></h3>
|
4
|
+
<% if @presenter.display_historical_graph? %>
|
5
|
+
<p class="status-update-dtstamp"><%= t('qa_server.monitor_status.history.range', from: @presenter.history_start, to: @presenter.history_end) %></p>
|
6
|
+
<%= image_tag(@presenter.historical_graph, alt: 'History Graph Unavailable') %>
|
7
|
+
<% end %>
|
8
|
+
|
9
|
+
<% if @presenter.display_historical_up_down? %>
|
10
|
+
<p class="status-update-dtstamp"><%= t('qa_server.monitor_status.history.range', from: @presenter.up_down_start, to: @presenter.up_down_end) %></p>
|
11
|
+
<table class="up-down-history">
|
12
|
+
<tr>
|
13
|
+
<th class="up-down-history"><%= t('qa_server.monitor_status.history.authority') %></th>
|
14
|
+
<% 0.upto(29) do %>
|
15
|
+
<th class='up-down-history'></th>
|
16
|
+
<% end %>
|
17
|
+
<td class='up-down-history'>Most Recent</td>
|
18
|
+
</tr>
|
19
|
+
<% @presenter.historical_up_down_data.each do |authority_name, status| %>
|
20
|
+
<tr>
|
21
|
+
<td class="connection-up-down"><%= authority_name %></td>
|
22
|
+
<% 29.downto(0) do |day| %>
|
23
|
+
<td class="connection-up-down <%= @presenter.historical_up_down_status_class(status, day) %>"></td>
|
24
|
+
<% end %>
|
25
|
+
</tr>
|
26
|
+
<% end %>
|
27
|
+
</table>
|
28
|
+
<% end %>
|
29
|
+
</div>
|
30
|
+
<% end %>
|
@@ -25,12 +25,12 @@ en:
|
|
25
25
|
check_status:
|
26
26
|
title: Check Status
|
27
27
|
select_authority: Select authority...
|
28
|
-
show_all: ALL Authorities (SLOW)
|
29
28
|
connections: Check Connection Status only
|
30
29
|
accuracy: Check Accuracy only
|
31
30
|
comparison: Compare Accuracy
|
32
31
|
all_checks: Run all checks
|
33
|
-
|
32
|
+
wait_message_ln1: "Please wait while the status is verified."
|
33
|
+
wait_message_ln2: "This may be slow for large authorities or ones with a lot of tests."
|
34
34
|
connection_checks: Connection Checks
|
35
35
|
accuracy_checks: Accuracy Checks for Search Results
|
36
36
|
comparison_checks: Comparison of Accuracy Checks
|
@@ -58,7 +58,11 @@ en:
|
|
58
58
|
wait_message: Fetching term...
|
59
59
|
term_results: Results
|
60
60
|
monitor_status:
|
61
|
-
title:
|
61
|
+
title: Monitor Status
|
62
|
+
permission_denied: 'Permission denied. Unable to %{action}.'
|
63
|
+
refreshing_tests: Refreshing tests.
|
64
|
+
refreshing_history: Refreshing connection history.
|
65
|
+
refreshing_performance: Refreshing performance metrics.
|
62
66
|
summary:
|
63
67
|
title: Latest Monitored Status
|
64
68
|
summary_table: Summary
|
@@ -68,10 +72,10 @@ en:
|
|
68
72
|
failing_tests: Failing Tests
|
69
73
|
total_tests: TOTAL Tests
|
70
74
|
last_updated: 'Status last updated %{date} ET'
|
75
|
+
no_data: 'No Data Available (Common Cause: first time tests are running)'
|
71
76
|
failures:
|
72
77
|
title: Failures During Latest Status Update
|
73
78
|
status: Status
|
74
|
-
authority: Authority
|
75
79
|
subauthority: Subauthority
|
76
80
|
service: Service
|
77
81
|
action: Action
|
@@ -79,7 +83,6 @@ en:
|
|
79
83
|
errmsg: Errors
|
80
84
|
history:
|
81
85
|
title: Authority Connection History
|
82
|
-
since: 'Since %{date} ET'
|
83
86
|
range: 'From %{from} to %{to}'
|
84
87
|
authority: Authority
|
85
88
|
days_failing: Days Failing
|
@@ -100,7 +103,6 @@ en:
|
|
100
103
|
graph_load_time_ms: Graph Load Time (ms)
|
101
104
|
normalization_time_ms: Normalization Time (ms)
|
102
105
|
retrieve_time_ms: Retrieve Time (ms)
|
103
|
-
full_request_time_ms: Full Request Time (ms)
|
104
106
|
x_axis_hour: Hour
|
105
107
|
x_axis_day: Day
|
106
108
|
x_axis_month: Month
|
@@ -113,7 +115,6 @@ en:
|
|
113
115
|
datatable_month_desc: 'Month'
|
114
116
|
datatable_year_desc: 'Year'
|
115
117
|
datarange: 'From %{from} to %{to}'
|
116
|
-
authority: Authority
|
117
118
|
average_times: Average (ms)
|
118
119
|
fastest_times: 10th percentile (ms)
|
119
120
|
slowest_times: 90th percentile (ms)
|
data/lib/generators/qa_server/templates/config/authorities/linked_data/getty_tgn_ld4l_cache.json
CHANGED
@@ -3,8 +3,8 @@
|
|
3
3
|
"service_uri": "http://ld4l.org/ld4l_services/cache",
|
4
4
|
"prefixes": {
|
5
5
|
"getty": "http://vocab.getty.edu/ontology#",
|
6
|
-
"
|
7
|
-
"
|
6
|
+
"skosxl": "http://www.w3.org/2008/05/skos-xl#",
|
7
|
+
"vivo": "http://vivoweb.org/ontology/core#"
|
8
8
|
},
|
9
9
|
"term": {
|
10
10
|
"url": {
|
@@ -28,11 +28,9 @@
|
|
28
28
|
"term_id": "URI",
|
29
29
|
"results": {
|
30
30
|
"id_ldpath": "dc:identifier ::xsd:string",
|
31
|
-
"label_ldpath": "
|
32
|
-
"altlabel_ldpath": "
|
33
|
-
"broader_ldpath": "
|
34
|
-
"narrower_ldpath": "skos:narrower ::xsd:anyURI",
|
35
|
-
"sameas_ldpath": "skos:exactMatch ::xsd:anyURI"
|
31
|
+
"label_ldpath": "^foaf:focus/skosxl:prefLabel/skosxl:literalForm :: xsd:string",
|
32
|
+
"altlabel_ldpath": "^foaf:focus/skosxl:altLabel/skosxl:literalForm :: xsd:string",
|
33
|
+
"broader_ldpath": "^foaf:focus/getty:broaderPreferred ::xsd:anyURI"
|
36
34
|
}
|
37
35
|
},
|
38
36
|
"search": {
|
@@ -79,8 +77,7 @@
|
|
79
77
|
},
|
80
78
|
"total_count_ldpath": "vivo:count",
|
81
79
|
"results": {
|
82
|
-
"
|
83
|
-
"label_ldpath": "skos:prefLabel ::xsd:string",
|
80
|
+
"label_ldpath": "^foaf:focus/skosxl:prefLabel/skosxl:literalForm :: xsd:string",
|
84
81
|
"sort_ldpath": "vivo:rank ::xsd:string"
|
85
82
|
},
|
86
83
|
"context": {
|
@@ -88,28 +85,42 @@
|
|
88
85
|
{
|
89
86
|
"property_label_i18n": "qa.linked_data.authority.getty_tgn_ld4l_cache.preferred_label",
|
90
87
|
"property_label_default": "Preferred label",
|
91
|
-
"ldpath": "^foaf:focus/
|
88
|
+
"ldpath": "^foaf:focus/skosxl:prefLabel/skosxl:literalForm :: xsd:string",
|
92
89
|
"selectable": true,
|
93
90
|
"drillable": false
|
94
91
|
},
|
95
92
|
{
|
96
93
|
"property_label_i18n": "qa.linked_data.authority.getty_tgn_ld4l_cache.variant_label",
|
97
94
|
"property_label_default": "Variant Label",
|
98
|
-
"ldpath": "^foaf:focus/
|
95
|
+
"ldpath": "^foaf:focus/skosxl:altLabel/skosxl:literalForm :: xsd:string",
|
96
|
+
"selectable": false,
|
97
|
+
"drillable": false
|
98
|
+
},
|
99
|
+
{
|
100
|
+
"property_label_i18n": "qa.linked_data.authority.getty_tgn_ld4l_cache.parent_body",
|
101
|
+
"property_label_default": "Parent body",
|
102
|
+
"ldpath": "^foaf:focus/getty:parentString :: xsd:string",
|
103
|
+
"selectable": false,
|
104
|
+
"drillable": false
|
105
|
+
},
|
106
|
+
{
|
107
|
+
"property_label_i18n": "qa.linked_data.authority.getty_tgn_ld4l_cache.parent_body_abbreviation",
|
108
|
+
"property_label_default": "Parent body (abbreviation)",
|
109
|
+
"ldpath": "^foaf:focus/getty:parentStringAbbrev :: xsd:string",
|
99
110
|
"selectable": false,
|
100
111
|
"drillable": false
|
101
112
|
},
|
102
113
|
{
|
103
114
|
"property_label_i18n": "qa.linked_data.authority.getty_tgn_ld4l_cache.place_type",
|
104
115
|
"property_label_default": "Place type",
|
105
|
-
"ldpath": "^foaf:focus/
|
116
|
+
"ldpath": "^foaf:focus/getty:placeTypePreferred :: xsd:string",
|
106
117
|
"selectable": false,
|
107
118
|
"drillable": false
|
108
119
|
},
|
109
120
|
{
|
110
121
|
"property_label_i18n": "qa.linked_data.authority.getty_aat_ld4l_cache.broader",
|
111
122
|
"property_label_default": "Broader",
|
112
|
-
"ldpath": "^foaf:focus/
|
123
|
+
"ldpath": "^foaf:focus/getty:broaderPreferred :: xsd:string",
|
113
124
|
"selectable": false,
|
114
125
|
"drillable": true,
|
115
126
|
"expansion_label_ldpath": "skos:prefLabel ::xsd:string",
|
@@ -119,4 +130,3 @@
|
|
119
130
|
}
|
120
131
|
}
|
121
132
|
}
|
122
|
-
|