We have code that contains logic for extracting ORCIDs from cocina in both dor_indexing_app and in the orcid_client gem. This code is largely duplicative and is sometimes changed in one location, but not the other, which can lead to unexpected bugs. There is also other code in dor_indexing_app that deals with extracting data out of cocina that could be of use to other applications.
See for example:
Consider:
- moving this logic in the
cocina-models gem where it can be easily shared and not duplicated
- creating a new gem, e.g.
cocina-support, that would hold this logic and can be easily updated without requiring a full update of all apps (which is needed to keep cocina-models in sync)
We have code that contains logic for extracting ORCIDs from cocina in both
dor_indexing_appand in theorcid_clientgem. This code is largely duplicative and is sometimes changed in one location, but not the other, which can lead to unexpected bugs. There is also other code indor_indexing_appthat deals with extracting data out of cocina that could be of use to other applications.See for example:
Consider:
cocina-modelsgem where it can be easily shared and not duplicatedcocina-support, that would hold this logic and can be easily updated without requiring a full update of all apps (which is needed to keepcocina-modelsin sync)