home *** CD-ROM | disk | FTP | other *** search
- Mailbox Naming Rules in c-client
- Mark Crispin
- 23 May 1993
-
-
- Mailboxes are named in a manner that there always exists a name,
- called the ``unambiguous name,'' which identifies the mailbox and the
- mechanism (that is, c-client driver) used to access the data without
- any confusion. A mailbox may also have some number of shorter names,
- called ``ambiguous names,'' which should also identify the proper
- mailbox but which could, in certain circumstances, refer to more than
- one mailbox using different technologies for each.
-
- These ambiguity issues come up primarily with some of the newer
- and proposed mail drivers, all of which have namespace needs which
- were not addressed with c-client's traditional drivers.
-
- To resolve these issues, the requirement of the existance of an
- ``unambiguous name'' stated above has been added. Furthermore, the
- namespace has been partitioned, both to delimit namespace boundaries
- and to reserve large areas for future expansion. The rules for this
- namespace partitioning are indented in this document along with the
- identity of the rule-maker for that rule.
-
- [MRC]
- The name ``INBOX'' in uppercase, lowercase, or any mix, is
- specially defined to be the user's primary mailbox. It is
- not permitted to have an INBOX in more than one technology.
-
- [MRC]
- Names which begin with an alphanumeric character, that is,
- digits 0-9 and letters A-Z and a-z, are defined to be
- ambiguous names.
-
- The rules below are defined and used by known c-client drivers to
- assist in specifying unambiguous names. Note that not all of these
- are valid in all environments; in particularly, they require that the
- driver be appropriate for the local platform and lunk into the
- application.
-
- It is the responsibility of the author of any new drivers to
- define a set of rules for unambiguous naming which do not conflict
- with existing rules, and to see to it that this document is updated to
- register those new rules. Any new rules should leave room for future
- rules in the namespace; it is *not* acceptable to have a rule which
- begins ``Names which begin with any other character than these...''!!
- Other than these two guidelines, there are no specific requirements
- for new rules.
-
- [MRC]
- Names which begin with an ``/'' refer to objects in a
- Unix filesystem, identified from the root. Since there
- may be multiple drivers which operate on objects in a
- filesystem, it is necessary to examine the type of object
- and its contents to determine the appropriate driver.
-
- [MRC]
- Names which begin with an ``~'' refer to objects in a
- Unix filesystem, identified from a home directory. Since
- there may be multiple drivers which operate on objects in a
- filesystem, it is necessary to examine the type of object
- and its contents to determine the appropriate driver.
- [BUG: home directories other than than the logged-in user's
- are not yet implemented.]
-
- [MRC]
- Names which begin with an ``*'' character refer to bboards.
- For example, ``*comp.mail.misc'' refers to the newsgroup
- ``comp.mail.misc'' on the local system. Remote names are
- also allowed; ``*{newshost}comp.mail.misc'' refers to the
- newsgroup ``comp.mail.misc'' on the system ``newshost'' via
- IMAP.
-
- [MRC]
- Names which begin with an ``{'' character refer to remote
- mailboxes. A remote mailbox is in the form
- ``{'' host [``/'' switch [``='' value] [``:'' port] ``}'' [mailbox]
- where:
- host remote host (name or bracketed IP address)
- switch switch specifying various options
- value value for switches which take values
- port IP port number
- mailbox local mailbox name at remote host
- Switches may have be one of the following:
- anonymous specifies anonymous remote login
- imap2 same as service=imap2
- nntp same as service=nntp
- service value specifies service to use
- The default service is imap2, the default port is the normal
- port for that service.
-
- [LGL]
- <<<%Carmel% or whatever defined here>>>
-
- Naming rules for new drivers should be added above this line.
-
- The rule-makers are identified as follows:
-
- [LGL] Laurence Lundblade, LGL@CAC.Washington.EDU
- [MRC] Mark Crispin, MRC@CAC.Washington.EDU
-
- Note that this document only defines names for c-client, and does
- not presume to define names at higher levels. In particular, Pine uses
- and maintains a ``context'' layer between it and the user interface, and
- names are transformed by this context layer.
-