Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
private:matverw_database [2013/03/27 20:46]
Patrick Wacker zwischenspeicherung
private:matverw_database [2013/03/28 19:55] (aktuell)
Patrick Wacker [rights assignments] some tests
Zeile 6: Zeile 6:
  
  
-==== Aufbau ​====+==== rights assignments ​====
  
 <​graphviz dot left> <​graphviz dot left>
Zeile 14: Zeile 14:
   edge [ fontname=Helvetica,​ fontsize=10 ];   edge [ fontname=Helvetica,​ fontsize=10 ];
         ​         ​
-        subgraph cluster0 { label = "​rights";​ style="​solid";​ color="​gray";​ +        subgraph cluster0 { label = "​rights";​ style="​solid";​ color="​gray"; spacing="​4"; 
-                rxuy [label = "​{<​r1-u1>​ r1-u1|<​r2-u1>​ r2-u1|<​r1-u2>​ r1-u2|<​r2-u2>​ r2-u2}"​];​+                rxuy [label = "​{<​r1-u1>​ r1-u1|<​r2-u1>​ r2-u1|<​r1-u2>​ r1-u2|<​r2-u2>​ r2-u2}", color="​blue"];
                 rxrgy [label = "​{<​r1-rg1>​ r1-rg1|<​r2-rg1>​ r2-rg1|<​r3-rg1>​ r3-rg1|<​r1-rg2>​ r1-rg2|<​r1-rg3>​ r1-rg3}"​];​                 rxrgy [label = "​{<​r1-rg1>​ r1-rg1|<​r2-rg1>​ r2-rg1|<​r3-rg1>​ r3-rg1|<​r1-rg2>​ r1-rg2|<​r1-rg3>​ r1-rg3}"​];​
-                rxrgugy [label = "​{<​r1-rg-ug1>​ r1-rg-ug1|<​r2-rg-ug1>​ r2-rg-ug2|<​r1-rg-ug2>​ r1-rg-ug2|<​r2-rg-ug2>​ r1-rg-ug2|<​r3-rg-ug2>​ r1-rg-ug2}"​];​ +                rxrgugy [label = "​{<​r1-rg-ug1>​ r1-rg-ug1|<​r2-rg-ug1>​ r2-rg-ug1|<​r1-rg-ug2>​ r1-rg-ug2|<​r2-rg-ug2>​ r1-rg-ug2|<​r3-rg-ug2>​ r1-rg-ug2}"​];​ 
-                rxugy [label = "​{<​r1-ug1>​ r1-ug1|<​r2-ug1>​ r2-ug2|<​r1-ug12>​ r1-ug12|<​r2-ug12>​ r1-ug12}"​];​+                rxugy [label = "​{<​r1-ug1>​ r1-ug1|<​r2-ug1>​ r2-ug1|<​r1-ug12>​ r1-ug12|<​r2-ug12>​ r1-ug12}"​];​
         }         }
         ​         ​
         subgraph cluster1 { label = "right groups";​ style="​solid";​ color="​gray";​         subgraph cluster1 { label = "right groups";​ style="​solid";​ color="​gray";​
-                rg [label = "​{<​rg1>​ rg1|<​rg2>​ rg2|<rg2rg2|<​rg-ug1>​ rg-ug1|<​rg-ug2>​ rg-ug2}"​];​+                rg [label = "​{<​rg1>​ rg1|<​rg2>​ rg2|<rg3rg3|<​rg-ug1>​ rg-ug1|<​rg-ug2>​ rg-ug2}"​];​
         }         }
  
Zeile 33: Zeile 33:
         }         }
  
-        rxuy:"​r1-u1"​ -> users:"​u1"​ [ arrowhead="​open",​ style="​solid"​ ]; +        rxuy:"​r1-u1"​:w -> users:"​u1"​:w [ arrowhead="​open",​ style="​solid"​ ]; 
-        rxuy:"​r2-u1"​ -> users:"​u1"​ [ arrowhead="​open",​ style="​solid"​ ];+        rxuy:"​r2-u1"​:w -> users:"​u1"​:w [ arrowhead="​open",​ style="​solid"​ ]; 
 +        rxuy:"​r1-u2":​w -> users:"​u2":​w [ arrowhead="​open",​ style="​solid"​ ]; 
 +        rxuy:"​r2-u2":​w -> users:"​u2":​w ​[ arrowhead="​open",​ style="​solid"​ ];
         ​         ​
