Angelina Jordan Wiki:Databases

From Angelina Jordan Wiki

This wiki uses the Cargo extension to create and maintain databases for certain types of information.

Existing databases

Performances database

The performance database gathers information about all known performances of songs (or wordless compositions) by Angelina. It is structured into a set of tables, and can be queried either generically or with a set of provided query templates and functions.

Tables

  • Performances – an entry describes the performing of a song, which also includes rehearsals and fragments
    • is linked via the "songs" field with the "Songs" table (join on: Performance.song = song.page)
    • {{Performance}} - Cargo template declaring the table, and also used for creating entries to that table
    • {{cPerf}} - additional template for creating entries
    • link to more relevant things…
  • Videos – videos or video parts of those performances
    • is linked via the "pid" (Performance ID) field to the "Performances" table (join on: Videos.pid = Performances.id)
    • {{Video}} - Cargo template declaring the table, and also used for creating entries to that table
    • {{cxvl}}, {{cytv}} - additional templates for creating entries
    • link to more relevant things…
  • Song - basic information about the songs themselves
    • {{Song}} - Cargo template declaring the table, and can also be used for creating entries to that
    • {{Infobox song}} - the usual template to create an entry, used on the song's article page
    • link to more relevant things…
  • Literals - a technical mapping of values to literals to aid the construction of a rating for videos based on performance type, and video duration and quality
    • {{cLiteral}} - Cargo template declaring the table, and also used for creating entries to that
    • link to more relevant things…

Queries / presentation functions

Besides the generic Cargo query page, there are some templates and Scribunto module functions that support extraction and presentation of data from the database.

Note: the Module:Performances was originally created to extract data from JSON data pages. It has been augmented with additional input functionality, where it converts Cargo data into an internal (nested) JSON representation of the data, and then works on that result. The first experience with the purly Cargo query / template based approach used by {{SongsTable}} and the Performance module based one used in {{FilteredPerformanceOverviewTables}} indicates that the module based one likely is more efficient. However, the Cargo/template based on is more flexible, as currently the module based one does in not be able to generate the format used by {{SongsTable}}, and would need further added functionality to be able to do so.

Development versions

There are several tables and templates which have a "Devel" or "-devel" postfix, which indicates that it is a development version and not for general use. You should usually ignore those. However, there are a few song articles that e.g. use the {{Infobox song devel}} template on purpose, to test modification on the template on a select few entries first.

Databases/tables being considered

There are many other things that could be "turned into" databases or addtional tables:

  • YouTube channels
  • Other social media pages
  • Other websites
  • References (i.e., published articles, etc.)
  • Timeline events (this is starting to be implemented)
  • Locations/venues
  • Companies/organizations
  • People (musicians, etc.)
  • Recordings (i.e., things that are "released" and possibly can be purchased)
  • Video meta data (this is currently available as JSON data)

See also User:Dcljr/Ideas and User:Most2dot0/Ideas for more thoughts along these lines.