Create a new dataset by adding new objects from the workflow, and serializing both metadata and objects and providing provenance metadata. This involves:
- for each object, create SystemMetadata, and upload it and the object with a unique PID
- add metadata to each object to EML metadata doc, create new version
- add objects to data package resource map, add provenance metadata, create new version
These can be accomplished singly using atomic API operations, or using a more integrated client library like d1_python or rdataone that can do some of these steps for you.