-
Notifications
You must be signed in to change notification settings - Fork 5
feat: ROR integration for users and authors affiliation #1316
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
base: development
Are you sure you want to change the base?
Conversation
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.
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 Report✅ All modified and coverable lines are covered by tests. 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
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
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.
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. | ||
| * | ||
| /** |
Copilot
AI
Dec 15, 2025
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.
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.
| /** | |
| * |
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:
Screen.Recording.2025-12-15.-.720p.at.13.10.02.mov
Screen.Recording.2025-12-15.720p.at.13.14.28.mov