Skip to content

Conversation

@NishaSharma14
Copy link
Contributor

@NishaSharma14 NishaSharma14 commented Dec 15, 2025

This PR integrates the Research Organization Registry (ROR) for managing user and author affiliations. It adds the ability to search for organizations via the ROR API and store both the organization name and ROR ID for users and authors.

Key Changes:

  • Added ROR ID fields to users and authors tables with supporting migrations
  • Created a Vue typeahead component for searching and selecting organizations from ROR API
  • Updated registration, profile, and author management flows to support ROR integration
  • Added comprehensive test coverage for ROR functionality
Screen.Recording.2025-12-15.-.720p.at.13.10.02.mov
Screen.Recording.2025-12-15.720p.at.13.14.28.mov

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR integrates the Research Organization Registry (ROR) for managing user and author affiliations. It adds the ability to search for organizations via the ROR API and store both the organization name and ROR ID for users and authors.

Key Changes:

  • Added ROR ID fields to users and authors tables with supporting migrations
  • Created a Vue typeahead component for searching and selecting organizations from ROR API
  • Updated registration, profile, and author management flows to support ROR integration
  • Added comprehensive test coverage for ROR functionality

Reviewed changes

Copilot reviewed 22 out of 23 changed files in this pull request and generated no comments.

Show a summary per file
File Description
database/migrations/2025_12_11_115948_add_ror_id_to_users_table.php Adds ror_id column to users table
database/migrations/2025_12_15_105635_change_affiliation_to_text_in_users_table.php Changes affiliation from varchar to text for longer organization names
database/migrations/2025_12_15_115641_add_ror_id_to_authors_table.php Adds ror_id column to authors table
config/ror.php Configuration file for ROR API URL and client ID
app/Models/User.php Adds ror_id to fillable attributes
app/Models/Author.php Adds ror_id to fillable attributes
app/Actions/Fortify/CreateNewUser.php Handles ror_id during user registration
app/Actions/Fortify/UpdateUserProfileInformation.php Updates validation and handles ror_id in profile updates
app/Actions/Author/SyncProjectAuthors.php Validates and syncs ror_id for authors
app/Http/Middleware/HandleInertiaRequests.php Shares ROR configuration with frontend
app/Support/Csp/Policies/NmrxivPolicy.php Adds ROR API to CSP connect directive
resources/js/Shared/RorAffiliationTypeahead.vue New Vue component for ROR organization search
resources/js/Shared/ManageAuthor.vue Integrates ROR typeahead for author affiliations
resources/js/Pages/Auth/Register.vue Adds ROR integration to registration form
resources/js/Pages/Profile/Partials/UpdateProfileInformationForm.vue Adds ROR integration to profile update
resources/js/Pages/Console/Users/Partials/UserProfile.vue Adds ROR integration to admin user management
tests/Feature/RegistrationTest.php Tests registration with and without ROR ID
tests/Feature/ProfileInformationTest.php Tests profile updates with ROR functionality
tests/Feature/ManageAuthorsTest.php Comprehensive tests for author ROR integration
.env.example Adds ROR API configuration examples

@codecov
Copy link

codecov bot commented Dec 15, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 56.70%. Comparing base (6637646) to head (312b9cf).

Additional details and impacted files
@@                Coverage Diff                @@
##             development    #1316      +/-   ##
=================================================
+ Coverage          56.63%   56.70%   +0.07%     
- Complexity          2268     2272       +4     
=================================================
  Files                207      208       +1     
  Lines               8733     8775      +42     
=================================================
+ Hits                4946     4976      +30     
- Misses              3787     3799      +12     
Flag Coverage Δ
unittests 56.70% <100.00%> (+0.07%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 24 out of 25 changed files in this pull request and generated 1 comment.

/**
* The attributes that are mass assignable.
*
/**
Copy link

Copilot AI Dec 15, 2025

Choose a reason for hiding this comment

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

The PHPDoc block is malformed. Line 34 starts with "/**" instead of being part of the comment block. This should be removed to maintain proper documentation structure.

Suggested change
/**
*

Copilot uses AI. Check for mistakes.
@NishaSharma14 NishaSharma14 self-assigned this Dec 16, 2025
@NishaSharma14 NishaSharma14 changed the title ROR integration for users and authors affiliation feat: ROR integration for users and authors affiliation Dec 16, 2025
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.

ROR Integration Author - change the template. Instead of affiliation, we should ask for the ROR

2 participants