Bagit Profile Export issue with cancelling adding questions
Closed this issue · 6 comments
kieranjol commented
I'm on macOS 12.3, Version: DART 2.0.17 with Node.js v12.18.3 for darwin-x64-21.4.0.
Steps to reproduce:
- Settings -> Export Settings
- Select any profile with no questions, for example 'AP Trust'
- Tick 'add questions' and click 'add questions'
- In the setup questions screen, click cancel
- Click Export ('add questions' will be unticked)
Result: A blank question will be in the export, which results in a failed import as the question can't be answered from what I can tell:
"questions": [
{
"id": "73e7ffec-b284-48dc-b474-f187c69e13b1",
"prompt": "",
"objType": "",
"objId": "",
"field": ""
}
And here's the full export
{
"id": "00000000-0000-0000-0000-000000000000",
"appSettings": [],
"bagItProfiles": [
{
"id": "043f1c22-c9ff-4112-86f8-8f8f1e6a2dca",
"name": "APTrust",
"description": "APTrust 2.2 default BagIt profile.",
"acceptBagItVersion": [
"0.97",
"1.0"
],
"acceptSerialization": [
"application/tar"
],
"allowFetchTxt": false,
"bagItProfileInfo": {
"bagItProfileIdentifier": "https://raw.githubusercontent.com/APTrust/preservation-services/master/profiles/aptrust-v2.2.json",
"bagItProfileVersion": "",
"contactEmail": "support@aptrust.org",
"contactName": "A. Diamond",
"externalDescription": "BagIt profile for ingesting content into APTrust. Updated November 9, 2018.",
"sourceOrganization": "aptrust.org",
"version": "2.2"
},
"manifestsRequired": [
"md5"
],
"manifestsAllowed": [
"md5",
"sha256"
],
"tagManifestsRequired": [],
"tagManifestsAllowed": [
"md5",
"sha256"
],
"tagFilesAllowed": [
"*",
""
],
"tags": [
{
"id": "39b8ac8a-8e3d-47c3-9cda-5edd0d4ad1fb",
"tagFile": "bagit.txt",
"tagName": "BagIt-Version",
"required": true,
"values": [
"0.97",
"1.0"
],
"defaultValue": "0.97",
"userValue": "",
"help": "Which version of the BagIt specification describes this bag's format?",
"isBuiltIn": true,
"isUserAddedFile": false,
"isUserAddedTag": false,
"wasAddedForJob": false,
"emptyOk": false
},
{
"id": "2a914ea2-ee3b-4c53-96e1-4f93f641338b",
"tagFile": "bagit.txt",
"tagName": "Tag-File-Character-Encoding",
"required": true,
"values": [
"UTF-8"
],
"defaultValue": "UTF-8",
"userValue": "",
"help": "How are this bag's plain-text tag files encoded? (Hint: usually UTF-8)",
"isBuiltIn": true,
"isUserAddedFile": false,
"isUserAddedTag": false,
"wasAddedForJob": false,
"emptyOk": false
},
{
"id": "567451b6-1f30-4bda-b66b-9a657426d5e5",
"tagFile": "bag-info.txt",
"tagName": "Source-Organization",
"required": true,
"values": [],
"defaultValue": null,
"userValue": "",
"help": "The name of the organization that produced this bag, or is responsible for its contents.",
"isBuiltIn": true,
"isUserAddedFile": false,
"isUserAddedTag": false,
"wasAddedForJob": false,
"emptyOk": false
},
{
"id": "117e46d8-096f-41f1-8c94-7d9202b9477b",
"tagFile": "bag-info.txt",
"tagName": "Bag-Count",
"required": false,
"values": [],
"defaultValue": null,
"userValue": "",
"help": "The number of bags that make up this object. Set this only if you are packaging a single object into multiple bags. See https://wiki.aptrust.org/Bagging_specifications for info on naming multi-part APTrust bags.",
"isBuiltIn": true,
"isUserAddedFile": false,
"isUserAddedTag": false,
"wasAddedForJob": false,
"emptyOk": true
},
{
"id": "41b75504-e54d-49a1-aad4-c8a4921d15ce",
"tagFile": "bag-info.txt",
"tagName": "Bagging-Date",
"required": false,
"values": [],
"defaultValue": null,
"userValue": "",
"help": "The date this bag was created. The bagging software should set this automatically.",
"isBuiltIn": true,
"isUserAddedFile": false,
"isUserAddedTag": false,
"wasAddedForJob": false,
"emptyOk": true
},
{
"id": "4d9e682c-4236-4adf-aaf2-c9d7666e3062",
"tagFile": "bag-info.txt",
"tagName": "Bagging-Software",
"required": false,
"values": [],
"defaultValue": null,
"userValue": "",
"help": "The name of the software that created this bag. The bagging software should set this automatically.",
"isBuiltIn": true,
"isUserAddedFile": false,
"isUserAddedTag": false,
"wasAddedForJob": false,
"emptyOk": true
},
{
"id": "32e69005-4495-452f-8b3d-bef545fca583",
"tagFile": "bag-info.txt",
"tagName": "Bag-Group-Identifier",
"required": false,
"values": [],
"defaultValue": null,
"userValue": "",
"help": "Identifies the logical group or collection to which a bag belongs. Several bags may share the same Bag-Group-Identifier to indicate that they are part of the same logical grouping.",
"isBuiltIn": true,
"isUserAddedFile": false,
"isUserAddedTag": false,
"wasAddedForJob": false,
"emptyOk": true
},
{
"id": "917fc560-5bd1-4a5b-acb6-b7a4ce749252",
"tagFile": "bag-info.txt",
"tagName": "Internal-Sender-Description",
"required": false,
"values": [],
"defaultValue": null,
"userValue": "",
"help": "A description of the bag's contents for the sender's internal use. This description will appear in the APTrust registry if you do not set the Description tag in the aptrust-info.txt file.",
"isBuiltIn": true,
"isUserAddedFile": false,
"isUserAddedTag": false,
"wasAddedForJob": false,
"emptyOk": true
},
{
"id": "018c0706-5597-4406-a705-205c608d827f",
"tagFile": "bag-info.txt",
"tagName": "Internal-Sender-Identifier",
"required": false,
"values": [],
"defaultValue": null,
"userValue": "",
"help": "A unique identifier for this bag inside your organization.",
"isBuiltIn": true,
"isUserAddedFile": false,
"isUserAddedTag": false,
"wasAddedForJob": false,
"emptyOk": true
},
{
"id": "de2c8f3e-fadb-4811-88a2-83aafa44fb50",
"tagFile": "bag-info.txt",
"tagName": "Payload-Oxum",
"required": false,
"values": [],
"defaultValue": null,
"userValue": "",
"help": "The number of files and bytes in this bag's payload. This should be calculated and set by the bagging software.",
"isBuiltIn": true,
"isUserAddedFile": false,
"isUserAddedTag": false,
"wasAddedForJob": false,
"emptyOk": true
},
{
"id": "9b7344ae-9d06-4444-9d8a-dda7e5c2b8dc",
"tagFile": "aptrust-info.txt",
"tagName": "Title",
"required": true,
"values": [],
"defaultValue": null,
"userValue": "",
"help": "The title or name of that describes this bag's contents.",
"isBuiltIn": true,
"isUserAddedFile": false,
"isUserAddedTag": false,
"wasAddedForJob": false,
"emptyOk": false
},
{
"id": "60ef466a-6d9c-4825-92cf-e472fb05f3d4",
"tagFile": "aptrust-info.txt",
"tagName": "Access",
"required": true,
"values": [
"Consortia",
"Institution",
"Restricted"
],
"defaultValue": null,
"userValue": "Institution",
"help": "Access rights for this bag describe who can see that it exists in the repository.",
"isBuiltIn": true,
"isUserAddedFile": false,
"isUserAddedTag": false,
"wasAddedForJob": false,
"emptyOk": false
},
{
"id": "d94d1d47-49cb-4569-8d27-d9ebbf25c9b2",
"tagFile": "aptrust-info.txt",
"tagName": "Description",
"required": false,
"values": [],
"defaultValue": null,
"userValue": "",
"help": "The description of the bag that you want to appear in the APTrust registry.",
"isBuiltIn": true,
"isUserAddedFile": false,
"isUserAddedTag": false,
"wasAddedForJob": false,
"emptyOk": true
},
{
"id": "53075007-e6cf-4a18-9b34-caa605ed593f",
"tagFile": "aptrust-info.txt",
"tagName": "Storage-Option",
"required": true,
"values": [
"Standard",
"Glacier-OH",
"Glacier-OR",
"Glacier-VA",
"Glacier-Deep-OH",
"Glacier-Deep-OR",
"Glacier-Deep-VA",
"Wasabi-VA",
"Wasabi-OR"
],
"defaultValue": "Standard",
"userValue": "",
"help": "How do you want this bag to be stored in APTrust? Standard = S3/Virginia + Glacier/Oregon. Glacier-OH = Glacier-only storage in Ohio. Glacier-OR = Glacier-only storage in Oregon. Glacier-VA = Glacier-only storage in Virginia. Standard storage includes regular 90-day fixity checks. Glacier-only storage is less expensive but excludes fixity checks. File in Glacier-only storage may take up to 24 hours longer to restore and excessive Glacier retrieval may incur additional fees.",
"isBuiltIn": true,
"isUserAddedFile": false,
"isUserAddedTag": false,
"wasAddedForJob": false,
"emptyOk": false
}
],
"serialization": "required",
"baseProfileId": "",
"isBuiltIn": true,
"tarDirMustMatchName": true
}
],
"questions": [
{
"id": "73e7ffec-b284-48dc-b474-f187c69e13b1",
"prompt": "",
"objType": "",
"objId": "",
"field": ""
}
],
"remoteRepositories": [],
"storageServices": []
}
diamondap commented
This should be fixed in commit e7eff2d. Will notify when new build is publicly available.
kieranjol commented
Thank you for the swift fix, looking forward to testing.
diamondap commented
This should be fixed in release 2.0.18. Links to the latest version are here: https://aptrust.github.io/dart-docs/
diamondap commented
@kieranjol Can you confirm this fix when you have some time?
kieranjol commented
I apologise for not testing this at the time! Just tested with 2.0.19 and it is fixed, thank you!
diamondap commented
Thanks.