Skip to content

[Candidate Identifier (Rework)] Add candidate identifier type configuration - #11261

Draft
HachemJ wants to merge 68 commits into
aces:mainfrom
HachemJ:AddCandidateIdentifierTypeConfiguration
Draft

HachemJ wants to merge 68 commits into
aces:mainfrom
HachemJ:AddCandidateIdentifierTypeConfiguration

Conversation

@HachemJ

@HachemJ HachemJ commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Brief summary of changes

This PR introduces a Configuration interface for managing candidate identifier types, building on the database structure and backend functionality introduced in the preceding PRs #11209, #11212 and #11253.

Candidate identifier types define how identifiers such as PSCIDs or external IDs are configured and associated with projects. The new interface allows administrators to create and edit these types through the Configuration module, including their name, format, required and uniqueness settings, automatic generation, support for multiple values, and associated projects.

Existing identifier types are displayed in separate tabs alongside an option to create a new type. The interface follows the conventions of the existing LORIS Configuration pages, with field descriptions, save and reset functionality, and validation for required fields and duplicate names.

image

Testing instructions (if applicable)

  1. Run make testdata to initialize the database, or apply the 2026-09-22-add_candidate_identifiers_tables.sql database patch to an existing database.

  2. Log in with a user who has the config permission.

  3. Navigate to Admin --> Configuration --> Candidate Identifier Types.

  4. Verify that existing identifier types, such as PSCID, appear in separate tabs with their configured properties and project associations.

  5. Select New Identifier Type, enter a name and format, configure the checkboxes and associated projects, and click Save.

  6. Verify that a success message appears and the new identifier type is displayed after reloading.

  7. Edit an existing identifier type, save the changes, and verify that the updated values persist after reloading.

  8. Attempt to create an identifier type with an existing name and verify that a validation error appears without saving any changes.

  9. Attempt to save an identifier type with an empty name or format and verify that validation prevents saving.

  10. Verify that field tooltips display correctly and that Reset restores unsaved changes.

@github-actions github-actions Bot added Language: SQL PR or issue that update SQL code Language: PHP PR or issue that update PHP code Language: Javascript PR or issue that update Javascript code Module: api PR or issue related to api module Module: configuration PR or issue related to configuration module Module: new_profile PR or issue related to new_profile module labels Oct 22, 2026
@HachemJ
HachemJ force-pushed the AddCandidateIdentifierTypeConfiguration branch 2 times, most recently from 6426a4a to e879f6a Compare October 23, 2026 20:31
@github-actions github-actions Bot added the Multilingual Any tasks related to making LORIS multilingual label Oct 26, 2026
@HachemJ
HachemJ force-pushed the AddCandidateIdentifierTypeConfiguration branch 2 times, most recently from db09fa2 to 63110b2 Compare October 27, 2026 15:08
@HachemJ
HachemJ force-pushed the AddCandidateIdentifierTypeConfiguration branch from 63110b2 to f9952a1 Compare October 27, 2026 15:32
@HachemJ
HachemJ force-pushed the AddCandidateIdentifierTypeConfiguration branch from ad829fd to 90462da Compare October 27, 2026 16:41

This branch has not been deployed

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

Labels

Language: Javascript PR or issue that update Javascript code Language: PHP PR or issue that update PHP code Language: SQL PR or issue that update SQL code Module: api PR or issue related to api module Module: configuration PR or issue related to configuration module Module: new_profile PR or issue related to new_profile module Multilingual Any tasks related to making LORIS multilingual

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant