Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: added statement about content model validity

...

 

Title (Goal)

As a developer, I want to retrieve a set of objects from the repository that conform to my domain model. 

Primary Actor

Developer 

Scope

 

Level

 

Author

Elliot Metsger 

Story (A paragraph or two describing what happens)

Retrieve a set of domain objects from the repository. 

As a developer, I would like to retrieve a set of domain objects that conform to a domain (content) model.

For example:

  • Retrieve a list of images and descriptive metadata for each image.

    • Pages of a sheet music item

    • Pages of a newspaper

    • Pages of a medieval manuscript

  • Retrieve the component parts of an Electronic Thesis and Dissertation.

  • Retrieve a list of Data Items in a Collection (Collection and Data Item are domain objects in the Data Conservancy data model).
  •  Retrieve a list of Collections in a Project (Project is also a domain object in the Data Conservancy data model).
  • ...

My organization has multiple applications that access content in the repository, that vary in the programming language used and their platform requirements (LAMP stack vs servlet container, etc).  As a developer, it would be very inefficient to write and maintain the necessary transformations to render Fedora repository objects as domain objects for each application.  Instead, I would like to implement the Fedora to Domain Model transformation logic in one place, so that my applications can retrieve objects in their native domain, without having to concern themselves with Fedora objects and object transformation.

Furthermore, I would like to have confidence that all the required objects and properties will be available when the transformation occurs.  For example, if a Fedora object advertises it's participation in a content model, it would be nice if a service able to periodically verify (or verify upon request) the integrity of a content model instance.