Creating and Maintaining a Module Repository

From CrossWire Bible Society
Revision as of 08:18, 5 November 2010 by Refdoc (Talk | contribs)

Jump to: navigation, search

A simple repository

The most basic way to set up a remote repository is to simply point an anonymous FTP server to any working SWORD module installation (i.e. if /usr/share/sword works for your front-ends, then expose this directory via your FTP server and your module repository is done).

All our frontends should be able then to access this repository and download your modules.

Complete layout of a larger module repository

In order to deal with all ways the various front-ends use our module repository the following should be provided:

An echo of the mods.d and modules area as found under any Sword module area on your system (e.g. ~/.sword) a directory with zipped modules for JSword derived front-ends. This can also serve as a repository for smaller devices without integrated module manager.

This needs to be accessible either via FTP or via HTTP, preferentially by both. FTP is more reliable for a variety of reasons.

To optimize a repository with a larger number of modules, the mods.d.tar.g archive file of the mods.d directory can be created. The repository will work fine without this but adding the file will speed up use of the repository for remote users.

tar czvf mods.d.tar.gz mods.d/*

Registering your repository with CrossWire

Most front-ends can install modules from a number of repositories. All recognised repositories are listed in Module Repositories. These repositories are well established with CrossWire and are maintained by various developers. If you or your organisation have set up your own repository, please announce it on the mailing list (

From libsword-1.5.12 onwards the module manager will also be able to load dynamically a list of active and accepted repositories. To enable your repository for this list please contact CrossWire. We will then decide whether we will list your repository as endorsed by us.


  1. Access Denied: The Practice and Policy of Global Internet Filtering (Information Revolution and Global Politics).

see also

Zipped modules