4Science / dspace-angular

Angular UI for DSpace and DSpace-CRIS. In the dspace-cris-7 branch you can find the extension to support DSpace-CRIS
BSD 3-Clause "New" or "Revised" License
14 stars 28 forks source link

Disable orcid synchronization per Type #84

Open floriangantner opened 6 months ago

floriangantner commented 6 months ago

Is your feature request related to a problem? Please describe. As an repository manager i might not want the user to set their orcid sync settings for projects, patents or products, because my repository does not have that entity configured or does have too poor data the fulfill the minimal requirements for this entity in future (e.g. funding identifier missing)

Describe the solution you'd like We would like the synchronization settings on the frontend to be shown based on some Authorization Feature checking if the synchronization is currently enabled for the specific entity type, similar to the https://github.com/4Science/DSpace/blob/main-cris/dspace-server-webapp/src/main/java/org/dspace/app/rest/authorization/impl/CanSynchronizeWithORCID.java Feature.

We also would like some addtional check in the OrcidHistoryServiceImpl.synchronizeWithOrcid https://github.com/4Science/DSpace/blob/f768bbe0f1017a198262e7bc3aaa86aa332ba1d2/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidHistoryServiceImpl.java#L178 checking if the synchronization is currently enabled for the Type of the OrcidQueue which is being pushed.

Describe alternatives or workarounds you've considered

Current workaround is to comment out the corresponding entity on the orcid sync component the https://github.com/4Science/dspace-angular/blob/e27001809be286002cc792bb5b068f5129fc3615/src/app/item-page/orcid-page/orcid-sync-settings/orcid-sync-settings.component.html#L74 and comment out occurences of the the form data being processed in https://github.com/4Science/dspace-angular/blob/main-cris/src/app/item-page/orcid-page/orcid-sync-settings/orcid-sync-settings.component.ts .

Additional context