Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

(In the future other architectural patterns might be considered, eg there may be more appropriate places to hook in notification with High-Level Storage.)

The Messages

...

A message represents a concurrent set of changes to a Fedora digital object. Changes may be either modifications of content (create, update, delete) or modifications of state.

In essence it encapsulates one or more datastream updates and/or state changes for a single object, corresponding to a single API-M method invocation.

For example, for an ingest operation, it represents a set of Add operations for each datastream created on ingest; for a modifyDatastream operation it represents an Update for the datastream and/or a state change; depending on the API-M method parameters.

Data model

A ContentObjectModification is used to encapsulate a set of ContentItemModifications

A ContentObjectModification represents:

  • The User making the change
  • The date/time of the change
  • The identifier of the Fedora digital object (the REST API endpoint of getObjectProfile)
  • The identifier of the parent Fedora digital object (not implemented - see Issues)
  • The type(s) of the Fedora digital object (not implemented - see Issues)
  • A textual description of the modification (used for information/debugging only)
  • A set of ContentItemModifications

Each ContentItemModification represents:

AtomPub serialisation

Example messages

...