Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[3.3] Additional identifiers using extended data importer #2183

Open
wants to merge 19 commits into
base: Development
Choose a base branch
from

Conversation

Atticus29
Copy link
Collaborator

@Atticus29 Atticus29 commented Feb 5, 2025

Description

This PR implements bulk upload of custom identifiers. End users need to provide either occurrenceID, catalogNumber, or otherCatalogNumbers, as well as identifierName and identifierValue. format, notes, sortBy, and recordID are optional.

End users also have the option to update existing identifier entries in the omoccuridentifiers table, as well as delete.

Pull Request Checklist:

Pre-Approval

  • There is a description section in the pull request that details what the proposed changes do. It can be very brief if need be, but it ought to exist.
  • Hotfixes should be branched off of the master branch and PR'd using the merge option (not squashed) into the hotfix branch.
    • N/A
  • Features and backlog bugs should be merged into the Development branch, NOT master
  • All new text is preferably internationalized (i.e., no end-user-visible text is hard-coded on the PHP pages), and the spreadsheet tracking internationalizations has been updated either with a new row or with checkmarks to existing rows.
  • There are no linter errors
  • New features have responsive design (i.e., look aesthetically pleasing both full screen and with small or mobile screens)
  • Symbiota coding standards have been followed
  • If any files have been reformatted (e.g., by an autoformatter), the reformat is its own, separate commit in the PR
    • Autoformats are in their own commits, and comments are in places where autoformatters affected the whole file but certain code is new.
  • Comment which GitHub issue(s), if any does this PR address
  • If this PR makes any changes that would require additional configuration of any Symbiota portals outside of the files tracked in this repository, make sure that those changes are detailed in this document.
    • N/A

Post-Approval

  • It is the code author's responsibility to merge their own pull request after it has been approved
  • If this PR represents a merge into the Development branch, remember to use the squash & merge option
  • If this PR represents a merge into the hotfix branch, remember to use the merge option (i.e., no squash).
  • If this PR represents a merge from the Development branch into the master branch, remember to use the merge option
  • If this PR represents a merge from the hotfix branch into the master branch use the squash & merge option
    • a subsequent PR from master into Development should be made with the merge option (i.e., no squash).
    • Immediately delete the hotfix branch and create a new hotfix branch
    • increment the Symbiota version number in the symbase.php file and commit to the hotfix branch.
  • If the dev team has agreed that this PR represents the last PR going into the Development branch before a tagged release (i.e., before an imminent merge into the master branch), make sure to notify the team and lock the Development branch to prevent accidental merges while QA takes place. Follow the release protocol here.
  • Don't forget to delete your feature branch upon merge. Ignore this step as required.

Thanks for contributing and keeping it clean!

@Atticus29 Atticus29 marked this pull request as ready for review February 5, 2025 22:48
@Atticus29 Atticus29 requested review from themerekat and egbot February 5, 2025 22:48
$this->logOrEcho('ERROR loading Material Sample: ' . $importManager->getErrorMessage(), 1);
}
}
} elseif ($this->importType == self::IMPORT_IDENTIFIERS) {
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the only area that is a new addition; the rest is autoformatting fixes.

@themerekat
Copy link
Collaborator

themerekat commented Feb 6, 2025

image
What I did:

  1. Uploaded a file of identifiers. One of the identifiers matched on otherCatalogNumbers, and, incidentally, that same otherCatalogNumber has TWO matching occurrences already in the database. So what it did the first time was add the identifier to both instances of that otherCatalogNumber.
  2. Changed one value in the identifiers field and re-uploaded the file. I just realized that I failed to check the "update" box, though, so it's just trying to add brand new identifier records to the db. It's weird that it worked on the # 1, but failed on # 2, but I suspect it has to do with the fact that # 2 has two matching occurrence records in the db already.

@Atticus29
Copy link
Collaborator Author

image What I did:

  1. Uploaded a file of identifiers. One of the identifiers matched on otherCatalogNumbers, and, incidentally, that same otherCatalogNumber has TWO matching occurrences already in the database. So what it did the first time was add the identifier to both instances of that otherCatalogNumber.
  2. Changed one value in the identifiers field and re-uploaded the file. I just realized that I failed to check the "update" box, though, so it's just trying to add brand new identifier records to the db. It's weird that it worked on the # 1, but failed on # 2, but I suspect it has to do with the fact that # 2 has two matching occurrence records in the db already.

Ok. I think that I fixed this in 578a7a5, but @themerekat it's worth checking that it has the result that you're expecting.

@themerekat
Copy link
Collaborator

themerekat commented Feb 6, 2025

The DELETE action doesn't seem to work. Here's the error I'm getting:
image

Oh wait...I didn't map "identifiername" or "identifiervalue", just the subject identifier.

Copy link
Collaborator

@themerekat themerekat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add, update, and delete all seem to be working!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants