Hallo Compass-Kollegen,
hier ein ganz spezielles Problem.
Ausgangssituation:
Ich einer Compass-Installation gibt es eine "Kategorie" von Dokumente mit ganz spezieller Rechtekonfiguration. Diese sieht wie folgt aus:
OwnerRights: +W+C+R+D
GroupRights: -W-C+R-D
DefaultRights: -W-C-R-D
OWNER ist gleich CREATE_USER, OWNER_GROUP ist eine selbst angelegte Gruppe, die ins Dokument eingetragen wird.
Problem:
Wenn ich nun ein beliebiges (Konstruktions-)Dokument in Compass anlege, kann es sein, dass nicht gespeichert werden kann. Den Grund dafür habe ich auch gefunden.
Beim Generieren der Nummer läuft Compass ja über alle bestehenden Dokumentnummern drüber (unter Berücksichtigung des StartKey) und sucht die nächste freie Nummer. Bei diesem Prozess scheint Compass aber nur jene Dokumente zu berücksichtigen, die es auch "sehen" kann, sprich auf denen der aktuelle Benutzer Leserechte hat.
Beispiel:
Es existiert ein Dokument mit Nummer ENG-001. Der Benutzer ist mit obiger Rechtekonfiguration weder OWNER noch gehört er der OWNER_GROUP an, hat also nicht mal Leserechte auf das Dokument.
Nun kann es aber sein, dass dieses Dokument bei der Ident-Generierung ignoriert und erneut die Nummer ENG-001 für ein neues Dokument erzeugt wird. Beim Speichern läuft die Compass-Prüfung noch positiv drüber, weil ja eben nicht erkannt wird, dass es die Nummer schon gibt, trotzdem kann aber nicht gespeichert werden, weil spätestens die UNIQUE-Einschränkung auf der Datenbank dies nicht zulässt.
Hat irgendwer ähnliche Probleme oder Erfahrungswerte mit so was?
Besten Dank im Voraus,
WolfgangE
------------------
An Optimist Is A Person Who Has Not Been Shown All The Facts Yet!!!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP