Datacube support

Authored by dereckson on Mar 4 2018, 23:40.

Description

Datacube support

Summary:
This mechanism allows Dæghrefn to be configured to fill data to
MySQL tables from the partyline.

In the partyline, the user writes .+db <name of the datacube>.

It receives instruction to fill a form as a dialog.
For example, for a song database, the dialog could be:

<luser> .+db songs
<robot> Song artist:
<luser> Apocalyptica
<robot> Song title:
<luser> In the Hall of the Mountain King
<robot> Song comment:
<luser> This is a metal interpretation, with cello.
<luser> The original title is from 1875, as 'incidental music'.
<luser> +
<robot> Ajouté dans le cube :-)

Dictionary structure

The datacube properties is a dictionary with the following data structure:

keytypedescription
dbstringThe database where the table is located
tablestringThe table where to insert data into
fieldslistThe fields (ie the columns) to use in the INSERT query
fields_typeslistFor each field, "line" for varchar, etc. / "multiline" for text
fields_promptslistFor each field, the label to prompt the user to invite them to fill a value

In the dialog example above, the values could be:

keyvalue
dbradio
tablesongs
fields{artist title comment}
fields_types{line line multline}
fields_prompts{"Song artist:" "Song title:" "Song comment:"}

Such datastructure would be saved in db_datacubes table,
with "songs" as title and the dictionary TCL string as
properties value.

Test Plan: Tested on Dæghrefn with a lyrics table

Reviewers: dereckson

Reviewed By: dereckson

Differential Revision: https://devcentral.nasqueron.org/D1394

Details

Committed
derecksonMar 4 2018, 23:40
Pushed
derecksonMar 4 2018, 23:41
Reviewer
dereckson
Differential Revision
D1394: Datacube support
Parents
rVIPERf69c2d35f785: Fix whitespace issues
Branches
Unknown
Tags
Unknown