[vz-users] vzlogger an zweite middleware

Frank Richter frank.richter83 at gmail.com
Thu Jan 26 16:43:36 CET 2017


Hi Andreas,

Am 26. Januar 2017 um 10:47 schrieb Andreas Goetz <cpuidle at gmail.com>:

> Hi Frank,
>
> 2017-01-23 11:29 GMT+01:00 Frank Richter <frank.richter83 at gmail.com>:
>
>> Moin Andreas,
>>
>> Am 23. Januar 2017 um 09:29 schrieb Andreas Goetz <cpuidle at gmail.com>:
>>
>>> Hallo Zusammen,
>>>
>>> leider ist das Thema etwas kniffelig da das FE in dem Bereich einiges an
>>> nciht ganz offensichtlichem Verhalten hat. Tatsächlich war der Fehler schon
>>> immer da, konnte sich aber nicht manifestieren da die Public Entities erst
>>> “lazy”, jetzt aber schon zum Start geladen werden.
>>>
>>> Bekommen wir aber hin.
>>>
>>> On 23 Jan 2017, at 00:24, Frank Richter <frank.richter83 at gmail.com>
>>> wrote:
>>> ...
>>> Ich hab da allerdings noch ein paar Verständnisschwierigkeiten:
>>> * wenn ich einen Kanal abonniere, wird er unabhängig vom active-property
>>> in der DB mit inaktiver Checkbox angezeigt
>>>
>>>
>>> Abo = aus der Public Liste auswählen? Dann wäre das falsch, kann mir
>>> aber schon vorstellen warum, lässt sich beheben (Entity steht in der Public
>>> Liste mit “active=false” und wird wieder verwendet. Denke da müsste ein
>>> “clone” rein).
>>>
>>
> Bitte mal wui.js so anpassen, dann sollte das abonnieren wieder tun:
>
>     $('#entity-public input[type=button]').click(function() {
>         // clone entity from data attribute
>         var entity = $.extend({}, $('#entity-public-entity
> option:selected').data('entity'));
>         try {
>             entity.cookie = Boolean($('#entity-public-
> cookie').prop('checked'));
>             delete entity.active;
>             vz.wui.addEntity(entity);
>         }
>         catch (e) {
>             vz.wui.dialogs.exception(e);
>         }
>         finally {
>             $('#entity-add').dialog('close');
>         }
>     });
>

Hab den Block ausgetauscht, Verhalten ist aber unverändert (neu abonnierter
Kanal ist nicht aktiv).


>
>>
>>
>> Genau, Abo aus der Public Liste. Alle dort abonnierten Kanäle sind nun
>> per default erstmal inaktiv (kein Häkchen). Getestet mit neu geöffnetem
>> Chrome Inkognito-Fenster, sollte also ohne Cookie-Altlasten sein.
>>
>
> s.o.
>
>
>>
>>
>> * wenn ich die Seite dann neu lade, erhalten die abonnierten Kanäle aber
>>> wieder den active-state aus der DB
>>>
>>>
>>> Das wäre auch falsch. Wenn irgendwas dann sollten sie den active state
>>> aus dem Cookie bekommen. Active hat in der DB nix zu suchen.
>>>
>>
Das ist auch weiterhin so - wenn in der DB ein active = false steht, wird
der Kanal auch als inaktiv geladen, also wird der DB-Wert nicht ignoriert.
Und ich muss nochmal fragen: in welchem Cookie sollte der active state der
Kanäle gespeichert sein, ich finde da nichts?


>>
>> Bei mir haben alle Kanäle ein active property in der DB, und das ist
>> schon seit Sommer 2015 so, als ich sie erstellt habe.
>> Ich kann die Zeilen gern auch manuell löschen und schauen was dann
>> passiert, aber wenn ich es richtig verstehe suchst du ja eine Lösung die
>> die DB ignoriert.
>>
>> * im Frontend gibt es jetzt keine Möglichkeit mehr, den active-state in
>>> der DB zu ändern
>>>
>>>
>>> Doch- checkbox anklicken? Damit solle auch klar getrennt sein was in der
>>> DB gespeichert wird und was es nur im UI gibt.
>>>
>>
>>
>> Bisher konnte ich das Anzeigeverhalten der Kanäle zumindest steuern,
>> indem ich in den Kanaleigenschaften "Aktiv" gesetzt habe oder eben nicht.
>> Das geht jetzt nicht mehr, mein Frontend hält sich aber trotzdem noch an
>> die aktuell gesetzte Einstellung.
>>
>>
>> * den aktuellen Checkbox-Zustand per Cookie zu speichern, ist mir noch
>>> nie gelungen - der Button "Einstellungen speichern" hat bei mir auf die
>>> angezeigten Kanäle keinen Einfluss
>>>
>>>
>>> Das sollte egtl (tm) schon beim setzen/löschen des Häkchens in der
>>> Tabelle passieren- speichern musst Du da nichts.
>>>
>>
>>
>> Kann ich dem Cookie ansehen, ob der Zustand gespeichert wird? Im
>> aktuellen Zustand wird es zumindest beim Laden nicht berücksichtigt.
>>
>
> Das ist tatsächlich das erwartete Verhalten laut Code: das active Flag
> wird nicht gespeichert und überlebt damit nicht die Browser Session. Wenns
> da einen Änderungswunsch gibt bitte Issue aufmachen.
>

Finde ich nicht so schön: Bisher habe ich auf allen Geräten alle Kanäle
abonniert, aber nur eine kleine Auswahl auf aktiv gesetzt (wegen
Performance und Übersichtlichkeit). Wenn ein persistentes active flag jetzt
ersatzlos wegfällt, werden bei jedem Reload des Frontends erstmal alle
Kanäle geladen, was erstens dauert und zweitens einen kaum lesbaren Chart
erzeugt. Dann muss ich erst alles abwählen, was ich gerade nicht sehen
will. Alternative wäre dann nur, seltener genutzte Kanäle nur nah Bedarf zu
abonnieren, aber das kommt mir jetzt nicht wie ein Fortschritt vor.
Besonders unpraktisch für Leute, die zum abbonieren die UUID brauchen
(private Kanäle, z.B. Nutzer von demo).
Gegen Speicherung des active flags im Cookie hätte ich nichts einzuwenden,
das würde auch auf verschiedenen Clients verschiedene default-Ansichten
ermöglichen.
Ein issue dafür kann ich gerne aufmachen, wenn ich die ganze Sache nicht
immer noch missverstanden haben sollte...

Viele Grüße
Frank


>
>
>>
>> Grüße
>> Frank
>>
>
> vg
> Andreas
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20170126/083ef06c/attachment.html>


More information about the volkszaehler-users mailing list