Feld wird von agent und User regelmaessig veraendert

  • Hallo ich habe ein Feld der Name ist export.


    Wenn ich ein doc erstelle ist es leer. Wenn das doc exportiert wird dan erhaelt es den Wert "OK". Wenn das dokument veraendert wird dan erhaelt es den wert "CHANGED".


    Ich habe einen Scheduled agenten der alle 5 min laufen soll. Wenn der ein doc findet das export="" hat dan exportiert er es und aendert den wert auf "OK". Wenn export "Changed" ist dan macht er einen update von den doc in MySql und stellt export auf "OK".


    Wenn der User ein doc aendert und dan repliziert wird der Wert des Feldes Export inerhalb 5 Minuten veraendert und wenn er es nochmals aendert und wieder repliziert passiert ein replication conflict.


    Wie kann man das vermeiden? Vieleicht zwei felder verwenden?


    Es gibt sicher eine logische loesung.


    Danke

    • Offizieller Beitrag

    verwende doch konsequent Dokumentlocking.


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

  • Wird das Feld export nach Anlage des Dokumentes nur noch durch den Agenten verändert und verändert der Agent ansonsten nichts mehr ?


    Wenn ja kannst du einfach die Option Replizierkonflikte mischen einschalten

  • Hallo


    Hab vergessen zu erwaehnen das es die User auf LokalenReplicas arbeiten.


    Der Agent veraendert nur das Feld Export. Genauso der User. Also ein feld wird vom Agenten und von dem User veraendert.


    Wenn ich Merge(Mischen)auswaehle dan wird doch der zeitlich neuerste wert des Feldes gespeichert.
    Oder?


    Also die aenderung die zuletzt gemacht wuerde egal ob auf dem server oder lokal bleibt gespeichert. Das waere gut. Funktioniert es so?


    Danke

  • Nein, wenn du Merge wählst werden die Dokumente gemischt solange nicht das gleiche Feld verändert wurde.


    Bringt dir hier also gar nichts.


    Was du machen könntest wäre ein Feld für den User und eines für den Agenten und dann in einem Berechneten Text die Anzeige auf Basis der beiden Werte zusammenbauen.


    Dann kannst du das Mischen verwenden

  • Und wenn ich Merge/NoConflicts mache welcher wert wird dan gespeichert?


    Danke


    Edit


    Ich hab es mir so gedacht


    Zwei felder "server" und "user"


    Wenn das doc kreiert wird sind beide leer, der agent exportiert das neue doc und der status ist:


    server="OK" und User=""


    Wenn der user was aendert


    Server bleibt "OK" und User="Changed"


    Wen der server das doc updatet


    Server="" und user bleibt "Changed"


    Bisher ist alles Ok weill keiner das feld des anderen aendert.


    Aber wie soll cih erkennen das der user das doc wieder geaendert hat?


    Danke

  • Hallo


    Ich glaube jetzt habe ich ne Loesung.


    Ich hab zwei Felder vom Typ Number up1 und up2.


    Wenn sie den gleichen Wert haben wird kein update gemacht,
    wenn der User was macht stellt er up2=up1+1 ,
    und wenn der Agent was macht stellt er up1=up2.


    Beim export und loeschen geht es einfach den die werden nur einmal gemacht.


    Danke euch


    P.S.
    Ich habe doch recht oder?

    • Offizieller Beitrag

    Beachtest Du auch die Fälle, das im externen System etwas geändert wird und das ein Dokument auch offline von 2 verschiedenen Usern geändert werden kann?


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

  • Nein soweit kann es nicht kommen, jeder user ist Author und kann nur seine Docs aendern, soweit fukntioniert es auch. Aber wie ich Lotus kenne passiert bald was, leider.


    Vielel Gruesse