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

GBH: Validate that Assets don't get marked for transfer to AAPB when they don’t have all their children (XML only) #108

Open
4 tasks
jillpe opened this issue Sep 6, 2023 · 5 comments

Comments

@jillpe
Copy link

jillpe commented Sep 6, 2023

Summary

Its is hard to know when all of the children have been attached to a work, and so some works are getting transferred even though they are not complete. We want to add a count to the work for how many children, and then flip a flag when the children are all present that then gives access to the transfer to AAPB button.

Acceptance Criteria

  • When a work is imported it should record the number of children it has1
  • Before this number is met the work should have a status of not complete.
  • When the number of children matches the number of expected children the status should switch from not complete to complete.
  • When status is complete the transfer to AAPB should not be blocked. When status is incomplete the transfer to AAPB should be blocked and display a descriptive error.

1 Only AAPB PBCore - Zipped (Batch Ingester) and PbcoreXmlParser (Bulkrax) are in scope for this ticket. The remaining parsers and ingesters will be completed in future tickets.

Testing instructions:

  1. Download these files from Google Drive
    • 106-0000000q.xml
    • 102-20fttgwp.xml
    • KYUK_migration5.zip
  2. Login as an admin
PbcoreXmlParser (Bulkrax)
  1. Navigate to Dashboard > Importers > New Importer
  2. Fill out required fields. Select AAPB PBCore XML as the parser
  3. Under the "XML and files to Import" section, click "Upload a file". Upload a ZIP folder containing the two XML files from Step 1. Click "Create and Import"
  4. Make sure all entries import successfully. Re-run the importer if necessary using the "Update Metadata" option
AAPB PBCore - Zipped (Batch Ingester)
  1. Navigate to Dashboard > Batches > Upload New Batch
  2. Fill out required fields. Select AAPB PBCore - Zipped as the type
  3. For "Batch source", upload the KYUK_migration5.zip file downloaded in Step 1
  4. Click "Save"
  1. In the UI, navigate to one of the imported Assets. Copy its ID to your computer's clipboard
  2. Navigate to and delete one of its child records (PhysicalInstantiation, DigitalInstantiation, or EssenceTrack)
  3. Navigate back to the parent Asset. Edit and save the record (no need to make any changes)2
  4. Navigate to /pushes/new
  5. Paste the Asset's ID into the text box
  6. Verify that you see this error message below the box: The following IDs are missing child record(s): <Asset ID>
  7. Click the "Send to AAPB" button
  8. Verify that the page refreshes with the same error message under the box
  9. On a newline in the text box, type "fake-id"
  10. Verify that you still see the "missing child record(s)" error under the box, alongside a new The following IDs are not found in the repository: fake-id error message

2 This will force the validation status to reevaluate

Notes

@jillpe
Copy link
Author

jillpe commented Sep 6, 2023

Kiah:

Questions:

Are Assets the only work type that gets transferred to AAPB?
If so, does "children" in the context of this ticket only refer to Digital and Physical instantiations? Or Essence Tracks as well?
Does this functionality need to be supported in just Bulkrax or the Bulk Ingester as well?
Where all in the app can a transfer be initiated from? E.g. the show page, the search results, etc.
Does the counter need to be a database-backed property?
Does the status flag need to be a database-backed property?

@jillpe
Copy link
Author

jillpe commented Sep 6, 2023

July 11, Kiah:

Tally in Bulkrax and bulk ingester, final check in actor stack.

/pushes endpoint <-- where transfers happen

@jillpe
Copy link
Author

jillpe commented Sep 6, 2023

July 11, Kiah:

Are Assets the only work type that gets transferred to AAPB?

Yes

If so, does "children" in the context of this ticket only refer to Digital and Physical instantiations? Or Essence Tracks as well?

All instantiations and Essence Tracks.

Does this functionality need to be supported in just Bulkrax or the Bulk Ingester as well?

Yes

Where all in the app can a transfer be initiated from? E.g. the show page, the search results, etc.

/pushes endpoint

Does the counter need to be a database-backed property?
Does the status flag need to be a database-backed property?

@jillpe
Copy link
Author

jillpe commented Sep 6, 2023

July 17, Kiah:

Passes QA on demo:

New Push AMS 2023-07-17 at 3 22 32 PM

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

No branches or pull requests

1 participant