-        rxrgy:"​r1-rg1"​ -> rg:"​rg1"​ [ arrowhead="​open",​ style="​solid"​ ]; +        ​ 
-        rxrgy:"​r2-rg1"​ -> rg:"​rg1"​ [ arrowhead="​open",​ style="​solid"​ ]; +        ​rxrgy:"​r1-rg1"​:e -> rg:"​rg1"​:e [ arrowhead="​open",​ style="​solid"​ ]; 
-        rxrgy:"​r3-rg1"​ -> rg:"​rg1"​ [ arrowhead="​open",​ style="​solid"​ ]; +        rxrgy:"​r2-rg1"​:e -> rg:"​rg1"​:e [ arrowhead="​open",​ style="​solid"​ ]; 
-        rxrgy:"​r1-rg2"​ -> rg:"​rg2"​ [ arrowhead="​open",​ style="​solid"​ ]; +        rxrgy:"​r3-rg1"​:e -> rg:"​rg1"​:e [ arrowhead="​open",​ style="​solid"​ ]; 
-        rxrgy:"​r1-rg3"​ -> rg:"​rg3"​ [ arrowhead="​open",​ style="​solid",​ label="",​ color="​gray"​];​ +        rxrgy:"​r1-rg2"​:w -> rg:"​rg2"​:w [ arrowhead="​open",​ style="​solid"​ ]; 
- +        rxrgy:"​r1-rg3"​:w -> rg:"​rg3"​:w [ arrowhead="​open",​ style="​solid",​ label="",​ color="​gray"​];​ 
- +         
-        ​{ rank="same"; "ug"; "​rg";​ "users"}+        ​rxrgugy:"​r1-rg-ug1":​e -> rg:"​rg-ug1":​e [ arrowhead="​open",​ style="​solid"​ ]; 
 +        ​rxrgugy:"​r2-rg-ug1":​e -> rg:"​rg-ug1":​e [ arrowhead="open", style="​solid"​ ]; 
 +        rxrgugy:"r1-rg-ug2":w -> rg:"​rg-ug2":​w [ arrowhead="​open",​ style="​solid"​ ]; 
 +        rxrgugy:"r2-rg-ug2":w -> rg:"​rg-ug2":​w [ arrowhead="​open",​ style="​solid"​ ]; 
 +        rxrgugy:"r3-rg-ug2":w -> rg:"​rg-ug2":​w [ arrowhead="​open",​ style="​solid"​ ]; 
 +         
 +        rxugy:"​r1-ug1":​e -> ug:"​ug1":​e [ arrowhead="​open",​ style="​solid"​ ]; 
 +        rxugy:"​r2-ug1":​e -> ug:"​ug1":​e [ arrowhead="​open",​ style="​solid"​ ]; 
 +        rxugy:"​r1-ug12":​e -> ug:"​ug1":​e [ arrowhead="​open",​ style="​solid"​ ]; 
 +        rxugy:"​r2-ug12":​e -> ug:"​ug1":​e [ arrowhead="​open",​ style="​solid"​ ]; 
 +        rxugy:"​r1-ug12":​e -> ug:"​ug2":​e [ arrowhead="​open",​ style="​solid",​ color="​red"​];​ 
 +        rxugy:"​r2-ug12":​e -> ug:"​ug2":​e [ arrowhead="​open",​ style="​solid",​ color="​red"​ ];
  
 +        rg:"​rg-ug1"​ -> ug:"​ug1"​ [ arrowhead="​open",​ style="​solid"​ ];
 +        rg:"​rg-ug2"​ -> ug:"​ug2"​ [ arrowhead="​open",​ style="​solid"​ ];
 +        ​
 +        ug:"​ug1"​ -> users:"​u1"​ [ arrowhead="​open",​ style="​solid"​ ];
 +        rg:"​rg1"​ -> users:"​u1"​ [ arrowhead="​open",​ style="​solid"​ ];
  
 } }
