Autor Thema: Gleichzeitiges Starten einer Aktion auf gleiches Dokument  (Gelesen 2471 mal)

Offline Kadlec

  • Senior Mitglied
  • ****
  • Beiträge: 489
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Ich habe eine Aktion, die aus der Ansicht gestartet wird und ein Feld je nach User auf "Hazard done (O)","Hazard done (S)"oder "Hazard done (V)" setzt.
Nun habe ich die Befürchtung das die Aktion von 2 Personen gleichzeitig gestartet wird und es zu Konflikten kommen kann.
Eine Lösung wäre ein Feld auf "Locked" zu setzen und die Aktion entsprechend nicht zu starten.
Wäre das der Weg oder mache ich mir Probleme wo gar keine sind?

Boris

Glombi

  • Gast
Re: Gleichzeitiges Starten einer Aktion auf gleiches Dokument
« Antwort #1 am: 09.01.05 - 16:12:56 »
Die Gefahr von Speicherkonflikten besteht bei Notes nun mal immer. Von Replizierkonflikten in Deinem Szenario ganz zu schweigen.

Wenn die Datenbank nur auf einem Server liegt, würde ich die Aktion so programmieren:
1. Prüfe, ob Feld bereits gesetzt ist. Falls ja, Abbruch
2. Setze Feld und speichere Dokument sofort danach

Dann sollte es eigentlih ausreichend sein. Es sei denn, Du hast noch weitere Anforderungen die wir nicht kennen.

Andreas

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Gleichzeitiges Starten einer Aktion auf gleiches Dokument
« Antwort #2 am: 09.01.05 - 16:28:17 »
Ich würde auch sagen, dass - gerade wenn das ganze aus einer Ansicht heraus gestartet wird und damit eben nicht für Dokumente, die vielleicht gerade noch anderweitig von einem User bearbeitet werden - hinsichtlich dieser Aktion unkritisch sind (die Wahrscheinlichkeit, dass gerade zwei User absolut gleichzeitig die Aktion durchführen, geht gegen Null).
Replizier- oder Speicherkonflikte aus den üblichen anderen Gründen sind um Grössenordnungen wahrscheinlicher.

Es wäre m.E. viel interessanter zu klären, was denn passiert, wenn Nase A Status X setzt, und zeitnah Nase B der Meinung ist, den Status auf Y zu setzen. Selbst, wenn diese Aktion auf dem gleichen Server durchgeführt wird, sieht ja B nicht unbedingt, was A gerade gemacht hat. Von lokalen Repliken oder Repliken auf anderen Servern ganz zu schweigen.

An Andreas' Vorschlag wage ich aber Kritik zu äussern: Die Prüfung auf vorhandenen Inhalt des Statusfeldes würde ja dazu führen, dass man nicht von Status X auf Status Y wechseln könnte - sicherlich nicht im Sinne des Erfinders, denke ich. Und gespeichert wird bei einer Ansichtsaktion ja sowieso sofort.

Um Konflikte (vor allem inhaltlicher Natur wie oben beschrieben) zu vermeiden, würde ich also auf einer ganz anderen Ebene der Struktur Deiner Applikation ansetzen.

HTH,
Bernhard

Glombi

  • Gast
Re: Gleichzeitiges Starten einer Aktion auf gleiches Dokument
« Antwort #3 am: 09.01.05 - 16:37:58 »
Ich würde auch sagen, dass - gerade wenn das ganze aus einer Ansicht heraus gestartet wird und damit An Andreas' Vorschlag wage ich aber Kritik zu äussern: Die Prüfung auf vorhandenen Inhalt des Statusfeldes würde ja dazu führen, dass man nicht von Status X auf Status Y wechseln könnte - sicherlich nicht im Sinne des Erfinders, denke ich. Und gespeichert wird bei einer Ansichtsaktion ja sowieso sofort.
Hi Bernhard,
daher habe ich auch geschrieben "Es sei denn, Du hast noch weitere Anforderungen die wir nicht kennen.
".

Was mir nicht klar ist: Wird das Dokument überhaupt zum Bearbeiten geöffnet? Falls nicht, wäre es ja schon sehr unwahrscheinlich, dass zwei User in der gleichen Sekunde auf die Aktion drücken...

Warten wir mal ab, was noch so an Anforderungen kommt...

Andreas

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Gleichzeitiges Starten einer Aktion auf gleiches Dokument
« Antwort #4 am: 09.01.05 - 16:51:49 »
Jo, Andreas - die evtl. vorhandenen Probleme liegen auf jeden Fall auf einer anderen Ebene als auf der der Ansichtsaktion. Warten wir also ab  ;)

Bernhard

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Gleichzeitiges Starten einer Aktion auf gleiches Dokument
« Antwort #5 am: 09.01.05 - 16:52:02 »
Wenn Boris richtig formuliet hat (man weiss ja wohl, warum ich hier sehr vorsichtig formuliere  ;) ), dann wird das Dokument nicht geöffnet, weil:

Zitat
Ich habe eine Aktion, die aus der Ansicht gestartet wird
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Gleichzeitiges Starten einer Aktion auf gleiches Dokument
« Antwort #6 am: 09.01.05 - 17:01:19 »
Und gespeichert wird bei einer Ansichtsaktion ja sowieso sofort.

Wie ich schon sagte  ;D

Genauer hätte es natürlich heissen müssen: "Und gespeichert wird bei dieser Ansichtsaktion ja vermutlich sofort." Auch aus einer Ansichtsaktion kann man ja ohne weiteres ausgewählte Dokumente im Backend manipulieren und danach noch zum Editieren im Frontend öffnen.

Nun aber genug der Kaffeesatzleserei - lasst uns auf Boris warten.

Bernhard

Offline Kadlec

  • Senior Mitglied
  • ****
  • Beiträge: 489
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re: Gleichzeitiges Starten einer Aktion auf gleiches Dokument
« Antwort #7 am: 10.01.05 - 01:02:36 »
Also wie Ihr vermutet habt wird das Dok. nicht geöffnet.
Es wird nur in ein Feld "Status" ein weiterer Eintrag zugefügt.

Zum Schluss werden von drei versch. Personen die drei letzten Stati in das Feld geschrieben. Über @UserRole wird die Person erkannt und der entsprechende Wert in das Feld geschrieben.
Die db liegt nur auf einem Server.
Die wahrscheinlichkeit das zwei oder evt. sogar alle drei die Aktion zeitgleich starten geht auch meiner Meinung nach gegen Null.
Habe da aber keinerlei prakt. Erfahrung deshalb dachte ich mir halt so eine Art "Sicherung" wie das Andreas auch in seiner ersten Antwort geschrieben hat. Hierzu wird aber nicht das Status Feld genommen denn wie gesagt, alle drei Einträge müssen am Schluss vorhanden sein.
Boris

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz