Architecture¶
Database Diagrams¶
Overview (v0.19)¶
Database overview. As of version 0.19, Book items are broken out into Work and Edition.
(Standard Django and Wagtail tables omitted for simplicity.)
Footnote details (v0.21)¶
Version 0.21 adds djiffy for importing IIIF Manifests and Canvases, in order to link digitized versions of lending library cards with database footnotes.
Bibliography
records now have an
optional foreign key to an associated djiffy.models.Manifest
,
and Footnote
records now have an
optional foreign key to a djiffy.models.Canvas
that
belongs to that manifest.
Account Events (v0.18)¶
There are several types of events, related to a common, generic event (implemented with Django multitable inheritance). As of v0.18, all events can have an optional associated item and partially known dates, in order to allow documenting non-standard events from lending library cards.
Note
Diagrams for v0.18 generated with davila.js.
Previous versions¶
Overview (v0.10) - Wagtail¶
Overview (v0.6)¶
Person detail (v0.6)¶
Account detail (v0.6)¶
Book detail (v0.6)¶
Database Overview (v0.3)¶
Person detail (v0.3)¶
Account detail (v0.3)¶
Book detail (v0.3)¶
Books Detail (0004)¶
Initial Schema Design (Version 004)¶
Note
This does not include additional complexity of URLs for people records per 19 June 2017 project meeting.
Database updates and changes by version¶
0.18¶
0.10¶
Remove Mezzanine and add Wagtail dependencies.
Add
Pages
module with CMS functionality.
0.9¶
Purchase
now has fields and flags for partial start and end dates.PartialDateMixin
now contains fields and validation for partial dates, including date precision flags.
0.6¶
Person
has a new boolean flag to indicate if the entity is an organizationItem
creators have been generalized to use a genericCreator
andCreatorType
rather than limited, specific relationships (Author, Editor, Translator).Account
now has a relationship to a footnoteBibliography
to document an associated lending card, if there is oneBorrow
event has date precision flags to track partially known dates for both start and end date, a status field to indicate if the item was returned, bought, or missing, and a relationship toItem
for the book borrowed.The
Purchase
event is still present in the database but not currently in use.
0.3¶
Address has been renamed to Location, and changed to allow Person and Account to have one or more Address, which is a Location with optional start/end dates.
Subscribe event has been renamed to Subscription; subscription type field has been converted from a Django choice field to the editable SubscriptionType.
Subscription duration has been converted from months and fraction of months to the actual days between start and end dates.
0.2¶
The overall architectures of the schema remains the same, but several fields were made less restrictive to accommodate variation in the Logbook data. These include:
Reimbursement price (now optional)
Subscribe duration
Options were provided for Subscribe sub_type fields, as well as for modification.