From 945721f48f74d5cfffef7c7cf3a3d6bc2521f5dd Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 15 Jul 2003 13:16:32 +0000 Subject: import of rt 3.0.4 --- rt/docs/design_docs/groups_notes | 88 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 rt/docs/design_docs/groups_notes (limited to 'rt/docs/design_docs/groups_notes') diff --git a/rt/docs/design_docs/groups_notes b/rt/docs/design_docs/groups_notes new file mode 100644 index 000000000..234fd37fe --- /dev/null +++ b/rt/docs/design_docs/groups_notes @@ -0,0 +1,88 @@ +CREATE TABLE Prinicpals ( + id int auto_increment + PrincipalType VARCHAR(16) not_null, + PrincipalId int # foreign key to Users or Groups, depending +) + +CREATE TABLE Groups ( + id int auto_increment, + Domain varchar(255), + Instance varchar(16), + Name varchar(255), + Description varchar(255), +); +CREATE TABLE ACL ( + id INTEGER NOT NULL AUTO_INCREMENT, + Principal integer NULL , #Foreign key to principals + RightName varchar(25) NULL , + RightDomain varchar(25) NULL , + RightInstance integer NULL , + PRIMARY KEY (id) +); + +CREATE TABLE GroupMembers ( + id int auto_increment, + Group int, # foreign key to Principals + Member int # foreign key to Principals +) + +create table GroupMembersCache ( + id int auto_increment, + Group int, # foreign key to Principals + Member int, # foreign key to Principals + Via int, #foreign key to g_m_u +) + +insert into principals values ('bubbles); +insert into principals values ('fubar'); +insert into principals values ('sheeri'); +insert into principals values ('sgw'); + +insert into principals values ('staff'); +insert into principals values ('sysadmin'); +insert into principals values ('senior admin'); + + +insert into group_members values(1, 'staff', 'bubbles'); +insert into group_members values(2, 'sysadmin', 'sheeri'); +insert into group_members values(3,'senior admin', 'sgw'); +insert into group_members values(4,'senior admin', 'fubar'); +insert into group_members values(5, 'sysadmin', 'senior admin') + +Groups + + + +Domain Queues +Instance +Name AdminCc, Cc + +/Queues/1/AdminCc +/Queues/3/Cc + +Domain Tickets +Instance <#n> +Name Owner, Requestor, Cc, AdminCc + +/Tickets/1/Owner +/Tickets/1/Requestor +/Tickets/1/Cc + Has members: /Queues/whatever queue the ticket has/Cc +/Tickets/1/AdminCc + Has members: /Queues/whatever queue the ticket has/AdminCc + + +Domain Users +Instance + +/Users/1/MyDelegates +/Users/1/MyOtherDelegates + + +Domain System +Name Admins, AdminManagers + +/System/Administrators +/System/Blah + + -- cgit v1.2.1