Bei der Applikation geht es um die Erfassung von Meeting-Protokollen, aus denen anschließend TODOs erstellt werden. Der Status dieser TODOs soll später wiederum ins Protokoll übertragen werden. Da das Ganze möglichst zeitnah, also kann der Agent nicht nur einmal nachts laufen.
Mein ursprüngliches Konzept sah vor, ein Protokoll in einzelne Punkte aufzuteilen, jeweils als ein eigenes Dokument, aber trotz der Vorteile, die das meiner Meinung nach mit sich bringt, war den Usern (bzw. dem User, der das entscheidet, auch wenn ich bezweifle, dass er seine Protokolle selbst schreibt
) zu aufwendig, jedesmal einmal mehr zu klicken. Das hätte zumindest die Chance gesenkt, das User und Agent gleichzeitig ein Dokument bearbeiten.
Ich könnte vielleicht noch die Zuordnung, welcher Protokollpunkt sich in welchem TODO niedergeschlagen hat, in eigene Dokumente legen, aber um erledigte TODOs auf's Protokoll zu übertragen müsste ich trotzdem noch durch den Agenten schreiben.
Ich hatte zunächst das Problem, dass ich zwar im QueryOpen bzw. QueryModeChange ein Flag setzen und im Backend-Dokument speichern konnte, aber wenn ich versucht habe, im QueryClose das Flag wieder zu entfernen und dort zu speichern, hat allein das schon einen Konflikt produziert.
Ich habe es jetzt erstmal so gebaut, dass ich ein Flag setze, wenn das Dokument bearbeitet werden soll, und der User kann das Dokument nur schließen, wenn er auch speichert, damit das Flag wieder korrekt entfernt wird (in der Aktion).
Was ich vielleicht hätte versuchen können ist, beim Öffnen des Dokuments ein anderes Dokument zu erstellen, in dem ich den Status festhalte und im Agenten nur Protokolle zu bearbeiten, zu denen kein entsprechendes Status-Dokument vorhanden ist. Das könnte vielleicht funktionieren, oder?