PDM: Wie kann man sicherstellen, dass Ordnerrechte in zwei Datenbanken oder für verschiedene Gruppen in verschiedenen Ordnern exakt gleich gesetzt sind?

Frage:

Wie kann man sicherstellen, dass Ordnerrechte in zwei Datenbanken oder für verschiedene Gruppen in verschiedenen Ordnern exakt gleich gesetzt sind?

Antwort:

Schnell und verlässlich lassen sich Gruppen-Ordnerberechtigungen in der Administration nicht vergleichen, da in der Vielzahl der Berechtigungen (Häkchen in der Administration) leicht ein Unterschied übersehen wird.

 

Ein guter Weg ist die Abfrage der Berechtigungen in der Datenbank mit der nachstehenden Abfrage:

SELECT            Groups.GroupID,

                        Groups.Groupname,

                        Groups.Description as GroupDescription,

                        Projects.Name as Ordnername,

                        Projects.Path ,

                        GroupRights.Type as PermissionValue

FROM       Groups INNER JOIN

           GroupRights ON Groups.GroupID = GroupRights.GroupID INNER JOIN

           Projects ON GroupRights.ProjectID = Projects.ProjectID

order by Groupname

 

Exemplarisch sieht das Abfrageergebnis folgendermaßen im SQL Management Studio aus:

Pic1

Hier ist z. B. gut zu erkennen, dass die Gruppe „Projekte“ in den beiden Verzeichnissen „Holz“ und „Normteile“ exakt gleiche Ordnerrechte hat.

 

Dieses Vorgehen ist insbesondere gut zu verwenden, wenn eine Datenbank als leere Datenbank erstellt und per .cex-Datei mit Anpassungen befüllt worden ist.

 

Im Übrigen ist der abstrakte Werte „PermissionValue“ exakt der Zahlenwert, über den per API die Rechte am Ordner gesetzt werden können.