Releases: samvera/questioning_authority
v5.5.0
v5.4.0
Features
Other
- Align style practice with current Samvera norms #315 (bess)
- Updating Rails development dependency #313 (jeremyf)
- Remove Ruby 2.4 / Rails 6.0 build #311 (bkeese)
- Adding Ruby 2.7.z and Rails 6.y.z releases to the CircleCI build configuration #310 (jrgriffiniii)
- Update Geonames URIs to https #307 (no-reply)
v5.3.1
IP Logging failures seen in v5.3.0
IP Logging is off by default and requires setting Qa.config.suppress_ip_data_from_log=false
in config/initializers/qa.rb
in your app. If you have not done that, then this bug fix is not required.
If you are using IP logging (i.e. Qa.config.suppress_ip_data_from_log==false), then you will want to update to this release. In v5.3.0, the IP logging causes failures if the location cannot be retrieved from the http request.
Patch release includes:
- bug fix to make ip logging more robust when location cannot be retrieved from the request
v5.3.0
Actions Required to Upgrade
No actions are required for this upgrade other than adjusting your gem file to allow for version 5.3.0 to be included by bundler. The changes in this release are fully backward compatible. The changes impact the linked data module only.
New this release
In the linked data module, this updates supports better logging:
- provide access to the request_id from the search_query and find_term classes
- log exception for graph load failures
- each request gets a marker in the log when the request is strarted, optionally including IP data. It looks like...
Example without IP data...
******** SEARCH
******** FIND
Example with IP data...
******** SEARCH from IP 111.22.33.4444 in {city: Ithaca, state: New York, country: US}
******** FIND from IP 111.22.33.4444 in {city: Ithaca, state: New York, country: US}
To configure inclusion of IP data:
- Edit /config/initializers/qa.rb
- If this file doesn't exist in your app, you can copy it from /lib/generators/qa/install/templates/config/initializers/qa.rb
- If it exists from an earlier release, you can copy in the new configs by comparing your version of the file to the generator version.
- Uncomment and set the value of
config.suppress_ip_data_from_log
. If true, IP data will not be included. If false, IP data will be included in the log.
Change Log
- add a request id to the search and find request headers
- log exception for graph load failures
- optionally include IP info at start of search/find linked data requests
v5.2.0
Actions Required to Upgrade
No actions are required for this upgrade other than adjusting your gem file to allow for version 5.2.0 to be included by bundler.
Support for Rails 6.0
This release adds support for Rails 6.0.
New Feature - Response Header for DISCOG authority
When requesting a search from DISCOG authority, you can request a response header be included in the results. For search, the response header has basic information to facilitate pagination.
Usage
Parameters
parameter | values | example | purpose |
---|---|---|---|
response_header | true, false | response_header=true | Include the pagination information in a response_header of the results. (default=false |
page_num | integer | page_num=2 | The number of the page to return. Works in conjunction with page_size. |
page_size | integer | page_size=5 | The number of results to return. Works in conjunction with page_num. |
startRecord | integer | startRecord=6 | The offset into the full set of results with the first record as 1. Works in conjunction with maxRecords. |
maxRecords | integer | maxRecords=5 | The number of results to return. Works in conjunction with startRecord. |
Note on page/offset requests...
You can either specify page_num and page_size or specify startRecord and maxRecords. They cannot be mixed.
- page_num and page_size - These are supported directly by discogs.
- startRecord (i.e., offset) and maxRecords - These are provided to match the most common approach used in the linked data module.
Example URLs:
Both of these will return results 6-10.
response_header
The structure of the response header is...
response_header = {
start_record: 6 # the number of the first record returned
requested_records: 5 # the number of records requested (aka page size)
retrieved_records: 5 # the actual number of records returned in this request
total_records: 85 # the total number of matches for this search request
}
Change Log
- add optional response header which has pagination information for DISCOGs search
- add support for Rails 6
v5.1.0
Actions Required to Upgrade
No actions are required for this upgrade other than adjusting your gem file to allow for version 5.1.0 to be included by bundler.
New Feature - Response Header for linked data authorities
When requesting a search or fetch of a single term from one of the linked data based authorities, you can request a response header be included in the results. For search, the response header has basic information to facilitate pagination. For fetch, it has summary information (e.g. predicate_count).
Usage
To request the response_header, append parameter &response_header=true
to QA requests for linked data based authorities.
search results example
response_header = {
start_record: 31 # the number of the first record returned
requested_records: 10 # the number of records requested (aka page size)
retrieved_records: 10 # the actual number of records returned in this request
total_records: 85 # the total number of matches for this search request
}
NOTE: Not all authorities support pagination or may not return pagination information. If not available, you will get a header similar to...
"response_header": {
"start_record": 0,
"requested_records": "DEFAULT",
"retrieved_records": 4,
"total_records": "NOT REPORTED"
}
fetch results example
response_header = {
predicate_count: 13 # the number of predicates that have the requested URI as the subject
}
Change Log
- add optional response header which has pagination information for search and summary info for fetch
v5.0.0
Actions Required to Upgrade
No actions are required for this upgrade other than adjusting your gem file to allow for version 5.0.0 to be included by bundler. If you have customizations for the linked data module or you use the Discogs authority, see the Update notes below for more details to determine if the changes impact your app.
Updates
This is a major release of QA with the following breaking changes...
request_header for linked data module
The parameter signature of the following methods changed to add parameter request_header: {}
- Qa::Authorities::LinkedData::SearchQuery #search
- Qa::Authorities::LinkedData::FindTerm #find
Discogs extended context output
The Discogs authority changed the format of the extended context to match that produced by the linked data module.
OLD FORMAT:
"context": {
"Formats": ["Vinyl", "LP", "Compilation"],
...
}
NEW FORMAT:
"context": [
{
"property": "Formats",
"values": ["Vinyl", "LP", "Compilation"]
},
...
}
Change Log
- refactor to single request_header parameter for search and find methods; multi-parameters are still supported, but deprecated
- refactor Discogs to provide the same format for extended context as the linked data module
v4.2.5
Actions Required to Upgrade
There are no required actions for this upgrade other than adjusting your gem file to allow for version 4.2.5 to be included by bundler.
NOTE: The Discogs data output has changed for the extended context. Previously, it used a different format than other authorities that provide extended context. It has been updated such that all authorities output the same format for extended context. See Issue #278 for details.
Change Log
- refactor to single request_header parameter for search and find methods; multi-parameters are still supported, but deprecated
- refactor Discogs to provide the same format for extended context as the linked data module
v4.2.4
Change Log
Includes update to discogs authority to set URI in search results to…
- real discogs URI whenever available
- discogs URL when not
Fetch data will use the same URI/URL as the subject_uri for triples when linked data is requested.
Actions Required to Upgrade
There are no required actions for this upgrade other than adjusting your gem file to allow for version 4.2.4 to be included by bundler.