Maintenance notes don't roundtrip to EAC-CPF <maintenanceHistory>
|Assignee:||José Raddaoui Marín||% Done:|
|Category:||EAC - Import/Export|
|Target version:||Release 1.4.0|
|Google Code Legacy ID:||atom-1728||Tested version:|
To reproduce this error:
1)Import the attached EAC XML file
2)Export to EAC-CPF
Export contains a <maintenanceEvent /> for the creation and revision date in ICA-AtoM, but none of the original <maintenanceHistory /> data.
<maintenanceHistory /> data should be preserved.
[g] Legacy categories: Import/Export
#9 Updated by Jessica Bushey over 9 years ago
- Target version changed from Release 1.3 to Release 2.1.0
On export: Maintenance History and Event are present in ICA-AtoM EAC export, but the actual data in the maintenance notes field from ICA-AtoM is dropped. Nowhere in the EAC.
On import: The text added prior to export is missing, but info in this field in AtoM after import includes: automated date, time and â€œhumanâ€ is added.
[g] Labels added: Milestone-Release-2.0
[g] Labels removed: Milestone-Release-1.3
#11 Updated by José Raddaoui Marín over 9 years ago
Dates of creation, revision and deletion. Maintenance notes.
These fields are exported the same way according to ISAAR (CPF) 5.4.6 and 5.4.9
AtoM exports two internal events instead of the actor fields. After, imports all on maintenance notes field.
<maintenanceHistory> <maintenanceEvent> <eventType>created</eventType> <eventDateTime standardDateTime="2012-12-03T05:01:53">December 3, 2012 5:01:53 AM PST</eventDateTime> <agentType>human</agentType> <agent></agent> </maintenanceEvent> <maintenanceEvent> <eventType>revised</eventType> <eventDateTime standardDateTime="2013-01-29T08:11:57">January 29, 2013 8:11:57 AM PST</eventDateTime> <agentType>human</agentType> <agent></agent> </maintenanceEvent> </maintenanceHistory>
About "maintenance notes" I can add it as a <eventDescription> in the revised event. Like this:
<maintenanceEvent> <eventType>revised</eventType> <eventDateTime standardDateTime="2012-12-03T05:01:53">December 3, 2012 5:01:53 AM PST</eventDateTime> <agentyType>human</agentyType> <agent></agent> <eventDescription>[maintenance notes]</eventDescription> </maintenanceEvent>
But, how should I export "dates of creation, revision and deletion" string value in <maintenanceEvent>? Without knowing the nature of the string dates or the <eventType> values.
#12 Updated by Dan Gillean over 9 years ago
- Sponsored set to No
EAC is unfortunately not very well mapped to ISAAR, though that was supposed to be its intent.
My suggestions are as such:
Dates of Creation, revision and Deletion
EAC – ISAAR Crosswalk recommends this:
There is no reason we have to add the standardDateTime attribute in this case because the AtoM field is free-text. Looking at the description of the element, <eventDateTime> can contain [text]. We might also add an xml:id attribute to separate the two – id=“ISAAR5.4.6” or id=”DatesCreationRevision” (or even just “546” if need be) or something similar. If it is easier to manage, the <maintenanceEvent> element can also support the id attribute – I suggest using one of these to distinguish the kinds of event notes for each field. That should allow us to parse which kind of maintenancEvent maps to which AtoM / ISAAR field.
If putting free-text from user generated data doesn’t work, we can still use <eventDescription> to contain the user data for each field.
The other thing we could do is add agent information to distinguish the two, where (if possible) we pull the agent information from the user login information in AtoM (similar to how the “other notes” field is managed in the RAD Notes Area). It might look like this
Dates of creation, revision, and deletion:
<maintenanceEvent id=”5.4.6”> <eventDescription> user entered dates of creation, revision, and deletion notes are displayed here </eventDescription> <eventDateTime standardDateTime="2013-01-29T08:11:57">January 29, 2013 8:11:57 AM PST</eventDateTime> </maintenanceEvent> </maintenanceHistory>
I don’t see anything that says that a <maintenanceEvent> has to include an eventType, so for this field, we could always leave it out? Or – the system should generate an automatic addition to this field when the description is created, and all others should be assumed to be “revised” or “updated” if we do want to include this information. The most important thing for roundtripping is the user data, not the system-generated data.
For the Maintenance notes, we are also losing user entered data when we export, as it is being replaced by the system-generated data. Again, I would suggest capturing this user data in the <eventDescription>, and using an id to distinguish between system generated notes, which can be set to “computer.”
<maintenanceEvent id=”5.4.9”> <eventDescription> user entered maintenance notes are displayed here </eventDescription> <eventType>revised</eventType> <eventDateTime id=”ISAAR5.4.9” standardDateTime="2013-01-29T08:11:57">January 29, 2013 8:11:57 AM PST</eventDateTime> <agentType>human:</agentType> <agent> John Smith </agent> </maintenanceEvent> </maintenanceHistory>
So the import/export data might look like:
Description was updated by the Imaginary Archives Staff on January 29th . (January 29, 2013 8:11:57 AM PST human: John Smith)
Note that if we are appending a user name, it would be nice (if possible) not to display “human” – I don’t know if this can be scripted to be present in the XML without displaying in the field, but that would be cool. If not the above would be fine.
Let me know if this helps.
#15 Updated by Jessica Bushey about 9 years ago
- Category set to EAC - Import/Export
- Status changed from QA/Review to Feedback
Maintenance notes are successfully roundtripping in EAC.
No strange date or "human" added to maintenance notes.
Dates of creation, revision and deletion are successfully roundtripping