GLIS DOI: Update only when data is changed
@mmarsella asks us to find a way for Genesys to send to GLIS only changes to passport data or, better, to the descriptors that GLIS captures. The reason is that we are sending a lot of addTarget
requests to GLIS that result in no update to GLIS DOIs.
ScheduledGLISUpdater
is now using where(QAccession.accession.lastModifiedDate.after(date).and(QAccession.accession.doi.isNotNull()))
. We force-update the lastModifiedDate
to reflect that the data is as fresh as possible, even when there is no need to update the record since there are no modifications.
A possible approach is to add a new field Accession#dataChangedDate
(liquibase can use lastModifiedDate
value), but we need to be able to detect if there are any changes in the data. Is this a viable option or is there an alternative?
How about checking auditLogs? We don't add a new field and we add a check to ScheduledGLISUpdater
if any fields (including in AccessionId
, etc) were updated?