Closed swcurran closed 3 years ago
This change introduces major updates to search, adding a v4
API. The early versions of the API (v2
and v3
) are unchanged from a signature perspective, but the data returned may change in some cases (see below).
Topic searches in previous versions were based on Credential attributes that were linked back to their owner Topics. This resulted in duplicate Topic results when query terms (such as names) match multiple Credentials. The v4 API introduces Topic search endpoints that are based on Topic attributes. Topic attributes are an aggregation of their owned Credential attributes. This change requires rebuilding SOLR indexes.
In the OrgBook BC deployment, this update was accompanied by a change to the categorization data, adding the BN (Business Number) to the "names" vs. a credential attribute to enable searching by attribute. As a result, some existing APIs were initially altered to include the BNs. Before releasing to production, a change (see below) filtered the BN results out for the existing v2
API searches.
We recommend that OrgBook API clients should migrate to the new version of the search API to enable support for BN searching.
Server
/v4/search/topic
) and Credential (/v4/search/credential
). Search API endpoints for Credential are derived from v3entity_name
and entity_name_assumed
in formatted TopicsAs noted above, in order to retain the same data semantics as in the previous v2
search, additional names (notably the BN) have been filtered out of the the following endpoints:
v2/topic/{id}/formatted
v2/topic/ident/{type}/{source_id}/formatted
api/v3/views/rest.py
Fixes a typo that prevents the credential verification logic in the UI from working.
Updates to use new and evolved API calls in the OrgBook BC front end:
When 'name.' +
This PR upgrades the client Angular application to 11.02
Change log:
localization-router
node package and associated http loaderThis PR adds topic display names and a collapsable element of alternate topic names/identifiers to OrgBook search results.
Change log:
name
types.source_id
is displayed for topic search results otherwise the display name is derived from name
types in the following order:
display_name
, entity_name_assumed
, entity_name
entity_name
and entity_name_assumed
is mapped to credentialThe remote debugger for vcr-server
is now available when setting DJANGO_DEBUG=True
. The default value for DJANGO_DEBUG
has also been set to False
, to avoid running the debugger unintentionally.
Name
tableDocumentation for enabling autocomplete search on BN in existing Aries-VCR databases
Added project lifecycle badge. For lifecycle badge information, see: https://github.com/bcgov/repomountie/blob/master/doc/lifecycle-badges.md
Dependency updates.
Name
tableapi/v3/views/rest.py
Change log:
Names returned in the results will exclude any names that are not of the type entity_name
or entity_name_asssumed
.
Affects the following endpoints:
v2/topic/{id}/formatted
v2/topic/ident/{type}/{source_id}/formatted
When 'name.' +
Adds documentation for updating BN in db Name
table
Resolves errors with Swagger pages not loading in development
Issue introduced by #591 and #602
The DEBUG
variable was previously enabled by default in development modes. This flag automatically handles static files in Django for displaying Swagger pages. The variable was also linked to the DJANGO_DEBUG
variable. The latter was repurposed to allow for remote debugging of Django in development and disabled by default resulting in issues with static files and displaying of Swagger pages.
Change log:
DJANGO_DEBUG
variable has been unlinked from the DEBUG
variable.
DJANGO_DEBUG
when staring the docker containersDEBUG
is re-enabled by default in development mode againapi/v3/views/rest.py
Fixes typo that would prevent the code in the UI verify logic (see here ) to work.
This PR introduces major updates to search (v4).
Topic searches in previous versions were based on Credential attributes that were linked back to their owner Topics. This resulted in duplicate Topic results when query terms match multiple Credentials. v4 introduces Topic search endpoints that are based on Topic attributes. Topic attributes are an aggregation of their owned Credential attributes. This change will require rebuilding SOLR indexes.
Change log:
Server
/v4/search/topic
) and Credential (/v4/search/credential
). Search API endpoints for Credential are derived from v3Client
Some issuer functions don't work when DEBUG=true
Resolves #599
Added project lifecycle badge. For lifecycle badge information, see: https://github.com/bcgov/repomountie/blob/master/doc/lifecycle-badges.md
Adds return statement for function generating remote names
Angular upgrade
This PR upgrades the client Angular application to 11.02
Change log:
localization-router
node package and associated http loaderThis PR adds topic display names and a collapsable element of alternate topic names/identifiers to OrgBook search results.
Change log:
name
types.source_id
is displayed for topic search results otherwise the display name is derived from name
types in the following order:
display_name
, entity_name_assumed
, entity_name
entity_name
and entity_name_assumed
is mapped to credentialThe remote debugger for vcr-server
is now available when setting DJANGO_DEBUG=True
. The default value for DJANGO_DEBUG
has also been set to False
, to avoid running the debugger unintentionally.
@amanji -- are there any other v2 and any v3 API calls other than the "formatted" one that might be affected by the recategorization of "BN" as a name? I'm just worried about other OrgBook API clients that are out there.
Nice work on the collection of changes. I reformatted them a bit to make them easier to consume by API users.
Will compile a list of endpoints affected by the BN update
These are the endpoints that will be affected by the name data additions. In majority of the cases it is in the Topic that is referenced in a Credential of interest that has multiple Name entries whereas the base data remains unchanged.
v2/credential/{id}/formatted
v2/topic/{id}/credential
v2/topic/{id}/credential/active
v2/topic/{id}/credential/historical
v2/topic/{id}/credentialset
v2/search/credential
v2/search/credential/{id}
v2/search/credential/facets
v2/search/credential/topic
v2/search/credential/topic/{id}
v2/search/credential/topic/facets
v3/search/credential
v3/search/credential/facets
v3/search/topic
v3/search/topic/facets
v3/search/topic/attribute/{attribute_query}
Let's talk about the potential impacts. Does the orgbook-api repo "just work" still? E.g. for anyone following that pattern, will the user interface keep working? If so, what APIs does it use from this list?
We can take the /v4 ones off the list.
Do you think there are any risks that other groups are using this code?
Tested against the latest dev
deployment, didn't discover any issues with client functionality. Also tested latest API changes against the orgbook-api
demo and the demo works as previously.
Please prepare for a 1.6.0 release of Aries VCR:
Add the release notes to the issue and then we'll take the refined list, share it with stakeholders and use the list for the tag created for 1.6.0 and related release.