-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature/3490 apostrophes in titles #2360
base: develop
Are you sure you want to change the base?
Conversation
…490_apostrophes_in_titles
…490_apostrophes_in_titles
…490_apostrophes_in_titles
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
added some recommendation and questions, some unittest fails
This reverts commit 1eb8523.
…490_apostrophes_in_titles
…490_apostrophes_in_titles
…es' into feature/3490_apostrophes_in_titles
…490_apostrophes_in_titles # Conflicts: # doajtest/unit/test_query.py
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From our discussions and review today, we found that the feature itself works well, and gives us the results we are looking for. There are some code structure changes to make to finalise:
- Change the code that generates the mappings, such that the mapping data and the seamless object data are logically separated. The mappings for the analysable fields should be included in the same way as the custom mappings for notes. The additional changes to seamless and dataobj code should be rolled back
- We can remove the changes to the v1 versions of objects, they are legacy models and shouldn't be updated
- We need to run the unit tests over a migrated index and confirm that they are all successful
Once we have done (1) we need to confirm that the resulting mapping still applies the ".exact" mapping which is required for a lot of system functions.
While these changes are being made, this can also go to test for a review of the search behaviour
…490_apostrophes_in_titles
…490_apostrophes_in_titles
Updated as discussed |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A couple of things that need to be rolled back to remove the additional_fields stuff completely, then this is good to move to the next stage
portality/lib/seamless.py
Outdated
@@ -354,7 +354,7 @@ def get_single(self, path, coerce=None, default=None, allow_coerce_failure=True) | |||
return val | |||
|
|||
def set_single(self, path, val, coerce=None, allow_coerce_failure=False, allowed_values=None, allowed_range=None, | |||
allow_none=True, ignore_none=False, context=""): | |||
allow_none=True, ignore_none=False, context="", additional_fields = None): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@RK206 need to roll back this change on seamless
portality/lib/es_data_mapping.py
Outdated
return mapping_opts['coerces'][spec['coerce']] | ||
field_mapping = deepcopy(mapping_opts['coerces'][spec['coerce']]) | ||
if 'additional_fields' in spec: | ||
field_mapping = {**field_mapping, **mapping_opts[spec['additional_fields']]} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These new lines no longer needed now, so can be rolled back
Sorry, missed to remove the 'additional_fields'. Now rolled back all those changes. |
Should this change cover Applications as well? |
Applications are not covered in this code changes. Applications can be added if required. |
@RK206 if it isn't too much trouble then applications should be included. |
…490_apostrophes_in_titles
Included Application as well and committed the changes |
…es' into feature/3490_apostrophes_in_titles
…490_apostrophes_in_titles # Conflicts: # doajtest/unit/test_query.py
ascii folding for special characters
Please don't delete any sections when completing this PR template; instead enter N/A for checkboxes or sections which are not applicable, unless otherwise stated below
See https://github.com/DOAJ/doajPM/issues/3490
Describe the scope/purpose of the PR here in as much detail as you like
This PR is to do ascii folding to enable search for some special characters.
Updated Article model to Seamless
Updated Seamless couple of places
This has to be thoroughly tested as there are mapping changes and index need to be re-indexed.
Categorisation
This PR...
Basic PR Checklist
Instructions for developers:
Instructions for reviewers:
Code Style
No deprecated methods are used
No magic strings/numbers - all strings are in
constants
ormessages
filesES queries are wrapped in a Query object rather than inlined in the code
Where possible our common library functions have been used (e.g. dates manipulated via
dates
)Cleaned up commented out code, etc
Urls are constructed with
url_for
not hard-codedTesting
Unit tests have been added/modified
Functional tests have been added/modified
Code has been run manually in development, and functional tests followed locally
Have CSS/style changes been implemented? If they are of a global scope (e.g. on base HTML elements) have the downstream impacts of the change in other areas of the system been considered?
Documentation
FeatureMap annotations have been added
Documentation updates - if needed - have been identified and prepared for inclusion into main documentation (e.g. added and highlighted/commented as appropriate to this PR)
Core model documentation has been added to if needed: https://docs.google.com/spreadsheets/d/1lun2S9vwGbyfy3WjIjgXBm05D-3wWDZ4bp8xiIYfImM/edit
Events and consumers documentation has been added if needed: https://docs.google.com/spreadsheets/d/1oIeG5vg-blm2MZCE-7YhwulUlSz6TOUeY8jAftdP9JE/edit
The docs for this branch have been generated and pushed to the doc site (see docs/README.md for details)
Release Readiness
If needed, migration has been created and tested locally
Migration script to run
python portality/scripts/es_reindex.py portality/migrate/3490_ascii_folding/migrate.json
Release sheet has been created, and completed as far as is possible https://docs.google.com/spreadsheets/d/1Bqx23J1MwXzjrmAygbqlU3YHxN1Wf7zkkRv14eTVLZQ/edit#gid=1426896557
There has been a recent merge up from
develop
(or other base branch). List the dates of the merges up from develop belowTesting
List the Functional Tests that must be run to confirm this feature
Public search ascii folded search
Deployment
What deployment considerations are there? (delete any sections you don't need)
Configuration changes
What configuration changes are included in this PR, and do we need to set specific values for production
Scripts
What scripts need to be run from the PR (e.g. if this is a report generating feature), and when (once, regularly, etc).
Migrations
What migrations need to be run to deploy this
Monitoring
What additional monitoring is required of the application as a result of this feature
New Infrastructure
What new infrastructure does this PR require (e.g. new services that need to run on the back-end).
Continuous Integration
What CI changes are required for this