FachschaftMathPhysInfo / Finance-Visualizer

Gibt eine Übersicht über die Finanzen der Fachschaft MathPhysInfo
http://www.mathphys.info/finanzen/
GNU General Public License v3.0
4 stars 2 forks source link

Daten in ein einfacheres Format bringen #2

Open christian-heusel opened 4 years ago

christian-heusel commented 4 years ago

Ich war heute bei einem Treffen des StuRa, bei dem es um Datenschutz ging, nachdem ich von einigen interessierten auf unseren Finance Visualizer angesprochen wurde. Mir ist aufgefallen, dass man das Eingabedatenformat (Das data-Array) noch vereinfachen könnte.

TuringTux commented 4 years ago

Soll das einfachere Format immer noch JSON-basiert sein, also schwebt dir vor, das Objekt, dass sich bis jetzt z.B. in ausgaben.js befindet, irgendwie zu ändern oder soll ein anderes Format gewählt werden (YAML ist doch da ganz hip, oder?), das clientseitig geparst wird?

TuringTux commented 4 years ago

@christian-heusel Eine Vereinfachung wäre, parent und id wegzukürzen, und das stattdessen über geschachtelte Objekte zu machen:

{
  "title": "kurzer Titel",
  "name": "längerer Titel",
  "text": "langer Beschreibungstext, bei dem auch html Tags verwendet werden können",
  "value": 10,
  "children": [
    {
      "title": "kurzer Titel 2",
      "name": "längerer Titel 2",
      "text": "langer Beschreibungstext, bei dem auch html Tags verwendet werden können",
      "value": 5
    }
  ]
}

Alternativ YAML:

title: kurzer Titel
name: längerer Titel
text: >
  Das hier ist ein längerer Beschreibungstext, der auch HTML-Tags <b>enthalten
  kann</b>. Er kann über mehrere Zeilen laufen, aber YAML ignoriert die  
  Zeilenumbrüche (und HTML ja sowieso).
value: 10
children:
  - title: kurzer Titel 2
    name: längerer Titel 2
    text: Dieser Text ist nur kurz, daher wird kein Block-Stil verwendet
    value: 5

Vermutlich muss man dann halt für Highcharts id- und parent-Attribute nachtragen (es sei denn, es gibt einen Weg, Highcharts dieses Format beizubringen). Meine naive Herangehensweise wäre jetzt, das einfach on-the-fly zu konvertieren.

TuringTux commented 4 years ago

Im Rahmen meiner Arbeit an #3 stelle ich gerade auf JSON-Files um, die dynamisch nachgeladen und geparst werden müssen (zumindest beim ersten Aufruf eines Jahres, danach werden die Daten vom Skript gecacht). An der Stelle könnte man dann auch gleich die Konvertierung machen.