Skip to content

add support for user attributes on user accounts#2588

Open
richard-jones wants to merge 3 commits into
developfrom
feature/4317_user_attributes
Open

add support for user attributes on user accounts#2588
richard-jones wants to merge 3 commits into
developfrom
feature/4317_user_attributes

Conversation

@richard-jones

@richard-jones richard-jones commented Apr 30, 2026

Copy link
Copy Markdown
Contributor

Add attributes to user accounts

In preparation for Editorial Workflow, this adds the ability for users to have attributes which describe their capabilities

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

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

For testing the migration, the csv files located in this CL google drive folder can be used https://drive.google.com/drive/u/0/folders/1kbDPodh1ZrhrzuccXfHVWbyg8c0iX8Sh

For testing the feature and regression, all the tests from the User Management testbook can be used
https://doaj.github.io/doaj-docs/feature/4317_user_attributes/testbook/index.html#user_management/user_management

Deployment

Configuration changes

N/A

Scripts

N/A

Migrations

python portality/migrate/4317_user_attributes/apply_user_attributes.py [country csv] [language csv]

You will need to have the country csv and language csv provided at migration time, these come from a private editorial spreadsheet.

You may also supply --dry-run on initial migration to determine that it will take correctly.

Monitoring

N/A

New Infrastructure

N/A

Continuous Integration

N/A

@richard-jones richard-jones marked this pull request as ready for review May 6, 2026 19:40

usman-cottagelabs commented May 11, 2026

Copy link
Copy Markdown

@usman-cottagelabs usman-cottagelabs left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 bug found. See the Issue itself for the bug.

@usman-cottagelabs

Copy link
Copy Markdown

@richard-jones
QA complete on this ticket. Bug resolved. See Issue.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants