Allow List

When Access List Type is equal to 'A' or 'a', then the Access List represents a allow list. When there are no entries in the list then no users are allowed to perform the matching Command Key Operation. When populated the list describes the conditions where the matching command would be allowed. If the Access_List_Type is 'A', 'full matching' applies and list items of the same type are ORed together and list items of different types are ANDed together before the list is tested. If the Access_List_Type is 'a', 'single matching' applies and all list items of any type are ORed together before the list is tested.

The format for the Allow_List is a list of zero or more user-ids, group names, VOB tags, replicas, element names, views or times enclosed by semicolons (;). User names are surrounded with Parenthesis (i.e. (cclarke) ), group names are surrounded with brackets (i.e. <groupname>), VOB tags and VOB:replicas are surrounded with square brackets (i.e. [/vobs/a_vob], [\a_vob] or [\some_vob:some_replica]), element names are surrounded with curly braces (i.e. {/vobs/a_vob/foo.c} or {\a_vob\foo.c}, view names are surrounded with percent characters (i.e. %night_build_view% or %import_view%), times are surrounded with at characters (i.e. @D20050211@ or @d4@),


The use of Dynamic Variables names is allowed (i.e. so (&) can be used to represent the current VOB_owner).

Pattern matching is allowed; the '*' char matches any string, the '?' character match any single chararacter and the '#' character matches any single digit.
All users can be represented by a "(*)" string, all groups can be represented as <*> all VOBs can be represented as [*], all elements can be represented as {*} and all views can be represented as %*%:

The use of Alias names is allowed; an ~alias may be used to identify a large number of (users), <groups>, {elements}, [VOBs], [VOB:replicas], %views% or @times@. Alias references (i.e. ~interns must have a trailing space after the alias name in the reference.

Example Typeexample
empty list; ;
single user entry; (jmorey) ;
single group entry; <dev> ;
certain groups; <qa_*> <dev_?> ~west_coast ~quam ;
all Windows VOBs; [\*] ;
all UNIX VOBs; [/*] ;
select VOB replicas; [*:atl] [*cm:sfo] ;
multiple entries; (sue) <dev1> [\a_vob] (admin_#) ;
particular elements; {/vobs/a/src/foo.c} {\vob_a\foo.?} ;
select elements; {*.c} {/vobs/*/src/*} ~core_code ;
multiple entries; (sue) <dev1> [\a_vob] (bob) ;
select view; %import_view% ;
multiple view entries; %QA_*% %build_view% ;
select days; @D20050211@ @D3@ ;
select hours; @h1@ @h23@;
all users; (*) ;
all elements; {*} ;