User:Most2dot0/sandbox

This is my User Sandbox

at the moment I experiment while trying to learn how to use Lua code on WikiMedia sites. Content here is thus usually not intended to be published as regular encyclopedia article, template, or code module!

Links to source Modules and Templates
This is my lua module:
 * Module:Sandbox/Most2dot0/lua

This is my JSON data:
 * User:Most2dot0/sandbox/Data:VideoMetaData.json

These are my templates:
 * User:Most2dot0/sandbox/Template:SongData
 * User:Most2dot0/sandbox/Template:SongDataDetail
 * User:Most2dot0/sandbox/Template:SongDataDisplay
 * User:Most2dot0/sandbox/Template:SongsFilter
 * User:Most2dot0/sandbox/Template:FilteredDataTable

Wikitable from JSON Data
Based on Open Graph meta data contained in URL pages:

Create a filtered Wikitable
These are independent examples, not yet linked to the JSON derived table.

Static Example

Here is a table with filters

Here all songs by John Doe from 2021 are displayed

Here all songs from 2021 are displayed

Here all songs by John Doe are displayed

Here all songs of Album B displayed

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.

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.

Eleminate Need for Lua?
Consider, if the functionality could be achieved through templates only, e.g. by generating a common single table via combinations of the different tables into one large all-columns table. There might be a way to filter this with parser functionality.

However, from investigations so far, this does not seem feasible