home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / mail / pine / imap-3.0 / Naming.TXT < prev    next >
Encoding:
Text File  |  1993-05-23  |  4.3 KB  |  106 lines

  1.            Mailbox Naming Rules in c-client
  2.                  Mark Crispin
  3.                  23 May 1993
  4.  
  5.  
  6.      Mailboxes are named in a manner that there always exists a name,
  7. called the ``unambiguous name,'' which identifies the mailbox and the
  8. mechanism (that is, c-client driver) used to access the data without
  9. any confusion.  A mailbox may also have some number of shorter names,
  10. called ``ambiguous names,'' which should also identify the proper
  11. mailbox but which could, in certain circumstances, refer to more than
  12. one mailbox using different technologies for each.
  13.  
  14.      These ambiguity issues come up primarily with some of the newer
  15. and proposed mail drivers, all of which have namespace needs which
  16. were not addressed with c-client's traditional drivers.
  17.  
  18.      To resolve these issues, the requirement of the existance of an
  19. ``unambiguous name'' stated above has been added.  Furthermore, the
  20. namespace has been partitioned, both to delimit namespace boundaries
  21. and to reserve large areas for future expansion.  The rules for this
  22. namespace partitioning are indented in this document along with the
  23. identity of the rule-maker for that rule.
  24.  
  25.     [MRC]
  26.     The name ``INBOX'' in uppercase, lowercase, or any mix, is
  27.     specially defined to be the user's primary mailbox.  It is
  28.     not permitted to have an INBOX in more than one technology.
  29.  
  30.     [MRC]
  31.     Names which begin with an alphanumeric character, that is,
  32.     digits 0-9 and letters A-Z and a-z, are defined to be
  33.     ambiguous names.
  34.  
  35.     The rules below are defined and used by known c-client drivers to
  36. assist in specifying unambiguous names.  Note that not all of these
  37. are valid in all environments; in particularly, they require that the
  38. driver be appropriate for the local platform and lunk into the
  39. application.
  40.  
  41.      It is the responsibility of the author of any new drivers to
  42. define a set of rules for unambiguous naming which do not conflict
  43. with existing rules, and to see to it that this document is updated to
  44. register those new rules.  Any new rules should leave room for future
  45. rules in the namespace; it is *not* acceptable to have a rule which
  46. begins ``Names which begin with any other character than these...''!!
  47. Other than these two guidelines, there are no specific requirements
  48. for new rules.
  49.  
  50.     [MRC]
  51.     Names which begin with an ``/'' refer to objects in a
  52.     Unix filesystem, identified from the root.  Since there
  53.     may be multiple drivers which operate on objects in a
  54.     filesystem, it is necessary to examine the type of object
  55.     and its contents to determine the appropriate driver.
  56.  
  57.     [MRC]
  58.     Names which begin with an ``~'' refer to objects in a
  59.     Unix filesystem, identified from a home directory.  Since
  60.     there may be multiple drivers which operate on objects in a
  61.     filesystem, it is necessary to examine the type of object
  62.     and its contents to determine the appropriate driver.
  63.     [BUG: home directories other than than the logged-in user's
  64.      are not yet implemented.]
  65.  
  66.     [MRC]
  67.     Names which begin with an ``*'' character refer to bboards.
  68.     For example, ``*comp.mail.misc'' refers to the newsgroup
  69.     ``comp.mail.misc'' on the local system.  Remote names are
  70.     also allowed; ``*{newshost}comp.mail.misc'' refers to the
  71.     newsgroup ``comp.mail.misc'' on the system ``newshost'' via
  72.     IMAP.
  73.  
  74.     [MRC]
  75.     Names which begin with an ``{'' character refer to remote
  76.     mailboxes.  A remote mailbox is in the form
  77.      ``{'' host [``/'' switch [``='' value] [``:'' port] ``}'' [mailbox]
  78.     where:
  79.      host        remote host (name or bracketed IP address)
  80.      switch        switch specifying various options
  81.      value        value for switches which take values
  82.      port        IP port number
  83.      mailbox    local mailbox name at remote host
  84.     Switches may have be one of the following:
  85.      anonymous    specifies anonymous remote login
  86.      imap2        same as service=imap2
  87.      nntp        same as service=nntp
  88.      service    value specifies service to use
  89.     The default service is imap2, the default port is the normal
  90.     port for that service.
  91.  
  92.     [LGL]
  93.     <<<%Carmel% or whatever defined here>>>
  94.  
  95.      Naming rules for new drivers should be added above this line.
  96.  
  97.      The rule-makers are identified as follows:
  98.  
  99. [LGL] Laurence Lundblade, LGL@CAC.Washington.EDU
  100. [MRC] Mark Crispin, MRC@CAC.Washington.EDU
  101.  
  102.      Note that this document only defines names for c-client, and does
  103. not presume to define names at higher levels.  In particular, Pine uses
  104. and maintains a ``context'' layer between it and the user interface, and
  105. names are transformed by this context layer.
  106.