View Restriction/Matching Functionality

In addition to the ability to define triggers that apply only to certain Users, Groups, Elments, VOBs, Replicas or Times administrators can create policy that applies only to certain views or view patterns. View patterns can be used to restrict or expand triggers by the user of ClearTrigger list that are defined in the clearbits files: Pattern "matching" can now be performed on any of these types (groups, elements, VOBs, replicas, views and times).

The format for this section 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 as well (i.e. so (&) can be used to represent the current VOB_owner).

Pattern matching is allowed as well; 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 as well; 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; {*} ;