Authority update propagation should update bib record editor and edit_date

Bug #1588948 reported by Bill Erickson
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Evergreen
Fix Released
Undecided
Unassigned

Bug Description

Evergreen 2.10

Modifying an authority record causes updates to propagate to linked bib records. These changes should include an updated value for edit_date and editor on the modified bib records.

We can copy the editor value directly from the authority record, so whoever edits the authority record also shows as the last editor of the bib record.

I think this should include a new global flag to enable / disable the behavior. Specifically, I could imagine disabling the feature during bulk authority updates.

Revision history for this message
Bill Erickson (berick) wrote :
Revision history for this message
Bill Erickson (berick) wrote :

PGTAP test and release notes pushed.

Note the PGTAP test is meant to be a general purpose authority-to-bib propagation test file, covering basic data propagation as well as the editor/edit_date changes, hence the lack of LP# tag number on the test file.

tags: added: pullrequest
Changed in evergreen:
assignee: Bill Erickson (berick) → nobody
milestone: none → 2.next
Revision history for this message
Bill Erickson (berick) wrote :

Removing pull request tag, pending a code change to only modify bib editor and edit_date when the authority record propagation resulted in a change in the bib record.

tags: removed: pullrequest
Revision history for this message
Bill Erickson (berick) wrote :

Change pushed to update bib record editor / edit_date only when an authority propagation results in a modified bib record.

tags: added: pullrequest
Revision history for this message
Bill Erickson (berick) wrote :

As a side effect of the above, no attempt will be made to update a bib record when an authority record propagation has no effect on the bib's MARC. IOW, trivial authority record updates (i.e. not modifying controlled fields) will no longer result in unnecessary updates of all linked bibs.

Revision history for this message
Mike Rylander (mrylander) wrote :

Bill, can you think of a way to avoid even looking at the bibs? My thought was to check the main heading value from the old and new row versions at the authority level and if it's the same just skip the bib side altogether. I think that will be MUCH faster than looping through potentially thousands of bibs and calling the merge procedure to make sure that they don't change. Thoughts?

Revision history for this message
Bill Erickson (berick) wrote :

Skipping unnecessary bib updates would be a big win. Mike, are you thinking something like:

IF OLD.heading <> NEW.heading ...

If so, I think that would cover it.

Revision history for this message
Mike Rylander (mrylander) wrote :

Yep, something along those lines is what I was thinking of.

Revision history for this message
Bill Erickson (berick) wrote :

If I understand correctly, to use the updated NEW.heading value, we'd have to modify the trigger names so that update_headings_tgr() runs before aaa_auth_ingest_or_delete().

Fortunately, update_headings_tgr() does not appear to have any side effects beyond modifying NEW.heading and NEW.simple_heading.

Any concerns about renaming update_headings_tgr() to aaaa_update_headings_tgr() ?

Revision history for this message
Mike Rylander (mrylander) wrote :
Revision history for this message
Bill Erickson (berick) wrote :

Thanks, Mike.

Tested the commit and confirmed NEW.heading is changed before propagation occurs and confirmed propagation is only attempted when NEW.heading differs. PGTAP tests still pass.

Rebased, added comment to release notes about speed-up, and pushed sign-off back to source branch:

http://git.evergreen-ils.org/?p=working/Evergreen.git;a=shortlog;h=refs/heads/user/berick/lp1588948-auth-prop-sets-bib-edit-data

I believe sign-off's on my commits are all that remains.

Revision history for this message
Mike Rylander (mrylander) wrote :

Master has it. Thanks, Bill!

Changed in evergreen:
status: New → Fix Committed
Changed in evergreen:
milestone: 2.next → 2.11-beta
Changed in evergreen:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.