Use Case 04 - Create New Object

Revisions

View document revision history.

Goal

Create new content on a Member Node.

Summary

A user adds new content to a Member Node (MN). The operation of adding new content to a Member Node is atomic to the Member Node, meaning there is no dependency on the replication or synchronization processes for the successful completion of a create operation.

The metadata is retrieved by the CN using a pull mechanism (CN requests content from the MN) which may be triggered by a timer event or notification from the MN.

The availability of new content on a MN is indicated by a flag in the response to a ping() message issued by a CN. The CN then retrieves a list of changes from the MN and for each change, retrieves the experiment metadata, stores it and generates a search metadata document by extracting content from the experiment metadata. The changes to the CN (stored experiment metadata, update search metadata) are replicated to the other CNs (Use Case ###). The CN schedules replication of the data package across other MNs (Use Case 06).

Actors

Member Node, additional Member Nodes, Coordinating Nodes

Preconditions
  • Use is authenticated and so client application has an auth_token for the process.

  • DataONE system operational

  • MN is registered and is monitored

Triggers
  • New data package is present on Member Node

  • An existing data package is modified on a Member Node

  • A data package is deleted from a Member Node

Post Conditions
  • New data package is replicated across MNs

  • Search metadata is updated

  • Operation recorded in logs

  • CN update of search metadata

  • CN replication of metadata

  • Watchers notified of change

../../_images/47f8bf02186376e199068c8e8071556d7c08788d88ad46ec42294156d97bc8d0.svg

Figure 1. Use case 04.

../../_images/2d9840589847790d18f98bba31c786dc440c36ac21d77c263c5c4b695c4453d7.svg

Figure 2. Create, update, delete, science metadata or data object in Member Node.

Notes

  • Are IDs are pegged to versions? If so, update might differ more radically from create.

  • If delete is a metadata operation only, then will be very similar to update. But if it is a physical operation, it becomes more complex. Will there be an archival copy? Will member nodes that hold replicas be “forced” to destroy the replicas?

  • Is submit from a member node a push or pull?

  • Should queuing of a submission within a member node be required for success? (We assume yes, to guarantee replication of submissions).

  • Can data packages be deleted or modified?