PUBLIC-INBOX-GLOSSARY(7)   public-inbox user manual   PUBLIC-INBOX-GLOSSARY(7)

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)

public-inbox.git                  1993-10-02          PUBLIC-INBOX-GLOSSARY(7)