Skip to content

Conversation

@richard-jones
Copy link
Contributor

@richard-jones richard-jones commented Nov 3, 2025


Create Demonstrator test site for CRDC usage

This PR creates a version of DOAJ which uses the CRDC classification instead of the LCC classification. It does this by:

  1. Replacing the LCC dataset with the CRDC dataset as a complete drop-in replacement. By using the same structure and underlying code, the system is unaware that CRDC is any different to LCC, and continues to behave as normal
  2. Creating a random migration from LCC to CRDC. Codes are mapped completely randomly to CRDC, to allow searching, landing pages, and indexing to behave as they would had the mapping been done correctly.

This PR...

  • has scripts to run
  • has migrations to run
  • adds new infrastructure
  • changes the CI pipeline
  • affects the public site
  • affects the editorial area
  • affects the publisher area
  • affects the monitoring

Developer Checklist

LEAVING CHECKLISTS UNCHECKED, AS THIS CODE WILL NOT GO TO PRODUCTION

Developers should review and confirm each of these items before requesting review

  • Code meets acceptance criteria from issue
  • Unit tests are written and all pass
  • User Test Scripts (if required) are written and have been run through
  • Project's coding standards are met
    • No deprecated methods are used
    • No magic strings/numbers - all strings are in constants or messages files
    • ES 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-coded
  • Code documentation and related non-code documentation has all been updated
  • Migation has been created and tested
  • There is a recent merge from develop

Reviewer Checklist

Reviewers should review and confirm each of these items before approval
If there are multiple reviewers, this section should be duplicated for each reviewer

  • Code meets acceptance criteria from issue
  • Unit tests are written and all pass
  • User Test Scripts (if required) are written and have been run through
  • Project's coding standards are met
    • No deprecated methods are used
    • No magic strings/numbers - all strings are in constants or messages files
    • ES 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-coded
  • Code documentation and related non-code documentation has all been updated
  • Migation has been created and tested
  • There is a recent merge from develop

Testing

This PR is purely for deployment to test. DOAJ team should check and review CRDC usage across:

  • Public Journal Search
  • Public Article Search
  • Admin Journal Search
  • Admin Application Search
  • Admin Article/Journal Search
  • Application Form
  • Journal Form

Deployment

Migrations

The migration for this PR is purely for test, and MUST NOT be run in production.

python portality/upgrade.py -u portality/migrate/4216_lcc_to_crdc/migrate.json

This will remove all LCC codes, and replace them with a random mapping to a CRDC code.

Following this, to cascade the changes to articles, run:

python portality/scripts/article_cleanup_sync.py -w

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants