Domino 9 und frühere Versionen > ND7: Entwicklung
Shared Field
koehlerbv:
--- Zitat von: Demian am 03.01.07 - 15:17:01 ---... alles im Querysave machen. Dann würde es auch bei deinem Beispiel nicht zu Problemen kommen.
--- Ende Zitat ---
Benutze die Forumssuche - so findest Du die anderen Beispiele, die zeigen, warum das eine so unsichere Kiste ist. Wie gesagt - es ist alles schon zigmal erläutert worden.
Bernhard
Demian:
habe den Beitrag nicht eröffnet. HAbe nur geschrieben, wie ich es gelöst habe. Von daher bin ich mit dem Zusatz von Axel völlig zufrieden ;D
koehlerbv:
--- Zitat von: Demian am 03.01.07 - 16:02:08 ---Von daher bin ich mit dem Zusatz von Axel völlig zufrieden ;D
--- Ende Zitat ---
Na, dann wünsche ich in der Zukunft viel Spass. Auch mit der Forumssuche wirst Du vermutlich folgendes Beispiel nicht finden, weil es spezifisch an den Code gebunden ist, mit dem Du zufrieden bist:
Da Du stur die Dokumente in der Ansicht zählst, bist Du (eher die anderen - Du bist ja zufrieden) unter anderem folgenden Gefahren ausgesetzt:
- Selten: Wegen der Performance-Belastung steigt mit zunehmender Dokumentanzahl das Risiko, dass User A gerade speichert (und Deinen Code ausführt), während User B diesen Prozess erst startet. Wenn dann nicht schnell genug der View-Index wieer aufgebaut ist - bumm.
- Sicher: Irgendwann löscht mal jemand mindestens ein Dokument, welches nicht gerade zufällig das letzte in der Ansicht ist. Da gibt's dann eine doppelte Nummer. Wenn jemand vielleicht sogar mehrere Dokumente löscht ... daran mag ich gar nicht denken ;D
Bernhard
Demian:
Der Azubi, der diese Dokumente erstellt, ist per ACL schon vom Löschen von Doks ausgeschlossen. Und er/sie ist der/die einzige, der diese Doks erstellt.
Die anderen können zwar in der Datenbank Doks löschen, aber für diverse Ansichten, unter anderem auch für diese, sind im Datenbankereignis Querydocumentdelete Blockaden drin.
smoki:
Ich finde mein oben genannter Ansatz mit Server-Agent für die Nummerierung ist doch ein ganz gangbarer Weg... nur nicht sehr trivial...
Kurz nochmal:
Laufende Nummer 0 oder -1 geben und speichern.
Mit RunOnServer einen Agent für die Nummerierung starten.
Ein Agent mit dem selben Namen wird nicht doppelt im Agent-Manager ausgeführt, dass stellt Doppeltnummerierungen sicher.
Mit Clustern ode Replikation muss man natürlich noch paar Dinge mehr beachten....
Gruss
Chris
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln