Source Model - DDMAL/CantusDB GitHub Wiki
Source (code) is a model in the main_app app. It inherits from BaseModel.
A Source object represents a single manuscript or manuscript fragment containing chants/sequences.
Views
Source has a Detail view, a List, a Create view, and an Edit view. Sources also feature prominently on the Century, Notation and Provenance detail views.
Fields
published: a Boolean field, dictating whether or not a source, or the chants/sequences contained within it, can be viewed by users who are not logged in. OldCantus previously used two fields to dictate whether sources/chants/sequences should be visible to anonymous users; these fields have been combined into one in CantusDBtitle: a string, usually indicating where the manuscript is currently held. Examples includePhiladelphia, Free Library of Philadelphia, Lewis E M 1:16andMascouche (Quebec, Canada), Private collections, D-06b7w (fragment).siglum: a string, indicating where the source is stored. Occasionally, it duplicates the source's RismSiglum's name, but more often, it consists of the source's associated RismSiglum's name followed by a shelf mark. Examples includeP-La,CH-Fco 2,F-Pn 1086,GB-Ob Can. Lit. 202, andCDN-MasQCpc D-06b7w (fragment).rism_siglum: a ForeignKey field, pointing to a RismSiglum object.provenance: a ForeignKey field, pointing to a Provenance object. Represents the geographic area from which the source came.provenance_notes: a string clarifying or adding information about the source's provenance.full_source: Has three options: "Yes", "No", and "Unknown".date: represents when the manuscript was created.century: a ForeignKey field, pointing to a Century object. Represents the time period during which the manuscript was created.notation: a ForeignKey field, pointing to a Notation object. Represents, in short, how the neumes in the source are written.cursus: A list of possible values ofsource_statusis stored in thecursus_choicesattribute below.current_editorsinventoried_bymelodies_entered_byproofreadersother_editorssegment: a ForeignKey field, pointing to a Segment object. Represents the database for which the source was initially indexed.source_status: how far through the process of indexing/transcribing/proofreading/publishing the source is. A list of possible values ofsource_statusis stored in thesource_status_choicesattribute below.complete_inventory: has two options: "Yes", and "No".summary: a string, consisting of a brief description of the manuscript.liturgical_occasions: a string, usually outlining which feasts the manuscript has chants for and indicating what pages those feasts are on.description: a string, consisting of a description of the manuscript.selected_bibliography: a string, often containing html tags, listing publications that refer to the manuscript are listed. In spite of the HTML, we currently store this as plaintext.image_link: a url pointing to a place where scans of the manuscript's pages can be viewed.indexing_notes: a string with notes on the indexing process, often indicating who transcribed and proofread the source.indexing_date: a string indicating when the source was indexed. Examples includeFall 2020,by 1997, andposted online November 2013; MS description posted 16 Nov 2019;json_info: stores a json object encoding all the information from OldCantus on the source. This field is populated by thesync_chantsandsync_sequencesmanagement commands as they pull data from OldCantus'sjson-nodeAPI.fragmentarium_id: a short string. Likely used to refer to items in the Fragmentarium database.dact_id: a short string. Likely used as a concordance for something associated with the Digital Analysis of Chant Transmission project.number_of_chants: A tally of how many chants/sequences the source contains. This field is automatically kept up-to-date as the database changes by theupdate_source_chant_count()function insignals.py(see file).number_of_melodies: A tally of how many chants in this source have volpiano. This field is automatically kept up-to-date as the database changes by theupdate_source_melody_count()function insignals.py(see file).- inherited from BaseModel:
date_createddate_updatedcreated_bylast_updated_by
Attributes
cursus_choices: a list of possible values of thecursusfieldsource_status_choices: a list of possible values of thesource_statusfield