summaryrefslogblamecommitdiffstats
path: root/notes-2.txt
blob: 39718f54821309455722a1c534ee1c10b2c480fa (plain) (tree)











































































                                                                                                                
drop trigger if exists GroupGroups_Trigger;

CREATE TRIGGER Groups_Trigger
BEFORE delete ON pbs_group
FOR EACH ROW
    INSERT INTO pbs_groupgroups g SET g.parentID = (SELECT parentID FROM pbs_groupgroups WHERE groupID = old.gro

INSERT INTO pbs_group (title) VALUES ('testgruppe1');
INSERT INTO pbs_group (title) VALUES ('testgruppe2');
INSERT INTO pbs_group (title) VALUES ('testgruppe3');
INSERT INTO pbs_group (title) VALUES ('testgruppe4');
INSERT INTO pbs_group (title) VALUES ('testgruppe5');
INSERT INTO pbs_groupgroups (parentID,groupID) VALUES (1,2);
INSERT INTO pbs_groupgroups (parentID,groupID) VALUES (2,3);
INSERT INTO pbs_groupgroups (parentID,groupID) VALUES (1,4);
INSERT INTO pbs_groupgroups (parentID,groupID) VALUES (3,5);

Löschen von Gruppen

Case 1. Lösche alle Untergruppen
Case 2. Untergruppen werden an Root gehängt
Case 2. Untergruppen werden an alle Obergruppen der Gruppe gehängt (Authorisation der Obergruppe?)
Case 3. Untergruppen werden an bestimmte Obergruppen gehängt (Authorisation der Obergruppe?)

Löschen von Groupgroups

Case1. Gruppe hat noch andere Obergruppen -> tue nichts
Case2. Gruppe hat keine Obergruppen mehr  -> hänge gruppe an root

Gruppen verwalten

root-gruppen
Gruppen die unter Root hängen repräsentieren eine PBS-Datenbank Instanz, sog. root-gruppen (z.b. PBS-Server1)
root-gruppen können nicht gelöscht werden 
root-gruppen können Untergruppen anlegen und wieder löschen
root-gruppen besitzen angehörige, rollen, rechte
angehörige mit den nötigen Rechten können Untergruppen erstellen und löschen.
angehörige mit den nötigen Rechten können Personen anlegen, angehörigkeiten und rollen zuweisen
angehörige mit den nötigen Rechten können rechte erstellen, ändern und löschen
angehörige mit den nötigen Rechten können Untergruppen einen oder mehreren Gruppen unterstellen

Gruppen
Jede Gruppe kann mehrere Untergruppen erstellen und löschen
Gruppen können sich nicht selbst löschen

Jede Gruppe außer root-gruppen können mehrere Obergruppen besitzen



Sanity Checks

Constraints

1. Group           -> Groupgroups
1. Groupgroups     -> group, group
2. Grouprequests   -> person, group
3. RightRoles      -> role, right
4. Membership      -> role, group, right
5. Role            -> group
6. Config          -> membership
7. BootOs          -> group
8. Bootmenuentries -> bootos, bootmenu
9. Bootmenu        -> membership
10. BootIso        -> membership
11. Session        -> client, bootos
12. MembershipFilters -> membership, filter
13. Poolentries    -> pool, client
14. Filter         -> membership, bootmenu
15. Poolfilters    -> pool, filter
16. Filterentries  -> filter, filtertype

Not Null
...