Document Status:  The plan is in effect, though some elements are not yet implemented and some systems are in transition from older name forms.  See the Change Log section at the end for substantive change history.

1.  Introduction

UW Information Technology (UW-IT) is incrementally extending the UW Groups Service to support new modes of group definition, more groups, more campus organizations defining groups, and more uses for groups.  A key design component is a naming plan for groups that supports the eventual campus-wide scope of the service.  It is desirable to start naming groups using a plausible scheme, even while many other aspects of the system are not yet in place.  This document specifies a group naming plan for the UW Groups Service, including syntax and top-level name components.

2.  Concepts and terminology

UW Group IDs

This plan specifies group names, called UW Group IDs, that are in the style of UW NetIDs, email addresses, and web URLs.  That is, they are: relatively short; typically meaningful to humans but not full English words; and normally writable as ASCII strings without white space.  Such identifiers are intended to fit in easily where these other identifiers typically are found.  Note, however, that the names in this plan are not themselves UW NetIDs, email addresses, or URLs/URIs; there are mappings to/from those forms in some cases.

In some important environments group names are in the same namespace as UW NetIDs.  To accommodate this, group names (at least the NetID-style group names defined in this document) must be considered to be part of the larger UW NetID namespace.  See UW NetID Namespace for more information.

This naming plan does not preclude the implementation of additional naming plans, for example a plan with longer names with a larger character set. 

Namespaces, stems, and naming authorities

It is a requirement that groups be able to be created (hence named) by potentially very large numbers of UW community members (100,000 or more).  To avoid conflicts, and to avoid the need for an approval process for each proposed group name, a hierarchical naming scheme is used.  This is similar to other environments where large-scale distributed naming is needed (e.g. DNS, file systems).

Using the terminology promoted in the Internet2 Grouper project, specific group namespaces are referred to as "stems".  A stem is created for the purpose of creating and managing groups (and other stems) based on it, and to control access to these operations.  The entity (or entities) responsible for managing a stem is a "naming authority" for that stem.  A naming authority may delegate control of namespaces based on its stem to other naming authorities.

Names and URIs

In many cases a group name is used in a context where it is understood to be a group name in the UW infrastructure space (e.g., the "require group foo" context in UW web access control for Apache).  A short form is available for these contexts, as described in sections 3 and 4.  For more general contexts, a URI form is also defined so that each group has a globally unique name.

3.  Syntax

UW Group IDs are names in the UW NetID Namespace. The syntax defined here is a profile of the Base UW NetID syntax.

A group name is a sequence of name components, by convention written left-to-right from highest-level to lowest-level naming authority. Name components are written separated by a delimiter character.

Character set: Name components are limited to lowercase letters (a-z), digits (0-9), dash ("-"), and period (".") characters.

Delimiter: The delimiter between components is underscore ("_").

Note that a particular name may be used both as the name of a group and as a stem on which other group names are based.  For example, the name

  uwx_partners

might both be used as a group (i.e., have a member list and be used in group expression contexts) and as a stem for more group names, for example:

  uwx_partners_foo
  uwx_partners_bar

Note: group names cannot be created without a parent stem.  Using the above example:

  uwx_partners_foo
  uwx_partners_bar

may not be created without first creating the group

  uwx_partners

4.  UW top-level stems

UW-IT (acting as institutional group naming authority) controls the top-level stem space.  Top-level stems can be created as needed, based on discussion with stakeholders and establishment of clear definition and requirements.  Like any stem, a top-level stem must have a well-defined naming authority to manage it.

Syntax of names under each stem can be further constrained.

4.1.  UW NetID stem

A top-level stem:

  u

is established to name groups based on the UW NetID namespace.  Under this stem is a stem for each UW NetID, for selected UW NetID types.  Supported UW NetID types currently include only personal and shared UW NetIDs.  For example,

  u_rlbob

is a stem whose naming authority is the person holding the personal UW NetID "rlbob".  Examples of group names based on that stem are:

  u_rlbob_friends
  u_rlbob_ext-contacts
  u_rlbob_del_grp2

The stem based on a shared UW NetID has as a naming authority the owners of that shared UW NetID, or their delegates. Capability to manage groups using that stem is handled consistently with management of access to other resources available to that shared UW NetID.  For example, a shared UW NetID "deptxyz" would have the stem:

  u_deptxyz

Examples of  group names based on that stem are:

  u_deptxyz_all
  u_deptxyz_all_temp-users
  u_deptxyz_admin_sec_wheel 

The syntax of group names under the UW NetID stem is not further constrained.

4.2  UW Affiliation/Organization stem

A stem:

  uw

is established to name groups with memberships based on UW affiliations and UW organizations.  For example:

  uw_students

is the group whose members have the affiliation "student".  One source of affiliation names is the eduPersonAffiliation attribute defined in the eduPerson specification.  Other affiliation names might be added locally at UW.

Groups named to support UW organizations use short organization identifiers as the component following the uw_ stem.  Typically these names are used as stems for the management of potentially many groups within that organization.  As a general rule names under this stem will correspond to DNS subdomains under uw.edu or washington.edu that have been delegated for organizational use.  For example, if a fictional UW organization "Pavement Science" has an existing DNS subdomain "pavesci.washington.edu", then

  uw_pavesci

could be a stem delegated to that organization, and

  uw_pavesci_admins
  uw_pavesci_postdocs_third-year

could be groups under that stem. 

This organizational naming plan could be superseded at some point by a more formal and comprehensive UW organization registry that would include allocation of short identifiers for these purposes. 

The syntax of group names under the UW Affiliation stem is not further constrained. 

4.3  Academic Course stem

A stem:

  course

is established to name groups with membership based on UW academic courses.   For example:

  course_2005sum-psych101a

The syntax of group names in the academic course stem is:

  uwYear + uwQuarter + "-" + uwCurric + uwCrsNo + uwSectID

See UW Course Groups for definitions of the above attribute types.

5.  Exceptions 

There may be existing practice where centrally-managed groups are named with names that do not conform to the scheme defined in sections 3 and 4.  There may also be cases where applications require group names that do not conform to this plan, but it is still appealing to manage such groups centrally.  In these cases exceptions may be granted.  Such group names must still conform to the base UW NetID syntax.  Groups named with exceptional names should still benefit from participation in group management and use operations.  Such names do not participate in the hierarchical naming scheme, however; that is they are not used as stems.  For example:

  xyz-team
  superdupergroup

might be exceptional group names.

6.  Representation of group names as URIs

For use in URI contexts a URI namespace is assigned in UW's URN namespace:

   urn:mace:washington.edu:groups:

A group URI is formed by appending the short-form group name to that namespace.  For example, given the short-form group name:

  u_rlbob_friends

the URI form is: 

  urn:mace:washington.edu:groups:u_rlbob_friends

 7.  Change Log

Note:  Changes affecting the use or deployment of the naming plan are recorded here.  Editorial changes or clarifications need not be recorded here.

Date

Name

Description

16-Jun-2008

RL "Bob" Morgan

Change section 4.1 to remove application UW NetIDs, clarify examples; change section 4.2 to make examples more generic

11-Jun-2008

RL "Bob" Morgan

Change section 4.2 to include support for organization names under the uw_ stem.

28-May-2008

RL "Bob" Morgan

Change section 4.1 (UW NetID Stem) to indicate that admin netids can have these groups, but mailing list names cannot.
Remove "Proposal" from document name.