Difference between revisions of "Module Development Collaboration"
From CrossWire Bible Society
(whiteboarding a module dev VCS) |
|||
Line 8: | Line 8: | ||
== Directory structure == | == Directory structure == | ||
− | ROOT/ | + | ROOT/modtype/language/module/formats/ |
* sword-modules | * sword-modules | ||
Line 21: | Line 21: | ||
**** GerLuther | **** GerLuther | ||
**** GerElberfelder | **** GerElberfelder | ||
− | ***** orig | + | ***** orig -- source docs from publisher/author |
− | ***** sword -- compiled Sword module | + | ***** sword -- compiled Sword module |
− | ***** osis | + | ***** gobible -- compiled GoBible module |
− | ***** thml | + | ***** osis -- OSIS docs for osis2mod or sharing with publisher/3rd parties |
− | ***** usfm | + | ***** thml -- ThML for import to GoBible? |
− | ***** usx | + | ***** usfm -- USFM for sharing with author or as an intermediate step in conversion |
− | ***** epub | + | ***** usx -- USX for sharing with author or as an intermediate step in conversion |
+ | ***** epub -- EPUB for publishing to ebooks | ||
+ | |||
+ | === Contents of "module" directory === | ||
+ | |||
+ | ==== Scripts ==== | ||
+ | |||
+ | 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 usfm2osis.pl would not appear here, instead being installed at some system-wide location outside the sword-modules tree. | ||
+ | |||
+ | ==== ChangeLog ==== | ||
+ | |||
+ | 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>] | ||
+ | \t[comments] | ||
+ | |||
+ | ==== Makefile ==== | ||
+ | |||
+ | 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) |
Revision as of 20:26, 22 June 2012
Contents
VCS options
- Git
- Git + SparkleShare/dvcs-autosync
- SVN
Directory structure
ROOT/modtype/language/module/formats/
- sword-modules
- comments
- genbook
- lexdict
- texts
- en
- fr
- es
- de
- GerLuther
- GerElberfelder
- orig -- source docs from publisher/author
- sword -- compiled Sword module
- gobible -- compiled GoBible module
- osis -- OSIS docs for osis2mod or sharing with publisher/3rd parties
- thml -- ThML for import to GoBible?
- usfm -- USFM for sharing with author or as an intermediate step in conversion
- usx -- USX for sharing with author or as an intermediate step in conversion
- epub -- EPUB for publishing to ebooks
Contents of "module" directory
Scripts
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 usfm2osis.pl would not appear here, instead being installed at some system-wide location outside the sword-modules tree.
ChangeLog
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>] \t[comments]
Makefile
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)