Skip to content

CFM-121_ORCID_Source_Plugin #311

Merged
merged 1 commit into from
May 5, 2025

Conversation

Ioannis
Copy link
Contributor

@Ioannis Ioannis commented May 1, 2025

No description provided.

@Ioannis Ioannis marked this pull request as draft May 1, 2025 08:08
@Ioannis Ioannis marked this pull request as ready for review May 4, 2025 09:08
@Ioannis Ioannis force-pushed the CFM-121_ORCID_Source_Plugin branch from 45fcd1a to 01a9d39 Compare May 4, 2025 09:16
Dispatch...

dispatch...

Dispatch and Hydrate

external identity sync...

external identity sync...

sync external identity...

ORCID Source search...

Same EIS different Person ID
@Ioannis Ioannis force-pushed the CFM-121_ORCID_Source_Plugin branch from 01a9d39 to 54033ad Compare May 5, 2025 08:15
@Ioannis Ioannis merged commit f5ef42c into COmanage:develop May 5, 2025
@Ioannis Ioannis deleted the CFM-121_ORCID_Source_Plugin branch May 5, 2025 08:16
Copy link
Contributor

@benno benno left a comment

Choose a reason for hiding this comment

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

There's a comment in the documentation that "The ORCID Identifier is now called the Source Key."

The ORCiD should show up as an Identifier of type orcid. It looks like resultToEntityData does this?


protected function manageEISRecord(
Pipeline $pipeline,
ExternalIdentitySource $eis,
string $sourceKey,
?string $sourceRecord,
Copy link
Contributor

Choose a reason for hiding this comment

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

I rolled back this change in a6c77a2898 since it was breaking pipeline updates ($personId is intentionally not passed through on update requests, so they were all failing), but also because manageEISRecord is only supposed to work within the EIS Record context, it's not supposed to know about the Person record.

Let's discuss what this test is supposed to be doing, there may be a better place for it.

Copy link
Contributor

Choose a reason for hiding this comment

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

Should we commit this file? It doesn't actually apply...

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@benno other plugins have this files too. This is why i left it in there. Do we remove them from everywhere?

Copy link
Contributor

Choose a reason for hiding this comment

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

Similarly, do we need to commit this file? The name is wrong, the license is wrong, and the autoload paths should have been addressed by the main composer.json mods above.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@benno the same as above

Comment on lines +224 to +225
// XXX We could maybe move this into StandardEnrollerController with a flag like
// $this->alwaysAuthDispatch(true);
Copy link
Contributor

Choose a reason for hiding this comment

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

I've added an item to CFM-47, we should review this for the next plugin since there are now three that do something similar

use App\Lib\Enum\StandardEnum;

class OrcidSourceScopeEnum extends StandardEnum {
const DEFAULT_SCOPE = '/authenticate';
Copy link
Contributor

Choose a reason for hiding this comment

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

Do we really need an enum if there's only one value? Can we just define the CONST instead?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This is used in more than one files. This way we can include it without having to duplicate the code

Comment on lines +271 to +275
$role = [
// We only support one role per record
'role_key' => '1',
'affiliation' => $this->DefaultAffiliationTypes->getTypeLabel($OrcidSource->default_affiliation_type_id)
];
Copy link
Contributor

Choose a reason for hiding this comment

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

Does it make sense for OrcidSource to assert an External Identity Role? (It should be possible for an EIS to return a record without one.)

If so, does the affiliation type need to be configurable? It's not clear what an affiliation for an ORCiD record should be... are we somehow propagating information about the underlying ORCiD record? This probably needs some discussion.

app/resources/locales/en_US/field.po Show resolved Hide resolved
Sign in to join this conversation on GitHub.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants