Erstellt vor 10 Jahren
Zuletzt geändert vor 14 Monaten
#73 assigned Fehler
Fehlende Auftrags-/Angebotsüberwachung
| Erstellt von: | r.czech@… | Verantwortlicher: | p.reetz@… |
|---|---|---|---|
| Priorität: | normal | Meilenstein: | |
| Komponente: | kivitendo ERP | Version: | 2.0.2 |
| Schweregrad: | normal | Stichworte: | Verkauf |
| Beobachter: | information@…, roman.karuschka@… |
Beschreibung
Zwei angemeldete User können gleichzeitig einen vorhandenen Vorgang (z.B.
Angebot) schreibend öffnen und bearbeiten. Beim Speichern gewinnt der letzte
speichernde User. Betrifft wahrscheinlich alle Bereiche.
Änderungshistorie (7)
comment:1 Geändert vor 10 Jahren durch p.reetz@…
comment:2 Antwort: ↓ 7 Geändert vor 7 Jahren durch s.schoeling@…
Rudimentäre Idee aus einem anderen Projekt:
Beim Laden die mtime auslesen und mitschleifen.
Beim speichern alte mtime mit aktueller vergleichen.
(Soweit offensichtlich)
Bei Konflikt wird es in der Tat haarig. Einzelne textuelle Felder kann man gut
anzeigen und rot hinterlegen wenn ein Konflikt besteht, aber bei Sachen wie
Währung, die globale Auswirkungen haben würde die ganze Maske rot werden, ohne
dass der User wüsste wo der Ansatzpunkt ist.
Weitergehende Konflikte wie Zahlungen in Rechnungen, oder sogar Stornos würden
den Rahmen komplett sprengen, daher votiere ich dafür Konfliktänderungen
komplett abzulehnen.
Ein Lockingmechanismus ist zwar machbar, aber IMO nicht sinnvoll, da bei
Webanwendungen das unlocking nicht zwangsläufig ankommt. onwindowclose u.ä.
werden gerne von Browsern geblockt, weil für Popups misbraucht, und Timeouts
kranken an den berüchtigten Fenster-über-Nacht-Auflassern.
comment:3 Geändert vor 4 Jahren durch roman.karuschka@…
- Beobachter roman.karuschka@… hinzugefügt
- Meilenstein auf later gesetzt
Problem besteht noch (2.7.0-unstable), ist fuer ein zukuenftiges Release geplant
(Vorschlag: Zeitstempel mit Maske hidden ausliefern, Zeitstempel beim Abspeichern gegen das Datum der letzten Aenderung pruefen lassen. Falls Letzte Aenderung neuer als Zeitstempel Warnung ausgeben und User darauf hinweisen, dass er mit "Zurueck"-Button wieder in die Maske mit seinen Aenderungen kommt, die sollte er dann in einem zweiten tab mit dem neuen Stand abgleichen, ggfs manuell mergen wo noetig)
comment:4 Geändert vor 4 Jahren durch information@…
- Beobachter information@… hinzugefügt
Ich find einen Mechanismus wie bei Contenido nicht schlecht, da kommt dann eine Meldung, der Artikel ist gerade von Bearbeiter xyz in Bearbeitung, wollen Sie diese Warnung ignorieren.
Das sollte organisatorisch schon eine Menge helfen, ist aber zum implementieren noch genügend Aufwand ...
comment:5 Geändert vor 2 Jahren durch m.bunkus@…
- Typ von defect nach Fehler geändert
comment:6 Geändert vor 2 Jahren durch m.bunkus@…
- Meilenstein later gelöscht
comment:7 als Antwort auf: ↑ 2 Geändert vor 14 Monaten durch theck
Replying to s.schoeling@…:
Ein Lockingmechanismus ist zwar machbar, aber IMO nicht sinnvoll, da bei
Webanwendungen das unlocking nicht zwangsläufig ankommt. onwindowclose u.ä.
werden gerne von Browsern geblockt, weil für Popups misbraucht, und Timeouts
kranken an den berüchtigten Fenster-über-Nacht-Auflassern.
Dann macht man's genau andersherum und resettet den Timeout solange das Browserfenster offen ist. Heutzutage ist das ja mit AJAJ/AJAX möglich. Vielleicht auch zusammen mit dem Contenido-Ansatz.

Problem ist bekannt. In das nächste Major-Release wird wahrscheinlich ein
elemantarer Locking-Mechanismus eingebaut. Wenn Ideen für die Umsetzung
vorhanden sind, bitte melden.