Uploaded image for project: 'mod-user-import'
  1. mod-user-import
  2. MODUIMP-50

User can not be updated in bulk update after record has been modified in UI

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • P1
    • Resolution: Done
    • 3.3.2
    • 3.6.0
    • Bulk API Create/Update
    • CP: sprint 116
    • Core: Platform
    • R1 2021 Hot FIx #2
    • Yes
    • 5 Colleges, BNCF, Chalmers, Cornell, Duke, GBV, Lehigh, MI State University/Library of Michigan, MO State, OTHER, SHL, Simmons, Spokane Public Libraries, St. Michael's College, STU, TAMU, University of Alabama, University of Chicago, University of Leipzig, University of Tennessee Martin, Warner, Washington-Jefferson

    Description

      Purpose/Overview:

      Initially reported by Skidmore, verified in Skidmore and bugfest – suspect it affects many institutions.

      After a patron record has been modified in the UI (any field tested), any subsequent attempts to update that record in a bulk load results in the error:

      failed to delete user preference.Failed to decode:Cannot construct instance of `java.util.LinkedHashMap` (although at least one Creator exists): no String-argument constructor/factory method to deserialize from String value

      Desired functionality:

       

      • Bulk loaded values are preferred and overwrite existing values for which fields are preferred

      To replicate: 

       Add user group Alumni.

      IFS='' read -r -d '' user << EndOfUsers
        {
          "users" : [
              {
                "username": "anyusername",
                "externalSystemId": "anyidentifier",
                "active": true,
                "patronGroup": "Alumni",
                "personal": {
                  "lastName": "lastname",
                  "email": "anyemail@ebsco.com",
                  "addresses": [],
                  "preferredContactTypeId": "email"
                }
              }
          ],
          "totalRecords" : 1,
          "deactivateMissingUsers" : false,
          "updateOnlyPresentFields" : true
        }
      EndOfUsers
      curl --http1.1 -s -w '\n' -X POST -H "Content-type: application/json" -H "X-Okapi-Tenant: ${tenant}" -H "x-okapi-token: ${okapi_token}" -d "${user}" "${okapi_url}/user-import"
      

      Modify any value for the user and correct via API and it updates properly provided data constraints are followed.

      Modify any value for the user via the GUI (add a single character to the last name, add a preferred name, etc), and then the record can no longer be updated via API

       

      TestRail: Results

        Attachments

          Issue Links

            Activity

              People

                mikhail.fokanov Mikhail Fokanov
                KBanerjee Kyle
                Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:

                  TestRail: Runs

                    TestRail: Cases