[vz-dev] QnD-Hacks CSV-Export

Andreas Goetz cpuidle at gmail.com
Wed May 28 08:17:58 CEST 2014


Moin,

2014-05-27 22:41 GMT+02:00 Florian Knodt <f.knodt at yotaweb.de>:

> Nabend,
>
> Am 27.05.2014 19:07, schrieb Andreas Goetz:
> > Scherz beiseite- die Änderungen an View.php verstehe ich nicht- ihr habt
> > einfach tsfmt=sql auf relativ komplizierte Weise gesetzt, oder?
>
> Mir fallen da sicher noch kompliziertere Wege ein, aber ja - das
> manuelle Ändern einer URL ist Endnutzern nur bedingt vermittelbar ;)
>
> > Absolut. Ich denke für's Frontend würde ich das eher in das ins
> > Frontend/JS verlagern- dann brauchts keine Viewanpassungen.
>
> Hatte ich auch vor, aber grep konnte mir nicht wirklich verraten, wo die
> Dropdown-Box generiert wird.
>

index.html bzw.
https://github.com/volkszaehler/volkszaehler.org/blob/master/htdocs/frontend/javascripts/wui.js#L92


> > Auf das Problem bin ich auch gestossen. Aktuell exportiert das Frontend
> > darüber hinaus _alle_ Daten ohne from/to- damit kann man sich einen
> > kleinen Raspi schnell abschießen.
>
> Hm? Wenn ich richtig gesehen habe wird immer nur der aktuell angezeigte
> Datenbereich exportiert?
>

Ups, stimmt. Aber: ohne Aggregation/Gruppierung. Wer als auf "alles" zoomt
exportiert auch jeden einzelnen Datensatz- und seien es 30 Mio...


> > Eine (elegante) Lösung könnte so aussehen, dass der Controller alle
> > Interpreter instanziiert und diese vom View erst bei Bedarf abgerufen
> > werden ("streaming"). Dann könnte der View entscheiden ob er erst
> > sammeln will ("en bloc"- schlecht für den Speicher) oder "on the fly"
> > einliest.
>
> Interpreter sind doch nur die "Templates"/Typen, oder hieße das
> hiereinen Kanal? Wenn ja wäre es die Funktion, die ich so nicht
>

Bei mehreren Channels in der Abfrage (uuid[]...) ruft der Controller jeden
Interpreter einzeln auf, also sequentiell.Interpreter->processData liefert
dann die (aggregierten) Daten gem. from/to und ruft je Datensatz den View
auf.


> entdecken konnte - mehrere Kanäle zeitglich, mit gemeinsamer Zeitachse
> und vorzugsweise passend aggregiert in der View durcharbeiten.
>

Ich habe sowas ansatzweise für die virtuellen Kanäle implementiert. Dabei
müssen ja Daten aus mehreren Channels für die gleichen oder wenigstens
ähnliche Timestamps verrechnet werden. Das ließe sich ggf. für den Zweck
der "parallelen" Verarbeitung nutzen:

https://github.com/andig/volkszaehler.org/blob/dev/lib/Volkszaehler/Interpreter/VirtualInterpreter.php#L262

Man müsste sich dann allerdings architekturell überlegen wer dieses
Abfrageverhalten eigentlich steuern soll- der Controller oder der View???

vg
Andreas


> --
> Mit freundlichen Grüßen  ||  Sincerely yours
> Florian Knodt ·· Im Teich 11 ·· 56648 Saffig
> www.adlerweb.info · www.56648.de · @adlerweb
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-dev/attachments/20140528/15c44ff7/attachment.html>


More information about the volkszaehler-dev mailing list