Difference between revisions of "Creating and Maintaining a Module Repository"

From CrossWire Bible Society
Jump to: navigation, search
(Registering your repository with CrossWire)
 
(21 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
==A simple repository ==
 
==A simple repository ==
 
The most basic way to set up a remote repository is to simply point an anonymous  
 
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  
+
[http://en.wikipedia.org/wiki/File_Transfer_Protocol FTP] server to any working SWORD module installation (i.e. if  
 
'''/usr/share/sword''' works for your front-ends, then expose this directory  
 
'''/usr/share/sword''' works for your front-ends, then expose this directory  
via your FTP server and your module repository is done).  All C++ SWORD
+
via your FTP server and your module repository is done).   
front-ends should function properly from this.
+
 
 +
All our frontends should be able then to access this repository and download your modules.
  
 
== Complete layout of a larger module repository ==
 
== Complete layout of a larger module repository ==
  
In order to deal with all ways the various front-ends use our module [http://en.wikipedia.org/wiki/Repository repository] the following should be provided:
+
To optimize a repository with a larger number of modules, an archive file of the mods.d directory should be created.  The repository will work fine without this but adding the file will speed up use of the repository for remote users.
 
 
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 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/*
 
  tar czvf mods.d.tar.gz mods.d/*
  
== Zipped Modules ==
+
JSword front-ends require at the moment (though not for much longer) the presence of the modules as [[Zipped modules| zipped archive files]]. Having these available will also likely be a way in the future to make interaction with remote users faster.
 
 
Some of the smaller devices running a sword front-end 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 and for small devices)
 
* 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
 
 
 
It is currently necessary for JSword front ends and also helpful to users of small device front-ends.
 
 
 
=== MS Windows zip ===
 
 
 
This is a zip file which will selfextract on a MS Windows computer. To create it you require:
 
 
 
''missing content ''
 
 
 
This is not strictly necessary to provide, but it can be helpful if you intend to distribute largely to windows users, particularly those who have poor network access or are behind restrictive firewalls. They can simply download these zip files and distribute them directly via e.g USB sticks
 
 
 
=== MacOS X zip ===
 
 
 
Earlier version of MacSword relied on these instead of the module manager. Current versions can still use these files but do not require them any more. Hence this is not anymore required for a module repository.
 
  
 
== Registering your repository with CrossWire ==
 
== 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 (sword-devel@crosswire.org).  
+
Most front-ends can install modules from a number of repositories. All recognised repositories are listed in [[Official and Affiliated 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 (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. We will then decide whether we will list your repository as endorsed by us.
+
The module manager is 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. We would not endorse a repository that has content in breach of [[copyright]].
  
== References ==
+
== See also ==
# [http://www.amazon.com/s?ie=UTF8&tag=mozilla-20&index=blended&link_code=qs&field-keywords=Access%20Denied%3A%20The%20Practice%20and%20Policy%20of%20Global%20Internet%20Filtering Access Denied: The Practice and Policy of Global Internet Filtering (Information Revolution and Global Politics)].
 
  
 +
* [[Zipped modules]]
 +
* [[Modules_in_the_beta_repository|Testing status of Beta modules]]
  
  
 
[[Category:Guides|Creating and Maintaining a Module Repository]]
 
[[Category:Guides|Creating and Maintaining a Module Repository]]
 
[[Category:Modules|Creating and Maintaining a Module Repository]]
 
[[Category:Modules|Creating and Maintaining a Module Repository]]
 +
[[Category:Repositories|Creating and Maintaining a Module Repository]]

Latest revision as of 15:35, 10 January 2018

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

To optimize a repository with a larger number of modules, an archive file of the mods.d directory should 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/*

JSword front-ends require at the moment (though not for much longer) the presence of the modules as zipped archive files. Having these available will also likely be a way in the future to make interaction with remote users faster.

Registering your repository with CrossWire

Most front-ends can install modules from a number of repositories. All recognised repositories are listed in Official and Affiliated 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 (sword-devel@crosswire.org).

The module manager is 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. We would not endorse a repository that has content in breach of copyright.

See also