Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
private:matverw_database [2013/03/27 20:13]
Patrick Wacker angelegt
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 ​rights ​{ +        subgraph ​cluster0 ​label = "​rights"; ​style="​solid"; color="​gray"; ​spacing="​4";​ 
-/*                ​style="​plaintext"; +                rxuy [label = "​{<​r1-u1>​ r1-u1|<​r2-u1>​ r2-u1|<​r1-u2>​ r1-u2|<​r2-u2>​ r2-u2}", color="​blue"]; 
-                ​color="​gray";​ +                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-ug1|<​r1-rg-ug2>​ r1-rg-ug2|<​r2-rg-ug2>​ r1-rg-ug2|<​r3-rg-ug2>​ r1-rg-ug2}"]; 
-                rxuy [label = "​{<​r1-u1>​ r1-u1 |<​r2-u1>​ r2-u1 |<​r1-u2>​ r1-u2 |<​r2-u2>​ r2-u2}"​];​ +                ​rxugy ​[label = "{<​r1-ug1>​ r1-ug1|<​r2-ug1>​ r2-ug1|<​r1-ug12>​ r1-ug12|<​r2-ug12>​ r1-ug12}"];
-                rxrgy [label = "​{<​r1-rg1>​ r1-rg1 |<​r2-rg1>​ r2-rg1 |<​r3-rg1>​ r3-rg1 |<​r1-rg2>​ r1-rg2 |<​r1-rg3>​ r1-rg3}"​];​ +
-                ​ +
-         ​ kb1 ​[ label="​Keyboard 1", shape="​ellipse",​ style=filled,​ fillcolor=gray ​]; +
-          ms1 [ label="​Mouse 1", shape="​ellipse",​ style=filled,​ fillcolor=gray ​]+
-                label = "​required"​;+
         }         }
         ​         ​
-        subgraph cluster1 { +        subgraph cluster1 { label = "right groups"; ​style="solid"; ​color="gray"; 
-                style="plaintext"; +                ​rg [label = "{<​rg1>​ rg1|<​rg2>​ rg2|<​rg3>​ rg3|<​rg-ug1>​ rg-ug1|<​rg-ug2>​ rg-ug2}"];
-                color="invis"; +
-                kb2 [ label="Keyboard 2", shape="​ellipse",​ style=filled,​ fillcolor=lightgray ]+
-                ​ms2 [ label="​Mouse 2", shape="​ellipse",​ style=filled,​ fillcolor=lightgray ​]+
-                label = "​optional"​;+
         }         }
  
-        subgraph cluster2 { +        subgraph cluster2 { label = "users"; style="​filled, ​dashed"; ​color="black"; fillcolor="​green"; 
-                style="filled, dashed"; +                ​users [label = "{<u1u1|<​u2>​ u2}"];
-                color="​black";​ +
-                fillcolor="​lightgrey"​ +
-                 +
-                usbhub [ label="​USB-Hub", ​style="​filled"fillcolor="#​e0e0e0"​ ]; +
-                keyboards [ label="Keyboards", shape="​oval",​ style="​filled",​ fillcolor="#​e0e0e0"​ ]; +
-                mice [ label="​Mice",​ shape="​oval",​ style="​filled", ​fillcolor="​#e0e0e0" ​]+
-                ​ +
-                keyboards -> usbhub ​[ label="​USB", dir="​both"​ ]; +
-                mice -usbhub [ label="​USB",​ dir="​both" ]+
- +
-                label = "​optional USB connection"​;+
         }         }
         ​         ​
-        subgraph cluster3 { +        subgraph cluster3 { label = "user groups"; ​style="solid"; ​color="gray"; 
-                style="invis"; +                ​ug [label = "{<​ug1>​ ug1|<​ug2>​ ug2}"];
-                client1 [ label="Client Contr. 1", style=filled,​ fillcolor=lightblue ]; +
-                PC1 [ label="PC 1", shape="​box3d",​ style=filled,​ fillcolor=green ]+
-                ​client1 -> PC1 [ label="​USB", color="​black" ];+
         }         }
  
-        ​subgraph cluster4 { +        ​rxuy:"​r1-u1":​w -> users:"​u1":​w [ arrowhead="​open",​ style="​solid"​ ]; 
-                style="​invis"; +        ​rxuy:"​r2-u1":​w -> users:"​u1":​w [ arrowhead="​open", ​style="​solid" ​]
-                ​client2 ​label="Client Contr. 2", style=filledfillcolor=lightblue ​]; +        ​rxuy:"​r1-u2":​w -> users:"​u2":​w ​arrowhead="open", style="​solid"​ ]; 
-                ​PC2 ​label="PC 2", ​shape="box3d", style=filledfillcolor=green ]; +        rxuy:"​r2-u2":​w -> users:"​u2":​w [ arrowhead="​open"​style="​solid" ​]; 
-                ​client2 ​-> PC2 [ label="​USB", color="​black" ]; +         
-        ​} +         
-        ​subgraph cluster5 { +        rxrgy:"​r1-rg1":​e -> rg:"​rg1":​e ​arrowhead="open", ​style="​solid"​ ]; 
-                ​style="​invis"; +        rxrgy:"​r2-rg1":​e -> rg:"​rg1":​e [ arrowhead="open", style="​solid"​ ]; 
-                ​client3 ​label="Client Contr. 3", style=filledfillcolor=lightblue ​]; +        rxrgy:"​r3-rg1":​e -> rg:"​rg1":​e [ arrowhead="​open"​style="​solid" ​]; 
-                ​PC3 ​label="PC 3", ​shape="box3d", style=filledfillcolor=green ]; +        ​rxrgy:"​r1-rg2":​w ​-> rg:"​rg2":​w ​arrowhead="​open",​ style="​solid"​ ]; 
-                ​client3 ​-> PC3 label="USB", ​color="black" ]; +        rxrgy:"​r1-rg3":​w -> rg:"​rg3":​w [ arrowhead="​open",​ style="​solid", ​label="",​ color="​gray"]; 
-        ​} +         
-        ​subgraph cluster6 { +        ​rxrgugy:"​r1-rg-ug1":​e -> rg:"​rg-ug1":​e [ arrowhead="​open", ​style="​solid" ​]
-                ​style="​invis"; +        ​rxrgugy:"​r2-rg-ug1":​e -> rg:"​rg-ug1":​e ​arrowhead="open", style="​solid"​ ]; 
-                ​client4 ​label="Client Contr. 4", style=filledfillcolor=lightblue ​]; +        rxrgugy:"​r1-rg-ug2":​w -> rg:"​rg-ug2":​w [ arrowhead="​open"​style="​solid" ​]; 
-                ​PC4 ​label="PC 4", ​shape="box3d", ​style=filledfillcolor=green ]; +        ​rxrgugy:"​r2-rg-ug2":​w -> rg:"​rg-ug2":​w ​arrowhead="open", ​style="​solid"​ ]; 
-                ​client4 ​-> PC4 label="USB", ​color="black" ]; +        rxrgugy:"​r3-rg-ug2":​w -> rg:"​rg-ug2":​w [ arrowhead="open", style="​solid"​ ]; 
-        ​} +         
-        ​subgraph cluster7 { +        rxugy:"​r1-ug1":​e -> ug:"​ug1":​e [ arrowhead="​open"​style="​solid" ​]; 
-                ​style="​dashed"; +        ​rxugy:"​r2-ug1":​e ​-> ug:"​ug1":​e ​arrowhead="open", ​style="solid" ]; 
-                ​client6 ​label=" ​. . . \nClient X", style="​solid", ​color="white" ]; +        ​rxugy:"​r1-ug12":​e -> ug:"​ug1":​e [ arrowhead="​open",​ style="​solid"​ ]; 
-                ​PC6 ​[ label=" ​. . . \nPC X"style="​solid"​color="​white" ]; +        ​rxugy:"​r2-ug12":​e -> ug:"​ug1":​e [ arrowhead="​open", ​style="​solid" ​]
-                ​client6 ​-> PC6 [ label="​USB", color="black" ];+        ​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" ​]; 
 + 
 +
 +</​graphviz>​ 
 + 
 + 
 +ab hier dann der zweite Versuchvielleicht 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"];
  
-                ​client5 ​[ label="​Client Contr. 5", style="filled", fillcolor="#d5e3ff" ]; +                ​r1_rg1 ​[label = "r1-rg1"]; 
-                ​PC5 [ label="​PC 5", shape="​box3d",​ style="​filled",​ fillcolor="#​b6ffc2" ]; +                r2_rg1 [label ​= "r2-rg1"]; 
-                ​client5 -> PC5 [ label="​USB", color="​black" ];+                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"​];​
                 ​                 ​
-                ​{ rank="same"; "client6"; "client5"; ​} +                ​r1_ug1 [label ​= "r1-ug1"]; 
-                { rank="same"; "PC6"; "PC5"; ​} +                r2_ug1 [label = "r2-ug1"]; 
-                label = "etc. (expandable)";+                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"];
         }         }
  
-        ​MC1 [ label="​\rMain Controller", ​fontsize="14", width="1.70", height="1.00"style="​filled", fillcolor="yellow" ];+        ​subgraph cluster2 { label = "users"; style="​filleddashed";​ 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"]; 
 +        }
  
-        ​{ rank="same"; "MC1"; "usbhub"; ​}+        ​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" ​];
  
-        ​kb1 -> MC1 [ arrowhead="​open",​ style="​solid", label="​PS/​2",​ color="​black" ]; +        ​rg_ug1 ​-> ug1 [ arrowhead="​open",​ style="​solid"​ ]; 
-        ​ms1 -> MC1 [ arrowhead="​open",​ style="​solid", label="​PS/​2",​ color="​black"​ ]; +        ​rg_ug2 ​-> ug2 [ arrowhead="​open",​ style="​solid"​ ];
-        kb2 -> MC1 [ arrowhead="​open",​ style="​solid",​ label="​PS/​2",​ color="​gray"​ ]; +
-        ms2 -> MC1 [ arrowhead="​open",​ style="​solid",​ label="​PS/​2",​ color="​gray" ];+
         ​         ​
-        ​MC1 -> usbhub ​style="dotted", ​label="USB", dir="​both" ]; +        ​ug1 -> u1 arrowhead="open", ​style="solid" ]; 
- +        ​rg1 -> u1 arrowhead="open", ​style="solid" ];
-        ​MC1 -> client1 ​label="SPI", ​color="​black"​ ]; +
-        MC1 -> client2 [ label="​SPI",​ color="​black"​ ]; +
-        MC1 -> client3 [ label="​SPI",​ color="​black"​ ]; +
-        MC1 -> client4 [ label="​SPI",​ color="​black"​ ]; +
-        MC1 -> client5 [ label="​SPI",​ color="black" ];+
  
 } }
 </​graphviz>​ </​graphviz>​
- 
- 
Projektwerkzeuge