enigma-bbs/messageareas/configuring-a-message-area....

2521 lines
26 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/png" sizes="16x16" href="/enigma-bbs/assets/images/favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="/enigma-bbs/assets/images/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="32x32" href="/enigma-bbs/assets/images/favicon-32x32.png">
<link rel="stylesheet" href="/enigma-bbs/assets/css/style.css?v=">
<!-- Begin Jekyll SEO tag v2.7.1 -->
<title>Message Base | ENiGMA½ BBS Software</title>
<meta name="generator" content="Jekyll v4.2.2" />
<meta property="og:title" content="Message Base" />
<meta property="og:locale" content="en_US" />
<meta name="description" content="General Information In ENiGMA½, a message base is divided into two logical grouping components: Message Conferences and Areas. Message conferences are top level containers while areas are for a specific topic. Messages are always stored internally with a area tag." />
<meta property="og:description" content="General Information In ENiGMA½, a message base is divided into two logical grouping components: Message Conferences and Areas. Message conferences are top level containers while areas are for a specific topic. Messages are always stored internally with a area tag." />
<meta property="og:site_name" content="ENiGMA½ BBS Software" />
<meta property="og:type" content="article" />
<meta property="article:published_time" content="2023-10-15T23:34:51+00:00" />
<meta name="twitter:card" content="summary" />
<meta property="twitter:title" content="Message Base" />
<script type="application/ld+json">
{"datePublished":"2023-10-15T23:34:51+00:00","description":"General Information In ENiGMA½, a message base is divided into two logical grouping components: Message Conferences and Areas. Message conferences are top level containers while areas are for a specific topic. Messages are always stored internally with a area tag.","mainEntityOfPage":{"@type":"WebPage","@id":"/enigma-bbs/messageareas/configuring-a-message-area.html"},"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"/enigma-bbs/assets/images/enigma-logo.png"}},"url":"/enigma-bbs/messageareas/configuring-a-message-area.html","@type":"BlogPosting","headline":"Message Base","dateModified":"2023-10-15T23:34:51+00:00","@context":"https://schema.org"}</script>
<!-- End Jekyll SEO tag -->
</head>
<body>
<div id="container">
<div class="sidebar" id="sidebar">
<hr class="mobile-divide">
<div class="container">
<a href="/enigma-bbs/"><img src="/enigma-bbs/assets/images/enigma-logo.png" class="logo" alt="Enigma logo"></a>
</div>
<ul>
<li>Installation</li>
<ul>
<li><a href="/enigma-bbs/installation/installation-methods.html">Installation Methods</a></li>
<li><a href="/enigma-bbs/installation/install-script.html">Install Script</a></li>
<li><a href="/enigma-bbs/installation/docker.html">Docker</a></li>
<li><a href="/enigma-bbs/installation/manual.html">Manual Installation</a></li>
<li>OS / Hardware Specific</li>
<ul>
<li><a href="/enigma-bbs/installation/hardware/rpi.html">Raspberry Pi</a></li>
<li><a href="/enigma-bbs/installation/hardware/windows.html">Installation Under Windows</a></li>
</ul>
<li><a href="/enigma-bbs/installation/network.html">Network Setup</a></li>
<li><a href="/enigma-bbs/installation/testing.html">Testing Your Installation</a></li>
<li><a href="/enigma-bbs/installation/production.html">Production Installation</a></li>
<li><a href="/enigma-bbs/installation/development.html">Development Environment Setup</a></li>
</ul>
<li>Configuration</li>
<ul>
<li><a href="/enigma-bbs/configuration/creating-config.html">Creating Initial Config Files</a></li>
<li><a href="/enigma-bbs/configuration/sysop-setup.html">SysOp Setup</a></li>
<li><a href="/enigma-bbs/configuration/config-files.html">Configuration Files</a></li>
<li><a href="/enigma-bbs/configuration/config-hjson.html">System Configuration</a></li>
<li><a href="/enigma-bbs/configuration/hjson.html">HJSON Config Files</a></li>
<li><a href="/enigma-bbs/configuration/menu-hjson.html">Menu HSJON</a></li>
<li><a href="/enigma-bbs/configuration/directory-structure.html">Directory Structure</a></li>
<li><a href="/enigma-bbs/configuration/external-binaries.html">External Support Binaries</a></li>
<li><a href="/enigma-bbs/configuration/archivers.html">Archivers</a></li>
<li><a href="/enigma-bbs/configuration/file-transfer-protocols.html">File Transfer Protocols</a></li>
<li><a href="/enigma-bbs/configuration/email.html">Email</a></li>
<li><a href="/enigma-bbs/configuration/colour-codes.html">Colour Codes</a></li>
<li><a href="/enigma-bbs/configuration/event-scheduler.html">Event Scheduler</a></li>
<li><a href="/enigma-bbs/configuration/acs.html">Access Condition System (ACS)</a></li>
<li><a href="/enigma-bbs/configuration/security.html">Security</a></li>
</ul>
<li>Miscellaneous</li>
<ul>
<li><a href="/enigma-bbs/misc/user-interrupt.html">User Interruptions</a></li>
</ul>
<li>File Base</li>
<ul>
<li><a href="/enigma-bbs/filebase/index.html">About File Areas</a></li>
<li><a href="/enigma-bbs/filebase/first-file-area.html">Configuring a File Base</a></li>
<li><a href="/enigma-bbs/filebase/acs.html">ACS</a></li>
<li><a href="/enigma-bbs/filebase/uploads.html">Uploads</a></li>
<li><a href="/enigma-bbs/filebase/web-access.html">Web Access</a></li>
<li><a href="/enigma-bbs/filebase/tic-support.html">TIC Support</a></li>
<li><a href="/enigma-bbs/filebase/network-mounts-and-symlinks.html">Network Mounts &amp; Symlinks</a></li>
</ul>
<li>Message Areas</li>
<ul>
<li class="active-nav">Message Base</li>
<li><a href="/enigma-bbs/messageareas/message-networks.html">Message Networks</a></li>
<li><a href="/enigma-bbs/messageareas/bso-import-export.html">BSO Import / Export</a></li>
<li><a href="/enigma-bbs/messageareas/netmail.html">Netmail</a></li>
<li><a href="/enigma-bbs/messageareas/qwk.html">QWK Support</a></li>
<li><a href="/enigma-bbs/messageareas/ftn.html">FidoNet-Style Networks (FTN)</a></li>
</ul>
<li>Art</li>
<ul>
<li><a href="/enigma-bbs/art/general.html">General Art Information</a></li>
<li><a href="/enigma-bbs/art/themes.html">Themes</a></li>
<li><a href="/enigma-bbs/art/mci.html">MCI Codes</a></li>
<li>Views</li>
<ul>
<li><a href="/enigma-bbs/art/views/button_view.html">Button View</a></li>
<li><a href="/enigma-bbs/art/views/edit_text_view.html">Edit Text View</a></li>
<li><a href="/enigma-bbs/art/views/full_menu_view.html">Full Menu View</a></li>
<li><a href="/enigma-bbs/art/views/horizontal_menu_view.html">Horizontal Menu View</a></li>
<li><a href="/enigma-bbs/art/views/mask_edit_text_view.html">Mask Edit Text View</a></li>
<li><a href="/enigma-bbs/art/views/multi_line_edit_text_view.html">Multi Line Edit Text View</a></li>
<li><a href="/enigma-bbs/art/views/spinner_menu_view.html">Spinner Menu View</a></li>
<li><a href="/enigma-bbs/art/views/text_view.html">Text View</a></li>
<li><a href="/enigma-bbs/art/views/toggle_menu_view.html">Toggle Menu View</a></li>
<li><a href="/enigma-bbs/art/views/vertical_menu_view.html">Vertical Menu View</a></li>
</ul>
</ul>
<li>Servers</li>
<ul>
<li>Login Servers</li>
<ul>
<li><a href="/enigma-bbs/servers/loginservers/telnet.html">Telnet Server</a></li>
<li><a href="/enigma-bbs/servers/loginservers/ssh.html">SSH Server</a></li>
<li><a href="/enigma-bbs/servers/loginservers/websocket.html">Web Socket / Web Interface Server</a></li>
</ul>
<li>Content Servers</li>
<ul>
<li><a href="/enigma-bbs/servers/contentservers/web-server.html">Web Server</a></li>
<li><a href="/enigma-bbs/servers/contentservers/gopher.html">Gopher Server</a></li>
<li><a href="/enigma-bbs/servers/contentservers/nntp.html">NNTP Server</a></li>
</ul>
</ul>
<li>Modding</li>
<ul>
<li><a href="/enigma-bbs/modding/local-doors.html">Local Doors</a></li>
<li><a href="/enigma-bbs/modding/door-servers.html">Door Servers</a></li>
<li><a href="/enigma-bbs/modding/telnet-bridge.html">Telnet Bridge</a></li>
<li><a href="/enigma-bbs/modding/existing-mods.html">Existing Mods</a></li>
<li><a href="/enigma-bbs/modding/file-area-list.html">File Area List</a></li>
<li><a href="/enigma-bbs/modding/last-callers.html">Last Callers</a></li>
<li><a href="/enigma-bbs/modding/whos-online.html">Who's Online</a></li>
<li><a href="/enigma-bbs/modding/user-list.html">User List</a></li>
<li><a href="/enigma-bbs/modding/msg-conf-list.html">Message Conference List</a></li>
<li><a href="/enigma-bbs/modding/msg-area-list.html">Message Area List</a></li>
<li><a href="/enigma-bbs/modding/bbs-list.html">BBS List</a></li>
<li><a href="/enigma-bbs/modding/rumorz.html">Rumorz</a></li>
<li><a href="/enigma-bbs/modding/file-transfer-protocol-select.html">File Transfer Protocol Select</a></li>
<li><a href="/enigma-bbs/modding/onelinerz.html">Onelinerz</a></li>
<li><a href="/enigma-bbs/modding/show-art.html">The Show Art Module</a></li>
<li><a href="/enigma-bbs/modding/file-base-download-manager.html">File Base Download Manager</a></li>
<li><a href="/enigma-bbs/modding/file-base-web-download-manager.html">File Base Web Download Manager</a></li>
<li><a href="/enigma-bbs/modding/set-newscan-date.html">Set Newscan Date Module</a></li>
<li><a href="/enigma-bbs/modding/node-msg.html">Node to Node Messaging</a></li>
<li><a href="/enigma-bbs/modding/top-x.html">TopX</a></li>
<li><a href="/enigma-bbs/modding/user-2fa-otp-config.html">2FA/OTP Config</a></li>
<li><a href="/enigma-bbs/modding/autosig-edit.html">Auto Signature Editor</a></li>
<li><a href="/enigma-bbs/modding/menu-modules.html">Menu Modules</a></li>
</ul>
<li>Administration</li>
<ul>
<li><a href="/enigma-bbs/admin/administration.html">Administration</a></li>
</ul>
<li>Modding</li>
<ul>
<li><a href="/enigma-bbs/modding/wfc.html">Waiting For Caller (WFC)</a></li>
</ul>
<li>Administration</li>
<ul>
<li><a href="/enigma-bbs/admin/oputil.html">oputil</a></li>
<li><a href="/enigma-bbs/admin/updating.html">Updating</a></li>
</ul>
<li>Troubleshooting</li>
<ul>
<li><a href="/enigma-bbs/troubleshooting/monitoring-logs.html">Monitoring Logs</a></li>
<li><a href="/enigma-bbs/troubleshooting/ssh-troubleshooting.html">Troubleshooting SSH</a></li>
</ul>
</ul>
</div>
<div class="main_area">
<div class="container">
<section id="main_content">
<div class="PageNavigation">
<a class="btn" style="float:left;margin-right: 20px;" href="/enigma-bbs/filebase/network-mounts-and-symlinks.html">« Network Mounts &amp; Symlinks</a>
<a href="#sidebar" class="btn menu_button">MENU</a>
<a class="btn" style="float: right;margin-left: 20px" href="/enigma-bbs/messageareas/message-networks.html">Message Networks »</a>
<br clear="both">
</div>
<div class="page">
<h1 class="page-title">Message Base</h1>
<h2 id="general-information">General Information</h2>
<p>In ENiGMA½, a message base is divided into two logical grouping components: <strong>Message Conferences</strong> and <strong>Areas</strong>. Message conferences are top level containers while areas are for a specific topic. Messages are always stored internally with a area tag.</p>
<h2 id="conferences">Conferences</h2>
<p>Message Conferences are the top level container for <em>1:n</em> Message <em>Areas</em> via the <code class="language-plaintext highlighter-rouge">messageConferences</code> block in <code class="language-plaintext highlighter-rouge">config.hjson</code>. A common setup may include a local conference and one or more conferences each dedicated to a particular message network such as fsxNet, ArakNet, etc.</p>
<p>Each conference is represented by a entry under <code class="language-plaintext highlighter-rouge">messageConferences</code>. Each entries top level key is its <em>conference tag</em>.</p>
<blockquote>
<p><img class="emoji" title=":bulb:" alt=":bulb:" src="https://github.githubassets.com/images/icons/emoji/unicode/1f4a1.png" height="20" width="20"> It is <strong>highly</strong> recommended to use snake_case style message <em>conference tags</em> and <em>area tags</em>!</p>
</blockquote>
<table>
<thead>
<tr>
<th>Config Item</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code class="language-plaintext highlighter-rouge">name</code></td>
<td><img class="emoji" title=":+1:" alt=":+1:" src="https://github.githubassets.com/images/icons/emoji/unicode/1f44d.png" height="20" width="20"></td>
<td>Friendly conference name</td>
</tr>
<tr>
<td><code class="language-plaintext highlighter-rouge">desc</code></td>
<td><img class="emoji" title=":+1:" alt=":+1:" src="https://github.githubassets.com/images/icons/emoji/unicode/1f44d.png" height="20" width="20"></td>
<td>Friendly conference description.</td>
</tr>
<tr>
<td><code class="language-plaintext highlighter-rouge">sort</code></td>
<td><img class="emoji" title=":-1:" alt=":-1:" src="https://github.githubassets.com/images/icons/emoji/unicode/1f44e.png" height="20" width="20"></td>
<td>Set to a number to override the default alpha-numeric sort order based on the <code class="language-plaintext highlighter-rouge">name</code> field.</td>
</tr>
<tr>
<td><code class="language-plaintext highlighter-rouge">default</code></td>
<td><img class="emoji" title=":-1:" alt=":-1:" src="https://github.githubassets.com/images/icons/emoji/unicode/1f44e.png" height="20" width="20"></td>
<td>Specify <code class="language-plaintext highlighter-rouge">true</code> to make this the default conference (e.g. assigned to new users)</td>
</tr>
<tr>
<td><code class="language-plaintext highlighter-rouge">areas</code></td>
<td><img class="emoji" title=":+1:" alt=":+1:" src="https://github.githubassets.com/images/icons/emoji/unicode/1f44d.png" height="20" width="20"></td>
<td>Container of 1:n areas described below</td>
</tr>
<tr>
<td><code class="language-plaintext highlighter-rouge">acs</code></td>
<td><img class="emoji" title=":-1:" alt=":-1:" src="https://github.githubassets.com/images/icons/emoji/unicode/1f44e.png" height="20" width="20"></td>
<td>A standard <a href="/enigma-bbs/configuration/acs.html">ACS</a> block. See <strong>ACS</strong> below.</td>
</tr>
</tbody>
</table>
<h3 id="acs">ACS</h3>
<p>An optional standard <a href="/enigma-bbs/configuration/acs.html">ACS</a> block can be supplied with the following rules:</p>
<ul>
<li>
<code class="language-plaintext highlighter-rouge">read</code>: ACS required to read (see) this conference. Defaults to <code class="language-plaintext highlighter-rouge">GM[users]</code>.</li>
<li>
<code class="language-plaintext highlighter-rouge">write</code>: ACS required to write (post) to this conference. Defaults to <code class="language-plaintext highlighter-rouge">GM[users]</code>.</li>
</ul>
<h3 id="example">Example</h3>
<pre><code class="language-hjson">{
messageConferences: {
local: { // conference tag
name: Local
desc: Local discussion
sort: 1
default: true
acs: {
read: GM[users] // default
}
}
}
}
</code></pre>
<h2 id="message-areas">Message Areas</h2>
<p>Message Areas are topic specific containers for messages that live within a particular conference. The top level key for an area sets its <em>area tag</em>. For example, “General Discussion” may live under a Local conference while an fsxNet conference may contain “BBS Discussion”.</p>
<table>
<thead>
<tr>
<th>Config Item</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code class="language-plaintext highlighter-rouge">name</code></td>
<td><img class="emoji" title=":+1:" alt=":+1:" src="https://github.githubassets.com/images/icons/emoji/unicode/1f44d.png" height="20" width="20"></td>
<td>Friendly area name.</td>
</tr>
<tr>
<td><code class="language-plaintext highlighter-rouge">desc</code></td>
<td><img class="emoji" title=":+1:" alt=":+1:" src="https://github.githubassets.com/images/icons/emoji/unicode/1f44d.png" height="20" width="20"></td>
<td>Friendly area description.</td>
</tr>
<tr>
<td><code class="language-plaintext highlighter-rouge">sort</code></td>
<td><img class="emoji" title=":-1:" alt=":-1:" src="https://github.githubassets.com/images/icons/emoji/unicode/1f44e.png" height="20" width="20"></td>
<td>Set to a number to override the default alpha-numeric sort order based on the <code class="language-plaintext highlighter-rouge">name</code> field.</td>
</tr>
<tr>
<td><code class="language-plaintext highlighter-rouge">default</code></td>
<td><img class="emoji" title=":-1:" alt=":-1:" src="https://github.githubassets.com/images/icons/emoji/unicode/1f44e.png" height="20" width="20"></td>
<td>Specify <code class="language-plaintext highlighter-rouge">true</code> to make this the default area (e.g. assigned to new users)</td>
</tr>
<tr>
<td><code class="language-plaintext highlighter-rouge">acs</code></td>
<td><img class="emoji" title=":-1:" alt=":-1:" src="https://github.githubassets.com/images/icons/emoji/unicode/1f44e.png" height="20" width="20"></td>
<td>A standard <a href="/enigma-bbs/configuration/acs.html">ACS</a> block. See <strong>ACS</strong> below.</td>
</tr>
<tr>
<td><code class="language-plaintext highlighter-rouge">autoSignatures</code></td>
<td><img class="emoji" title=":-1:" alt=":-1:" src="https://github.githubassets.com/images/icons/emoji/unicode/1f44e.png" height="20" width="20"></td>
<td>Set to <code class="language-plaintext highlighter-rouge">false</code> to disable auto-signatures in this area.</td>
</tr>
<tr>
<td><code class="language-plaintext highlighter-rouge">realNames</code></td>
<td><img class="emoji" title=":-1:" alt=":-1:" src="https://github.githubassets.com/images/icons/emoji/unicode/1f44e.png" height="20" width="20"></td>
<td>Set to <code class="language-plaintext highlighter-rouge">true</code> to use real names in this area.</td>
</tr>
</tbody>
</table>
<h3 id="acs-1">ACS</h3>
<p>An optional standard <a href="/enigma-bbs/configuration/acs.html">ACS</a> block can be supplied with the following rules:</p>
<ul>
<li>
<code class="language-plaintext highlighter-rouge">read</code>: ACS required to read (see) this area. Defaults to <code class="language-plaintext highlighter-rouge">GM[users]</code>.</li>
<li>
<code class="language-plaintext highlighter-rouge">write</code>: ACS required to write (post) to this area. Defaults to <code class="language-plaintext highlighter-rouge">GM[users]</code>.</li>
</ul>
<h3 id="example-1">Example</h3>
<pre><code class="language-hjson">messageConferences: {
local: {
// ... see above ...
areas: {
enigma_dev: { // Area tag - required elsewhere!
name: ENiGMA 1/2 Development
desc: ENiGMA 1/2 development and discussion!
sort: 1
default: true
acs: {
read: GM[users] // default
write: GM[l33t] // super elite ENiGMA 1/2 users!
}
}
}
}
}
</code></pre>
<h2 id="importing">Importing</h2>
<p>FidoNet style <code class="language-plaintext highlighter-rouge">.na</code> files as well as legacy <code class="language-plaintext highlighter-rouge">AREAS.BBS</code> files in common formats can be imported using <code class="language-plaintext highlighter-rouge">oputil.js mb import-areas</code>. See <a href="/enigma-bbs/admin/oputil.html">The oputil CLI</a> for more information and usage.</p>
</div>
<div class="PageNavigation">
<a class="btn" style="float:left;margin-right: 20px;" href="/enigma-bbs/filebase/network-mounts-and-symlinks.html">« Network Mounts &amp; Symlinks</a>
<a class="btn" style="float: right;margin-left: 20px" href="/enigma-bbs/messageareas/message-networks.html">Message Networks »</a>
<br clear="both">
</div>
</section>
</div>
</div>
</div>
</body>
</html>