User:Most2dot0/Ideas
Database
Common Database Structure
Have a common database structure for video sources (and possible other content, like pictures, e.g. FB & Insta posts w/o video, etc.). The data would be identified by URL, and include
- URL
- Source type (YT, IG, FB, ...)
- Channel name & id (as subcategory of source type)
- Language
- Comment
- Recording and publish dates
- Open Graph data derived from the URL, especially all basic tags, i.e. Title, Description, Image
This would be stored in it's own table. Possibly the Open Graph data would even have it's own table, so that it is easier to regenerate.
The songs table would not repeat this information, other the ones needed for linkage. Instead, a table of events would be added with the song title as link to the songs database. Events could be specific rehearsal sessions, concerts, album (recordings), etc. The Events should be uniquely identifiable by name. Another table the would list recordings linked with the song title to the songs table, the event name to the event table, and with the URL to the video source info table.
Performances in the sense of a single song performance, in general as part of an event.
Implementation of Elements
The following data may bestored in their own wiki articles per entry. They can be identified to be ours such data by being part of an according category (though consider if a location would be directed to a section in an event article):
- Songs
- Events
- Locations
- Artist
It could be for the future considered to have templates there to tag available data for scraping purposes, so that e.g. a bot could periodically collect them into tables for use in other pages as well.
The following data may be stored in data formats like JSON, with a single page with a list of entries:
- SongsToVideos
- (Video)MetaData
- Performances (with links to song, location, videos)
Use of Database
The above information can be linked to e.g. display table listings for Channels, Events, Songs, etc.
Ideally there should be a common generic list generator, that can be configured for data (columns) displayed, and with arbitrary filters for each data type (column contents).
There could be templates to generate references (e.g. for footnotes) simply by providing the URL.