WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

You are not logged in.

#1 11.06.2019 21:33:10

berny
Member

csv2table - in Db schreiben

bräuchte schnelle Hilfe (Veranstaltung am Wochenende)

das csv2table liest die csv in the fly aus und stellt es dar.
bei vielen Zugriffen nicht so gut.

jetzt überlege ich, den content in eine wysiwyg Sektion direkt in die DB zu schreiben, wobei dann diese section bei einem Zugriff ausgelesen und dargestellt wird.

1) neue Seite mit wysiwyg section anlegen.
2) neue csv hochladen, das droplet aufrufen -> content wird direkt in die Db in den Bereich, der unter pkt 1 angelegt wurde, geschrieben.
3) wenn jemand diese Seite aufruft bekommt er den content aus der DB und nicht von der csv.

Frage
1) wie könnte der Aufruf zum speichern in der DB im droplet aussehen
2) habe ich bezüglich der Performance einen Denkfehler ( content aus csv vs aus DB lesen)

Offline

#2 11.06.2019 23:17:23

stefanek
Developer

Re: csv2table - in Db schreiben

An sich ist der Unterschied in der Performance nicht so groß.

Was man machen könnte, statt es in die DB zu schreiben, das Droplet so erweitern, dass von dem generierten HTML eine Cache Version generiert und abgelegt wird, bis das Änderungsdatum der CSV sich ändert (in dem Falle würde eine neue Cache Datei generiert werden).
Je nach Größe der Tabelle könnte es sich auf die Performance auswirken.

Gruß,
Christian


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

#3 12.06.2019 01:54:59

bernd
Developer

Re: csv2table - in Db schreiben

Ist nicht ganz so trivial.
Das znip zu ändern mit der gecachten HTML-Version - wie von Christian beschrieben - wäre evtl. eine Möglichkeit. Aber auch nicht von "jetzt auf nachher" umzusetzen.

Ganz übler quick&dirty würgaround - wenn ich mal davon ausgehe (so klingt zumindest deine Beschreibung) das sich am Tabelleninhalt während der Veranstaltung nichts ändert:

  • das csv2table auf einer versteckten Seite anlegen

  • die Seite im Browser aufrufen

  • Quelltext der Seite im Browser anzeigen lassen

  • den Bereich der Tabelle kopieren*

  • diesen Quelltext auf einer WYSIWYG-Seite in der Quelltextansicht einfügen

*der benötigte Quelltextbereich beginnt nach dem Section-Anchor z.B.

<a class="section_anchor" id="wb_25" ></a>

und geht bis inklusive dem letzten script Aufruf:

<script>
    jQuery(function ($) {
        $('.content').autolink();
    });
</script>

Dann fehlt lediglich noch das Modul-CSS, das müßte man dann halt noch im Template laden.

Und fertig wäre die statische WYSIWYG-Seite mit dem Inhalt der csv-Tabelle.  devil


... nein in Europa verwenden wir beim Programmieren nicht € statt $ ...

Offline

#4 12.06.2019 06:17:28

florian
Administrator

Re: csv2table - in Db schreiben

Wenn es nur um das Filter-/Sortierdrumherum geht bzw. über den von Bernd vorgeschlagenen Workaround die Tabelle "statifiziert" wurde:
https://addons.wbce.org/pages/addons.ph … m&item=101


Sorgen sind wie Nudeln: man macht sich meist zu viele.

Offline

#5 12.06.2019 10:08:37

berny
Member

Re: csv2table - in Db schreiben

der Inhalt ändert sich natürlich (Ergebnisliste)
am Ende wir die fertige Ergebnistabelle dann direkt in ein wysiwyg section eingefügt.

mir geht es im Prinzip um eine Art Cache.
wobei die csv nicht allzu gross ist (40×15)

mir geht es um die Performance, wenn zb gleichzeitig 500 Zugriffe auf die csv erfolgen, wäre die DB ja besser, oder eben nicht...

Last edited by berny (12.06.2019 10:09:49)

Offline

#6 12.06.2019 10:32:50

stefanek
Developer

Re: csv2table - in Db schreiben

Moin Berny,

Du kannst die view.php im Anhang verwenden.
Das tut genau das, was ich gestern geschrieben habe.

Ich habe es für eines meiner kommenden Module programmiert und jetzt für diesen Zweck angepasst.

Wenn Chio will, kann er das auch eins zu eins so übernehmen.
In der module_config.php würde ich nur noch die Variable $doCache setzen, damit dies nicht über die view.php angesteuert werden muss.

Gruß,
Christian

P.S. die Cache Dateien werden im Verzeichnis ROOT/temp abgelegt.

Last edited by stefanek (12.06.2019 10:33:39)


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

Liked by:

berny

#7 12.06.2019 10:57:06

berny
Member

Re: csv2table - in Db schreiben

Das betrifft vermutlich das Modul csv2table, aber nicht das droplet.
Ich werde das mal angucken, ev kann ich davon was ins droplet einbauen...

Offline

#8 12.06.2019 10:59:13

stefanek
Developer

Re: csv2table - in Db schreiben

Welches Droplet ist es denn?
Arbeitet das Droplet mit dem Modul zusammen?
Ich kenne nicht jedes Modul/Snippet/Droplet für WBCE. Es sind einfach zu viele, um mir alles anzuschauen und zu merken.  lol


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

#9 12.06.2019 11:08:11

berny
Member

Re: csv2table - in Db schreiben

Offline

#10 12.06.2019 11:26:30

stefanek
Developer

Re: csv2table - in Db schreiben

Hallo Berny,

ich sehe.
Ja, man könnte das Gleiche/ähnlich mit dem Droplet machen.

Übrigens, man kann auch die Verwendung von fopen umgehen, wenn man stattdessen mit str_getcsv arbeitet.

Gruß,
Christian

P.S. Alternativ: kannst Du nicht statt des Droplets das Modul verwenden?


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

#11 12.06.2019 12:18:48

berny
Member

Re: csv2table - in Db schreiben

Das Modul passt nicht wirklich, weil nur bestimmte Spalten aus der Tabelle gelesen werden.
Da die Veranstaltung am Wochenende ist, werde ich das vorerst mit dem Droplet machen, ev noch etwas umbauen.

Aber so kurz davor habe ich keine Zeit, mich damit zu beschäftigen.

Es gibt das Droplet übrigens auch für den Beamer, wo die Liste mit 10 Einträgen, und nach bestimmter Zeit jeweils die nächsten 10 Einträge usw gelistet werden. Das wird dann bei der Veranstaltung auf die Wand geworfen, wo sich jeder über die Ergebnisse direkt informieren kann.

Offline

Liked by:

stefanek

#12 12.06.2019 12:31:01

stefanek
Developer

Re: csv2table - in Db schreiben

OK, ich sehe schon, Du hast eine gute Vorstellung darüber, wie Du es umsetzen kannst.

Gruß,
Christian


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

Board footer

up