Provided by: public-inbox_1.8.0-1_all bug

NAME

       public-inbox-glossary - glossary for public-inbox

DESCRIPTION

       public-inbox combines several independently-developed protocols and data formats with
       overlapping concepts.  This document is intended as a guide to identify and clarify
       overlapping concepts with different names.

       This is mainly intended for hackers of public-inbox, but may be useful for administrators
       of public-facing services and/or users building tools.

TERMS

       IMAP UID, NNTP article number, on-disk Xapian docid
               A sequentially-assigned positive integer.  These integers are per-inbox, or per-
               extindex.  This is the "num" column of the "over" table in "over.sqlite3"

       tid, THREADID
               A sequentially-assigned positive integer.  These integers are per-inbox or per-
               extindex.  In the future, this may be prefixed with "T" for JMAP (RFC 8621) and
               RFC 8474.  This may not be strictly compliant with RFC 8621 since inboxes and
               extindices are considered independent entities from each other.

               This is the "tid" column of the "over" table in "over.sqlite3"

       blob    For email, this is the git blob object ID (SHA-(1|256)) of an RFC-(822|2822|5322)
               email message.

       IMAP EMAILID, JMAP Email Id
               To-be-decided.  This will likely be the git blob ID prefixed with "g" rather than
               the numeric UID to accomodate the same blob showing up in both an extindex and
               inbox (or multiple extindices).

       newsgroup
               The name of the NNTP newsgroup, see public-inbox-config(5).

       IMAP (folder|mailbox) slice
               A 50K slice of a newsgroup to accomodate the limitations of IMAP clients with
               public-inbox-imapd(1).  This is the "newsgroup" name with a ".$INTEGER_SUFFIX",
               e.g. a newsgroup named "inbox.test" would have its first slice named
               "inbox.test.0", and second slice named "inbox.test.1" and so forth.

               If implemented, the RFC 8474 MAILBOXID of an IMAP slice will NOT have the same
               Mailbox Id as the public-facing full JMAP mailbox.

       inbox name, public JMAP mailbox name
               The HTTP(S) name of the public-inbox ("publicinbox.<name>.*").  JMAP will use this
               name rather than the newsgroup name since public-facing JMAP will be part of the
               PSGI code and not need a separate daemon like public-inbox-nntpd(1) or
               public-inbox-imapd(1)

       epoch   A git repository used for blob storage.  See "GIT EPOCHS" in
               public-inbox-v2-format(5).

       keywords, (IMAP|Maildir) flags, mbox Status + X-Status
               Private, per-message keywords or flags as described in RFC 8621 section 10.4.
               These are conveyed in the "Status:" and "X-Status:" headers for mbox(5), as system
               IMAP FLAGS (RFC 3501 section 2.3.2), or Maildir info flags.

               public-inbox-watch(1) ignores drafts and trashed (deleted) messages.
               lei-import(1) ignores trashed (deleted) messages, but it imports drafts.

       labels, private JMAP mailboxes
               For lei(1) users only.  This will allow lei users to place the same email into one
               or more virtual folders for ease-of-filtering.  This is NOT tied to public-inbox
               names, as messages stored by lei may not be public.

               These are similar in spirit to arbitrary freeform "tags" in mail software such as
               notmuch(1) and non-system IMAP FLAGS.

       volatile metadata (VMD)
               For lei(1) users only, this refers to the combination of keywords and labels which
               are subject to frequent change independently of immutable message content.

       IMAP INTERNALDATE, JMAP receivedAt, rt: search prefix
               The first valid timestamp value of Received: headers (top first).  If no Received:
               header exists, the Date: header is used, and the current time if neither header(s)
               exist.  When mirroring via git, this is the git commit time.

       IMAP SENT*, JMAP sentAt, dt: and d: search prefixes
               The first valid timestamp value of the Date: header(s).  If no Date: header
               exists, the time from the Received: header is used, and then the current time if
               neither header exists.  When mirroring via git, this is the git author time.

COPYRIGHT

       Copyright 2021 all contributors <mailto:meta@public-inbox.org>

       License: AGPL-3.0+ <http://www.gnu.org/licenses/agpl-3.0.txt>

SEE ALSO

       public-inbox-v2-format(5), public-inbox-v1-format(5), public-inbox-extindex-format(5),
       gitglossary(7)