Versions Compared

Key

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

...

A Hyperlink represents a connection between an Identifier and a Resource.

It contains two extra pieces of information about the link:

  • A DataSource -- who provided this link?
  • rel -- what is the relationship between the Identifier and the Resource? "There's a link" is very vague; this is more specific. Different rel values are defined for a cover image, a thumbnail image, review, a description, a copy of the actual book, and so on.


Image Modified


Resource

A Resource represents a document found somewhere on the Internet -- probably either a cover image or a free book. It has a url, and that's basically it -- everything about the document itself is kept in Representation.

  • A Resource that's an image may be chosen by an Edition as the best available cover image for a given book.
  • A Resource that's a textual description may be chosen by a Work as the best description for a given book.
  • A LicensePoolDeliveryMechanism for an open-access book will point to a Resource that represents the book itself.

Image Modified


Representation

A Representation is a local cache of a Resource. It represents our attempt to actually download a Resource and records what happened when we tried.

If everything went well, the Representation will contain a file--binary, text, HTML, or image. Otherwise, the Representation will contain information about what went wrong -- maybe the server was down or something.

Circulation managers don't usually create Representations -- they rely on the metadata wrangler to do that.

An image Representation that's a thumbnail of another image Representation is connected to its original through .thumbnail_of.

Image Modified


Putting it all together

Here's how the whole subsystem works together. Let's say one of our data sources that claims the URL http://example.org/covers/my-book.png is a cover image for the ISBN "97812345678". We want to represent this fact in our system.

...

A ResourceTransformation represents a change that was made to one Resource to generate another Resource.

Currently it's used in the circulation manager's "cover image upload" feature. You can upload a background image (the original Resource) and paste the title and author onto it (a ResourceTransformation which results in a second Resource).

Theoretically, thumbnailing could also be handled as a ResourceTransformation, but it's probably not worth making this change.

Image Modified

Anchor
Licensing
Licensing
Licensing

...

Patrons may lodge one or more Complaints against a specific LicensePool. Complaints indicate problems with specific books. For example, a Patron can lodge a Complaint stating that a book is incorrectly categorized or described, or that there is a problem with checking it out, reading, or returning it.

CirculationEvent

A CirculationEvent is a record of something happening to a LicensePool. A CirculationEvent happens when an event takes place within the circulation manager (e.g. a work is checked out or placed on hold), or when we notice that an event happened on the distributor's side (such as licenses for a book being added or removed), or when a client app (i.e. a book having been opened).

...