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

Develop initial AIP generation component #3

Closed
2 tasks done
jordanpadams opened this issue Jan 24, 2020 · 4 comments
Closed
2 tasks done

Develop initial AIP generation component #3

jordanpadams opened this issue Jan 24, 2020 · 4 comments
Assignees
Labels

Comments

@jordanpadams
Copy link
Member

jordanpadams commented Jan 24, 2020

L5.NSS.2 – The tool shall be capable of generating a valid Archive Information Package transfer manifest (Product_AIP) and PDS4 XML label in accordance with the PDS4 Information Model.

This task includes:

  • creation of the new AIP product
  • update the SIP to include the checksum of the newly created AIP (this value is currently all zeros)

Overview

Here is a template AIP to work from: template_Product_AIP_v1D00.xml.txt

You will also need to create 2 other files (checksum manifest could be an input file, which we have TBD PR out there to update):

File Naming

Similar to the SIP file naming, let's use the bundle name with some add-ons (correct me if this is not what we did for SIP):

  • <bundle_lid>_aip_v1.0.xml
  • <bundle_lid>_checksum_manifest_v1.0.tab
  • <bundle_lid>_transfer_manifest_v1.0.tab

Things to be aware of

  • From the looks of it, we probably should have just created the AIP first and then tackled the SIP.
  • It appears we basically just need to output some other intermediate files that are just different permutations of the information needed for the SIP manifest.
  • Per note above, the checksum manifest will eventually be an optional input to the software, so keep that in mind during implementation.

Applicable requirements
Primary - 🦄 #45
Secondary - 🦄 #48 🦄 50 🦄 52 🦄

@nutjob4life
Copy link
Member

@jordanpadams question: in the XML label sample (attached to the issue) there are entries for $CHECKSUM_RECORDS and $TRANSFER_RECORDS. Does this mean putting the entire contents of the generated checksum manifest and transfer manifest into the XML label?

@nutjob4life
Copy link
Member

@jordanpadams one other quickie: in the sample XML label (attached to the issue), the File_Area_Transfer_Manifest has a File child with an md5_checksum element, but the similar File_Area_Checksum_Manifest has a File child without the md5_checksum. Just want to confirm that that is intentional.

@jordanpadams
Copy link
Member Author

@jordanpadams question: in the XML label sample (attached to the issue) there are entries for $CHECKSUM_RECORDS and $TRANSFER_RECORDS. Does this mean putting the entire contents of the generated checksum manifest and transfer manifest into the XML label?

@nutjob4life oops. Def not clear. Those should be the number of records in each table. Should probably be *_NUM_RECORDS.

@jordanpadams
Copy link
Member Author

@jordanpadams one other quickie: in the sample XML label (attached to the issue), the File_Area_Transfer_Manifest has a File child with an md5_checksum element, but the similar File_Area_Checksum_Manifest has a File child without the md5_checksum. Just want to confirm that that is intentional.

Ignore md5_checksum. I removed it bc it doesn't seem to make sense to duplicate this value in 20 places.

nutjob4life added a commit that referenced this issue Mar 4, 2020
This provides:
- `aipgen` the Archive Information Package generator
- Refactored code into constants and utilities for use by both `aipgen` and `sipgen`
- Documentation updates to reflect the new `aipgen` command and how its output is fed into `sipgen`
jordanpadams added a commit that referenced this issue Mar 4, 2020
This provides:
- `aipgen` the Archive Information Package generator
- Refactored code into constants and utilities for use by both `aipgen` and `sipgen`
- Documentation updates to reflect the new `aipgen` command and how its output is fed into `sipgen`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants