Difference between revisions of "Creating and Maintaining a Module Repository"
(→Layout of a Module repository) |
|||
Line 5: | Line 5: | ||
frontends should function properly from this. | frontends should function properly from this. | ||
− | == | + | == Complete layout of a larger module repository == |
In order to deal with all ways the various frontends use our module [http://en.wikipedia.org/wiki/Repository repository] the following should be provided: | In order to deal with all ways the various frontends use our module [http://en.wikipedia.org/wiki/Repository 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''') | + | 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 mnodules for JSword derrived front ends. This can also serve as a repository for smaller devices without integrated module manager. |
− | + | This needs to be accessible both via FTP and via HTTP (for direct download and for JSword) | |
− | + | To optimize a repository with quite a few 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 optimize repository | ||
+ | refresh times for the user if more than a couple modules exist in the | ||
+ | repository. | ||
− | |||
− | + | tar czvf mods.d.tar.gz mods.d/* | |
== Zipped Modules == | == Zipped Modules == |
Revision as of 17:36, 29 November 2008
The most basic way to setup 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 frontends, then expose this directory via your FTP server and your module repository is done). All C++ SWORD frontends should function properly from this.
Contents
Complete layout of a larger module repository
In order to deal with all ways the various frontends 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 mnodules for JSword derrived front ends. This can also serve as a repository for smaller devices without integrated module manager.
This needs to be accessible both via FTP and via HTTP (for direct download and for JSword)
To optimize a repository with quite a few 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 optimize repository refresh times for the user if more than a couple modules exist in the repository.
tar czvf mods.d.tar.gz mods.d/*
Zipped Modules
Some of the smaller devices running a sword frontend do not have a network enabled module manager. Users of these devices need to download their modules as zipped files and unzip them in the right place - e.g. a SD card.
It is also helpful for people who have no access to direct internet connections or live in countries with monitored access to the internet[1] to be able to download (and possibly distribute) zipped modules.
These come in three formats
- rawzip (required by JSword derrived front-ends)
- zip for MS Windows
- zip for Mac OSX
rawzip
This is a zipped archive of a module in the file and directory layout used in the local module directory.
E.g. to create from your own module directory a zipped module of a uncompressed GenBook do this:
cd ~ftp/pub/sword zip zip/mybook.zip mods.d/mybook.conf modules/genbook/rawgenbooks/mybook
MS Windows zip
This is a zip file which will selfextract on a MS Windows computer. To create it you require:
missing content
MacOS X zip
Earlier version of MacSword relied on these instead of the module manager. This is not anymore required for a module repository.
Registering your repository with CrossWire
Most frontends can install modules from a number of repositories. Several 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 (sword-devel@crosswire.org).
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