Module Development Collaboration

From CrossWire Bible Society

Revision as of 20:47, 27 June 2012 by Osk (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


VCS options

The following version control systems are proposed:

Directory structure


Contents of "module" directory


The module directory (e.g. GerElberfelder above) would contain all module-specific scripts necessary for converting source files to modules and other output formats. So general purpose scripts like would not appear here, instead being installed at some system-wide location outside the sword-modules tree.


Following the approximate lead of Sword SVN, keep a ChangeLog for each module in the format:

[date in ISO 8601 format: yyyy-mm-dd]\t[contributor name <contributor email>]\n \t[comments]


Let's use either GNU make for running scripts or possibly something more platform-independent like a Python or Perl script that calls other scripts. Ideally, we should be able to issue commands like:

make clean     (delete all output & intermediate format files)
make all       (make all supported targets: Sword/OSIS/EPUB/ThML/USFM/...)
make sword     (make Sword module plus any necessary intermediate formats, e.g. USFM & OSIS)
make epub      (make EPUB module plus any necessary intermediate formats)


Metadata should be collated into a single file (maybe something XML to facilitate validation for automated generation & parsing) the incorporates all necessary metadata for all of our output formats (OSIS, ThML, TEI, EPUB/MOBI, Sword). Investigate Dublin Core & other metadata standards. Consider developing a set of private-use extensions to an existing standard and consistent methods of encoding all of our relevant .conf values in OSIS/ThML/TEI files.

Personal tools