Zeile 50: Zeile 68:
  
  
 +ab hier dann der zweite Versuch, vielleicht ist die Darstellung etwas besser
 +
 +<​graphviz dot left>
 +digraph rights_assignments {
 + ​ graph [ rankdir="​LR"​ ];
 +  node [ shape=record,​ fontname=Helvetica,​ fontsize=10 ];
 +  edge [ fontname=Helvetica,​ fontsize=10 ];
 +        ​
 +        subgraph cluster0 { label = "​rights";​ style="​solid";​ color="​gray";​
 +                r1_u1 [label = "​r1-u1"​];​
 +                r2_u1 [label = "​r2-u1"​];​
 +                r1_u2 [label = "​r1-u2"​];​
 +                r2_u1 [label = "​r2-u2"​];​
 +
 +                r1_rg1 [label = "​r1-rg1"​];​
 +                r2_rg1 [label = "​r2-rg1"​];​
 +                r3_rg1 [label = "​r3-rg1"​];​
 +                r1_rg2 [label = "​r1-rg2"​];​
 +                r1_rg3 [label = "​r1-rg3"​];​
 +                ​
 +                r1_rg_ug1 [label = "​r1-rg-ug1"​];​
 +                r2_rg_ug1 [label = "​r2-rg-ug1"​];​
 +                r1_rg_ug2 [label = "​r1-rg-ug2"​];​
 +                r2_rg_ug2 [label = "​r1-rg-ug2"​];​
 +                r3_rg_ug2 [label = "​r1-rg-ug2"​];​
 +                ​
 +                r1_ug1 [label = "​r1-ug1"​];​
 +                r2_ug1 [label = "​r2-ug1"​];​
 +                r1_ug12 [label = "​r1-ug12"​];​
 +                r2_ug12 [label = "​r1-ug12"​];​
 +        }
 +        ​
 +        subgraph cluster1 { label = "right groups";​ style="​solid";​ color="​gray";​
 +                rg1 [label = "​rg1"​];​
 +                rg2 [label = "​rg2"​];​
 +                rg3 [label = "​rg3"​];​
 +                rg_ug1 [label = "​rg-ug1"​];​
 +                rg_ug2 [label = "​rg-ug2"​];​
 +        }
 +
 +        subgraph cluster2 { label = "​users";​ style="​filled,​ dashed";​ color="​black";​ fillcolor="​green";​
 +                u1 [label = "​u1"​];​
 +                u2 [label = "​u2"​];​
 +        }
 +        ​
 +        subgraph cluster3 { label = "user groups";​ style="​solid";​ color="​gray";​
 +                ug1 [label = "​ug1"​];​
 +                ug2 [label = "​ug2"​];​
 +        }
 +
 +        r1_u1 -> u1 [ arrowhead="​open",​ style="​solid"​ ];
 +        r2_u1 -> u1 [ arrowhead="​open",​ style="​solid"​ ];
 +        r1_u2 -> u2 [ arrowhead="​open",​ style="​solid"​ ];
 +        r2_u2 -> u2 [ arrowhead="​open",​ style="​solid"​ ];
 +        ​
 +        ​
 +        r1_rg1 -> rg1 [ arrowhead="​open",​ style="​solid"​ ];
 +        r2_rg1 -> rg1 [ arrowhead="​open",​ style="​solid"​ ];
 +        r3_rg1 -> rg1 [ arrowhead="​open",​ style="​solid"​ ];
 +        r1_rg2 -> rg2 [ arrowhead="​open",​ style="​solid"​ ];
 +        r1_rg3 -> rg3 [ arrowhead="​open",​ style="​solid",​ label="",​ color="​gray"​];​
 +        ​
 +        r1_rg-ug1 -> rg_ug1 [ arrowhead="​open",​ style="​solid"​ ];
 +        r2_rg-ug1 -> rg_ug1 [ arrowhead="​open",​ style="​solid"​ ];
 +        r1_rg-ug2 -> rg_ug2 [ arrowhead="​open",​ style="​solid"​ ];
 +        r2_rg-ug2 -> rg_ug2 [ arrowhead="​open",​ style="​solid"​ ];
 +        r3_rg-ug2 -> rg_ug2 [ arrowhead="​open",​ style="​solid"​ ];
 +        ​
 +        r1_ug1 -> ug1 [ arrowhead="​open",​ style="​solid"​ ];
 +        r2_ug1 -> ug1 [ arrowhead="​open",​ style="​solid"​ ];
 +        r1_ug12 -> ug1 [ arrowhead="​open",​ style="​solid"​ ];
 +        r2_ug12 -> ug1 [ arrowhead="​open",​ style="​solid"​ ];
 +        r1_ug12 -> ug2 [ arrowhead="​open",​ style="​solid",​ color="​red"​];​
 +        r2_ug12 -> ug2 [ arrowhead="​open",​ style="​solid",​ color="​red"​ ];
 +
 +        rg_ug1 -> ug1 [ arrowhead="​open",​ style="​solid"​ ];
 +        rg_ug2 -> ug2 [ arrowhead="​open",​ style="​solid"​ ];
 +        ​
 +        ug1 -> u1 [ arrowhead="​open",​ style="​solid"​ ];
 +        rg1 -> u1 [ arrowhead="​open",​ style="​solid"​ ];
 +
 +}
 +</​graphviz>​
Projektwerkzeuge