Package: outernet-broadman
Collection of scripts for managing Outernet content repository.InstallingInstall using pip straight from the repository:pip install https://github.com/Outernet-Project/outernet-broadman/archive/master.zipGit also needs to be installed on your system.Note that only Unix/Linux systems are supported at this moment.Environment variablesBroadman scripts work on a content pool directory. Usually, you need to be in
the root of the content pool when using the commands. To work with the content
pool regardless of the current working directory, you can set theOUTERNET_CONTENTenvironment variable to the content pool path.OverviewThere are two main aspects when it comes to working with the content pool.
There is a master pool, which contains the actual content, and there are
servers which hold symlinks to content.Before we begin working on a content pool, we need to initialize it. Use the
following tool for the purpose:pinit- initialize content poolThe following tools are used for working with the content:zimport- import legacy zipball into master poolupdate- for making changes to content permanent, resetting and reverting
changeslschanged- listing changed contentTools for working with metadata metadata:mcat- viewing metadatamed- editing metadatamclean- clean up metadta filefilter- filter paths according to metadata rulesThe following tools are used for navigating the content pool:getpath- obtaining a path to content directory or symlink by content IDgetcid- obtaining content ID from content directory pathFor managing servers, these tools are available:srvadd- add content to serversrvdel- remove content from serversrvsync- sync backlog with serversUsing the toolsWe won’t go into each tool in detail. Instead we’ll take a look at some general
principles.All tools have--helpswitch that provides short usage notes and
descriptions of all arguments they take/require.Most tools can be used as usual by passing arguments to them, or they can be
used in a pipe. When used in a pipe, most tools will take content IDs and/or
paths. You can usually convert between paths and IDs usinggetpathandgetcidcommands in a pipe.Most tools will show their status as OK, ERR, or WARN. These are always output
to STDOUT. Additional error information can be output to STDERR. These messages
can be piped to a file to aid troubleshooting.Apart from conent IDs and paths, tools may have different switches that alter
their behavior. Some tools may require switches to be used.Tools can and should be used alongside common Unix tools like sed, awk, grep.The entire content pool is a Git repository. Common git techniques apply.
However, you should avoid using Git directly.Broadman tools will usually be able to get you where you need to be without too
much effort.  The tools output commit log messages in a particular
machine-readable format, which is the main reason direct usage of git should be
avoided.BacklogEvery time a content is added to or removed from a server, this is recorded in
a backlog file located at${OUTERNET_CONTENT}/.backlog. This file is in a
machine-readable format, and automation tools may be added later to help sync
the content pool changes to actual servers.Reporting bugsPlease report bugs and feature requests to theissue tracker.