Feature Request: MYSQL Datensatz Aktualisierungen

Hier können die JVerein-Frischlinge ihre Fragen stellen.

Moderator: heiner

Antworten
inoculator
Beiträge: 12
Registriert: Dienstag 10. September 2019, 11:17
Betriebssystem: linux

Feature Request: MYSQL Datensatz Aktualisierungen

Beitrag von inoculator »

Hallo zusammen,

wir haben auch die zentrale Datenbank als Ablage gewählt.
Ein MYSQL Server der über verschiedene Clients verwendet wird.

Was uns nun aufgefallen ist, könnte man eventuell verbessern:

Client A und Client B haben den gleichen Datensatz geladen.
Client A macht eine Änderung und speichert. Wir haben festgestellt, daß die Änderung sofort zur Datenbank übertragen wird.
Leider bekommt aber Client B davon nichts mit. Selbst wenn er einen anderen Datensatz auswählt und wieder zurück springt, bleiben die Änderungen für ihn unsichtbar.

Das scheint nur der Fall zu sein, wenn Client B den geänderten Datensatz VOR der Änderung schon mal im Speicher hatte.
Hier scheint also irgendein Cache zu greifen, der ein Aktualisieren verhindert oder nicht unterstützt.

Erst wenn Jameica beendet und neu gestartet wird, wird auch die Änderung im Datensatz angezeigt.

Wäre schön, wenn da nachgedreht würde.

Gruss
Carsten
wpein2m
Beiträge: 134
Registriert: Freitag 7. Oktober 2016, 18:58
Verein: 1. TC Sankt Augustin
Mitglieder: 320
JVerein-Version: 2.8.15
Betriebssystem: Windows 10 / MacOS

Re: Feature Request: MYSQL Datensatz Aktualisierungen

Beitrag von wpein2m »

Hallo Carsten,
so einfach wird das nicht sein.

Als ich vor 2 Jahren JVerein bei uns im Verein eingeführt habe, habe ich mich mit dieser Problematik beschäftigt, allerdings ging es mir mehr um Zugriffsrechte für verschiedene user. Ich habe seinerzeit 2 SQL-user angelegt, einer darf nur lesen, der andere lesen und schreiben. Das ist eine Krücke, aber für unsere Zwecke ausreichend, da ich der einzige User bin, der ändert, die anderen lesen nur.

Meiner Erinnerung nach: JVerein ist als Single User System konzipiert d.h. rein konzeptionell ist nicht vorgesehen, dass mehrere User auf der Datenbank arbeiten. Erst später kam MySQL dazu und damit die Möglichkeit eines remote Zugriffs.

Gruß

Wolfgang
inoculator
Beiträge: 12
Registriert: Dienstag 10. September 2019, 11:17
Betriebssystem: linux

Re: Feature Request: MYSQL Datensatz Aktualisierungen

Beitrag von inoculator »

Hallo Wolfgang,
Hi all,

daß solche Implementierungen nicht "mal eben" sind bin ich von aus gegangen.
Die Frage dahinter für die Entwickler muss sein, was wollen meine "Kunden" haben, oder was brauchen sie.
Ich sehe ein, wir reden hier von freier Software und kostenloser Arbeit, aber was bringt es, wenn das Ergebnis der Arbeit nicht mehr zeitgemäß ist.

Immerhin bringt das Schlagwort "mysql" 550 Treffer im Forum und zusammen mit "JVerein" bei Google etwa 900 Ergebnisse.
Das sind jetzt keine Millionen, aber für diese Community doch schon signifikant, glaube ich.

Nicht falsch verstehen: Ich beschwere mich nicht, ich versuche nur weiter zu denken.

Aktuell zeichnen wir im Verein ein Konzept, wie die Mitglieder ihre Datensätze selber online pflegen können.
Da ist der MYSQL Server Grundvoraussetzung und die Änderungsquote auf den Daten wahrscheinlich ebenso gesteigert.

Das nur zum Verständnis, aus welcher Richtung der "Feature request" kommt.
Es muss ja nicht gleich eine "Datensatzsperre" sein, ein einfacher "F5" im JVerein zum aktualisieren der Daten würde schon echt was hergeben.

Ansonsten wäre noch folgender Workaround möglich: Bei jedem Schreibvorgang wird in eine Tabelle ein Zeitstempel geschrieben. VOR Jedem Schreibvorgang wird der Zeitstempel gelesen und wenn er nicht mit dem Cache übereinstimmt, kommt eine Meldung und der Benutzer hat eine Chance die Aktualisierung zu betreiben.
Das kann man unmittelbar erweitern und läßt JVerein einfach alle paar Sekunden nach dem Zeitstempel schauen und den Cache neu laden, sobald eine Änderung eintritt.

Just an idea.
Bevor jetzt das Argument kommt: Dann schreibe es doch selber in den SourceCode und mache einen PullRequest: Ich bin kein Entwickler. Ich kann auf der Konsole Scripten mit PERL, PYTHON, VB, POWERSHELL, BASH, CMD und PHP aber so Sprachen wie "JAVA", C, C# oder C++ sind Bücher mit 7 Siegeln für mich.

gruss
Carsten
Antworten