@node Workflow
@cindex workflow
@unnumbered Workflow

NNCP consists of several utilities. As a rule you will have the
following workflow:

@enumerate

@item Run @command{@ref{nncp-cfgnew}} on each node to create an initial
@ref{Configuration, configuration} file.

@item Tune it up and set at least @ref{Spool, spool} and log paths.

@item Share your public keys and reachability addressees with your
neighbours. Add their keys to your configuration file and do any other
required configuration about their reachability, permissions of file or
freq transmission.

@item Use @command{@ref{nncp-file}}, @command{@ref{nncp-freq}},
@command{@ref{nncp-exec}} (look @ref{Postfix, how} Postfix and
@ref{Exim, how} Exim SMTP servers could be configured) commands to queue
file, freq and exec transmissions. Repeat as many times any time as you
wish.

@item Depending on connection methods, either:
    @itemize
    @item run @command{@ref{nncp-daemon}} to accept remotely initiated
    connections to your node
    @item run either @command{@ref{nncp-call}} or
    @command{@ref{nncp-caller}} to initiate connection to required nodes
    from time to time
    @item use @command{@ref{nncp-xfer}} with removable storage devices
    for copying packets to/from other nodes
    @item use @command{@ref{nncp-bundle}} with either sequential storage
    devices or broadcasting transmissions for copying packets
    @end itemize

@item After successful packet exchanging (or just simply from time to
time), run @command{@ref{nncp-toss}} for tossing (decrypting and
processing) all inbound queues to receive exec messages, files, file
requests and relay transition packets to other nodes.

@item Optionally do not forget about explicit receipt acknowledgement
ability with @command{@ref{nncp-ack}}.

@end enumerate

@itemize
@item If you wish to encrypt your configuration file containing your
private keys, then use @command{@ref{nncp-cfgenc}} utility. You can
always use an encrypted config without decrypting it in temporary memory file.
@item If you wish to strip off any private keys from your config, then
use @command{@ref{nncp-cfgmin}} utility. It will be useful for transferring
messages with offline methods, but tossing them later on the machine
with private keys.
@end itemize
