Difference between revisions of "DevTools:Modules"

From CrossWire Bible Society
Jump to: navigation, search
(.conf File Layout: added TEI)
m (Added a column to table to indicate more about the elements)
Line 12: Line 12:
 
The conf file tell the Sword engine how to treat installed module files, etc. which kind of markup they contain, and so forth.
 
The conf file tell the Sword engine how to treat installed module files, etc. which kind of markup they contain, and so forth.
  
Each conf file begins with [name]. This must be on the first line, and start the first line. It can only contain A-Z, a-z and 0-9. It should be a short, well known abbreviation.
 
  
Below is a listing of the possible directives in that file. Each of these directives of the form key=value.
+
Below is a listing of the possible directives in that file. Each of these directives of the form key=value. Some keys can be repeated. Some can have values that span more than 1 line with '\' at the end of a line indicating that the text on the next line continues the value. Some values allow RTF and some allow HTML <a href="xxx">label&lt/a>hypertext links. HTML is not allowed otherwise.
 +
 
 +
 
 +
Enumerated values are shown in bold. These should be used exactly as given and no other values should be used.
  
 
<table width="100%" border="1">
 
<table width="100%" border="1">
 
   <tr>
 
   <tr>
<th width="26%">Element</th>
+
<th>Element</th>
<th width="63%">Values (type or enumerated)</th>
+
<th>Values (type or enumerated)</th>
<th width="11%">Default Value</th>
+
<th>Default Value</th>
 +
<th>Allows</th>
 +
  </tr>
 +
  <tr>
 +
<th colspan="4">Required Elements</th>
 
   </tr>
 
   </tr>
 
   <tr>
 
   <tr>
<th colspan="3">Required Elements</th>
+
<td>[name]</td>
 +
<td>Each conf file begins with [name], replacing "name" with be a short well known abbreviation. This must be on the first line, and start the first line. It can only contain A-Z, a-z and 0-9.</td>
 +
<td>&nbsp;</td>
 +
<td>&nbsp;</td>
 
   </tr>
 
   </tr>
 
   <tr>
 
   <tr>
 
<td>DataPath</td>
 
<td>DataPath</td>
<td>&lt;relative system path&gt;</td>
+
<td>&lt;relative system path&gt;<br/>
 +
This path should start with "./modules". If the DataPath indicates a directory it should end with a '/'. </td>
 +
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 
   </tr>
 
   </tr>
Line 33: Line 44:
 
<td>Description</td>
 
<td>Description</td>
 
<td>&lt;string&gt;</td>
 
<td>&lt;string&gt;</td>
 +
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 
   </tr>
 
   </tr>
 
   <tr>  
 
   <tr>  
 
<td>ModDrv</td>
 
<td>ModDrv</td>
<td>RawText<br/>zText<br/>RawCom<br/>RawCom4<br/>zCom<br/>HREFCom<br/>RawFiles<br/>RawLD<br/>RawLD4<br/>zLD<br/>RawGenBook</td>
+
<td><b>RawText</b><br/><b>zText</b><br/><b>RawCom</b><br/><b>RawCom4</b><br/><b>zCom</b><br/><b>HREFCom</b><br/><b>RawFiles</b><br/><b>RawLD</b><br/><b>RawLD4</b><br/><b>zLD</b><br/><b>RawGenBook</b></td>
 +
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 
   </tr>
 
   </tr>
 
   <tr>
 
   <tr>
<th colspan="3">Elements required for proper module access</th>
+
<th colspan="4">Elements required for proper module access</th>
 
   </tr>
 
   </tr>
 
   <tr>
 
   <tr>
 
<td>CipherKey</td>
 
<td>CipherKey</td>
 
<td>&lt;string&gt; (typically in a format matching the pattern: /[0-9]{4}[A-Za-z]{4}[0-9]{4}[A-Za-z]{4}/</td>
 
<td>&lt;string&gt; (typically in a format matching the pattern: /[0-9]{4}[A-Za-z]{4}[0-9]{4}[A-Za-z]{4}/</td>
 +
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 
   </tr>
 
   </tr>
 
   <tr>
 
   <tr>
 
<td>BlockType</td>
 
<td>BlockType</td>
<td>BOOK<br/>CHAPTER<br/>VERSE</td>
+
<td><b>BOOK</b><br/><b>CHAPTER</b><br/><b>VERSE</b></td>
 
<td>CHAPTER</td>
 
<td>CHAPTER</td>
 +
<td>&nbsp;</td>
 
   </tr>
 
   </tr>
 
   <tr>
 
   <tr>
 
<td>CompressType</td>
 
<td>CompressType</td>
<td>ZIP<br/>LZSS</td>
+
<td><b>ZIP</b><br/><b>LZSS</b></td>
 
<td>LZSS</td>
 
<td>LZSS</td>
 +
<td>&nbsp;</td>
 
   </tr>
 
   </tr>
 
   <tr>  
 
   <tr>  
Line 62: Line 78:
 
<td>&lt;integer&gt;</td>
 
<td>&lt;integer&gt;</td>
 
<td>200</td>
 
<td>200</td>
 +
<td>&nbsp;</td>
 
   </tr>
 
   </tr>
 
   <tr>
 
   <tr>
<th colspan="3">Elements required for proper rendering</th>
+
<th colspan="4">Elements required for proper rendering</th>
 
   </tr>
 
   </tr>
 
   <tr>
 
   <tr>
 
<td>GlobalOptionFilter</td>
 
<td>GlobalOptionFilter</td>
 
<td>
 
<td>
GBFStrongs<br/>GBFFootnotes<br/>GBFScripref<br/>GBFMorph<br/>GBFHeadings<br/>
+
<b>GBFStrongs</b><br/><b>GBFFootnotes</b><br/><b>GBFScripref</b><br/><b>GBFMorph</b><br/><b>GBFHeadings</b><br/><b>
ThMLStrongs<br/>ThMLFootnotes<br/>ThMLScripref<br/>ThMLMorph<br/>ThMLHeadings<br/>ThMLVariants<br/>ThMLLemma<br/>
+
ThMLStrongs</b><br/><b>ThMLFootnotes</b><br/><b>ThMLScripref</b><br/><b>ThMLMorph</b><br/><b>ThMLHeadings</b><br/><b>ThMLVariants</b><br/><b>ThMLLemma</b><br/><b>
UTF8Cantillation<br/>UTF8GreekAccents<br/>UTF8HebrewVowels<br/>
+
UTF8Cantillation</b><br/><b>UTF8GreekAccents</b><br/><b>UTF8HebrewVowels</b><br/><b>
OSISStrongs<br/>OSISFootnotes<br/>OSISScripref<br/>OSISMorph<br/>OSISHeadings<br/>OSISRedLetterWords
+
OSISStrongs</b><br/><b>OSISFootnotes</b><br/><b>OSISScripref</b><br/><b>OSISMorph</b><br/><b>OSISHeadings</b><br/><b>OSISRedLetterWords</b>
 
         </td>
 
         </td>
 
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 +
<td>Repeats</td>
 
   </tr>
 
   </tr>
 
   <tr>
 
   <tr>
 
<td>Direction</td>
 
<td>Direction</td>
<td>RtoL, LtoR</td>
+
<td><b>RtoL</b><br/><b>LtoR</b></td>
 
<td>LtoR</td>
 
<td>LtoR</td>
 +
<td>&nbsp;</td>
 
   </tr>
 
   </tr>
 
   <tr>
 
   <tr>
 
<td>SourceType</td>
 
<td>SourceType</td>
<td>Plaintext<br/>GBF<br/>ThML<br/>OSIS<br/>TEI</td>
+
<td><b>Plaintext</b><br/><b>GBF</b><br/><b>ThML</b><br/><b>OSIS</b><br/><b>TEI</b></td>
 
<td>Plaintext</td>
 
<td>Plaintext</td>
 +
<td>&nbsp;</td>
 
   </tr>
 
   </tr>
 
   <tr>  
 
   <tr>  
 
<td>Encoding</td>
 
<td>Encoding</td>
<td>UTF-8<br/>Latin-1</td>
+
<td><b>UTF-8</b><br/><b>Latin-1</b></td>
 
<td>Latin-1</td>
 
<td>Latin-1</td>
 +
<td>&nbsp;</td>
 
   </tr>
 
   </tr>
 
   <tr>
 
   <tr>
Line 95: Line 116:
 
<td>&lt;integer&gt;</td>
 
<td>&lt;integer&gt;</td>
 
<td>1</td>
 
<td>1</td>
 +
<td>&nbsp;</td>
 
   </tr>
 
   </tr>
 
   <tr>  
 
   <tr>  
 
<td>Font</td>
 
<td>Font</td>
 
<td>&lt;string&gt;</td>
 
<td>&lt;string&gt;</td>
 +
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 
   </tr>
 
   </tr>
Line 105: Line 128:
 
<td>true/false</td>
 
<td>true/false</td>
 
<td>true</td>
 
<td>true</td>
 +
<td>&nbsp;</td>
 
   </tr>
 
   </tr>
 
   <tr>
 
   <tr>
<th colspan="3">elements to indicate features</th>
+
<th colspan="4">elements to indicate features</th>
 
   </tr>
 
   </tr>
 
   <tr>  
 
   <tr>  
 
<td>Feature</td>
 
<td>Feature</td>
<td>StrongsNumbers<br/>GreekDef<br/>HebrewDef<br/>GreekParse<br/>HebrewParse<br/>DailyDevotion<br/>Glossary</td>
+
<td><b>StrongsNumbers</b><br/><b>GreekDef</b><br/><b>HebrewDef</b><br/><b>GreekParse</b><br/><b>HebrewParse</b><br/><b>DailyDevotion</b><br/><b>Glossary</b></td>
 
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 +
<td>Repeats</td>
 
   </tr>
 
   </tr>
 
   <tr>  
 
   <tr>  
 
<td>GlossaryFrom</td>
 
<td>GlossaryFrom</td>
 
<td>&lt;OSIS:Lang identifier&gt;</td>
 
<td>&lt;OSIS:Lang identifier&gt;</td>
 +
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 
   </tr>
 
   </tr>
Line 122: Line 148:
 
<td>GlossaryTo</td>
 
<td>GlossaryTo</td>
 
<td>&lt;OSIS:Lang identifier&gt;</td>
 
<td>&lt;OSIS:Lang identifier&gt;</td>
 +
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 
   </tr>
 
   </tr>
 
   <tr>  
 
   <tr>  
<th colspan="3">General informatic and installer elements</th>
+
<th colspan="4">General informatic and installer elements</th>
 
   </tr>
 
   </tr>
 
   <tr>
 
   <tr>
Line 131: Line 158:
 
<td>&lt;string&gt;</td>
 
<td>&lt;string&gt;</td>
 
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 +
<td>Continuation<br/>RTF</td>
 
   </tr>
 
   </tr>
 
   <tr>  
 
   <tr>  
Line 136: Line 164:
 
<td>&lt;version string&gt;</td>
 
<td>&lt;version string&gt;</td>
 
<td>1.0</td>
 
<td>1.0</td>
 +
<td>&nbsp;</td>
 
   </tr>
 
   </tr>
 
   <tr>
 
   <tr>
Line 141: Line 170:
 
<td>&lt;string&gt;</td>
 
<td>&lt;string&gt;</td>
 
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 +
<td>Repeats</td>
 
   </tr>
 
   </tr>
 
   <tr>  
 
   <tr>  
Line 146: Line 176:
 
<td>&lt;version string&gt;</td>
 
<td>&lt;version string&gt;</td>
 
<td>1.5.1a</td>
 
<td>1.5.1a</td>
 +
<td>&nbsp;</td>
 
   </tr>
 
   </tr>
 
   <tr>
 
   <tr>
 
<td>Category</td>
 
<td>Category</td>
<td>Daily Devotional<br/>Glossaries<br/>Cults / Unorthodox / Questionable Material<br/>Essays</td>
+
<td><b>Daily Devotional</b><br/><b>Glossaries</b><br/><b>Cults / Unorthodox / Questionable Material</b><br/><b>Essays</b></td>
 +
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 
   </tr>
 
   </tr>
Line 155: Line 187:
 
<td>LCSH</td>
 
<td>LCSH</td>
 
<td>&lt;tree/string&gt;</td>
 
<td>&lt;tree/string&gt;</td>
 +
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 
   </tr>
 
   </tr>
Line 161: Line 194:
 
<td>&lt;OSIS:Lang identifier&gt;</td>
 
<td>&lt;OSIS:Lang identifier&gt;</td>
 
<td>en</td>
 
<td>en</td>
 +
<td>&nbsp;</td>
 
   </tr>
 
   </tr>
 
   <tr>  
 
   <tr>  
 
<td>InstallSize</td>
 
<td>InstallSize</td>
 
<td>&lt;integer (indicating bytes)&gt;</td>
 
<td>&lt;integer (indicating bytes)&gt;</td>
 +
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 
   </tr>
 
   </tr>
Line 170: Line 205:
 
<td>SwordVersionDate</td>
 
<td>SwordVersionDate</td>
 
<td>&lt;ISO date string (yyyy-mm-dd)&gt;</td>
 
<td>&lt;ISO date string (yyyy-mm-dd)&gt;</td>
 +
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 
   </tr>
 
   </tr>
Line 176: Line 212:
 
<td>&lt;name of module&gt;</td>
 
<td>&lt;name of module&gt;</td>
 
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 +
<td>Repeats</td>
 
   </tr>
 
   </tr>
 
   <tr>  
 
   <tr>  
<th colspan="3">Copyright &amp; Licensing related elements</th>
+
<th colspan="4">Copyright &amp; Licensing related elements</th>
 +
  </tr>
 +
  <tr>
 +
<td>Copyright</td>
 +
<td>&lt;string&gt;</td>
 +
<td>&nbsp;</td>
 +
<td>Continuation</td>
 
   </tr>
 
   </tr>
 
   <tr>
 
   <tr>
 
<td>CopyrightHolder</td>
 
<td>CopyrightHolder</td>
 
<td>&lt;string&gt;</td>
 
<td>&lt;string&gt;</td>
 +
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 
   </tr>
 
   </tr>
Line 188: Line 232:
 
<td>CopyrightDate</td>
 
<td>CopyrightDate</td>
 
<td>&lt;integer (indicating year)&gt;</td>
 
<td>&lt;integer (indicating year)&gt;</td>
 +
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 
   </tr>
 
   </tr>
Line 194: Line 239:
 
<td>&lt;string&gt;</td>
 
<td>&lt;string&gt;</td>
 
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 +
<td>Continuation<br/>RTF</td>
 
   </tr>
 
   </tr>
 
   <tr>  
 
   <tr>  
Line 199: Line 245:
 
<td>&lt;string&gt;</td>
 
<td>&lt;string&gt;</td>
 
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 +
<td>Continuation<br/>RTF</td>
 +
  </tr>
 +
  <tr>
 +
<td>CopyrightContactNotes</td>
 +
<td>&lt;string&gt;</td>
 +
<td>&nbsp;</td>
 +
<td>Continuation<br/>RTF</td>
 
   </tr>
 
   </tr>
 
   <tr>
 
   <tr>
Line 204: Line 257:
 
<td>&lt;string&gt;</td>
 
<td>&lt;string&gt;</td>
 
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 +
<td>Continuation<br/>RTF</td>
 
   </tr>
 
   </tr>
 
   <tr>  
 
   <tr>  
 
<td>CopyrightContactEmail</td>
 
<td>CopyrightContactEmail</td>
 
<td>&lt;string&gt;</td>
 
<td>&lt;string&gt;</td>
 +
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 
   </tr>
 
   </tr>
Line 213: Line 268:
 
<td>ShortPromo</td>
 
<td>ShortPromo</td>
 
<td>&lt;string&gt;</td>
 
<td>&lt;string&gt;</td>
 +
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 
   </tr>
 
   </tr>
Line 218: Line 274:
 
<td>ShortCopyright</td>
 
<td>ShortCopyright</td>
 
<td>&lt;string&gt;</td>
 
<td>&lt;string&gt;</td>
 +
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 
   </tr>
 
   </tr>
 
   <tr>
 
   <tr>
 
<td>DistributionLicense</td>
 
<td>DistributionLicense</td>
<td>Public Domain<br/>Copyrighted<br/>Copyrighted; Permission to distribute granted to CrossWire<br/>Copyrighted; Free non-commercial distribution</td>
+
<td><b>Public Domain</b><br/><b>Copyrighted</b><br/><b>Copyrighted; Permission to distribute granted to CrossWire</b><br/><b>Copyrighted; Free non-commercial distribution</b></td>
 +
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 
   </tr>
 
   </tr>
Line 229: Line 287:
 
<td>&lt;string&gt;</td>
 
<td>&lt;string&gt;</td>
 
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 +
<td>Continuation</td>
 
   </tr>
 
   </tr>
 
   <tr>  
 
   <tr>  
Line 234: Line 293:
 
<td>&lt;string&gt;</td>
 
<td>&lt;string&gt;</td>
 
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 +
<td>Continuation</td>
 
   </tr>
 
   </tr>
 
   <tr>
 
   <tr>
Line 239: Line 299:
 
<td>&lt;string, probably a URL&gt;</td>
 
<td>&lt;string, probably a URL&gt;</td>
 
<td>&nbsp;</td>
 
<td>&nbsp;</td>
 +
<td>Continuation</td>
 
   </tr>
 
   </tr>
 
</table>
 
</table>

Revision as of 08:28, 8 September 2007

Module Repositories

List of known Module Repositories

Module Development

OSIS Book Name Abbreviations

See DevTools:OSISBookNames.

.conf File Layout

The conf file tell the Sword engine how to treat installed module files, etc. which kind of markup they contain, and so forth.


Below is a listing of the possible directives in that file. Each of these directives of the form key=value. Some keys can be repeated. Some can have values that span more than 1 line with '\' at the end of a line indicating that the text on the next line continues the value. Some values allow RTF and some allow HTML <a href="xxx">label&lt/a>hypertext links. HTML is not allowed otherwise.


Enumerated values are shown in bold. These should be used exactly as given and no other values should be used.

Element Values (type or enumerated) Default Value Allows
Required Elements
[name] Each conf file begins with [name], replacing "name" with be a short well known abbreviation. This must be on the first line, and start the first line. It can only contain A-Z, a-z and 0-9.    
DataPath <relative system path>
This path should start with "./modules". If the DataPath indicates a directory it should end with a '/'.
   
Description <string>    
ModDrv RawText
zText
RawCom
RawCom4
zCom
HREFCom
RawFiles
RawLD
RawLD4
zLD
RawGenBook
   
Elements required for proper module access
CipherKey <string> (typically in a format matching the pattern: /[0-9]{4}[A-Za-z]{4}[0-9]{4}[A-Za-z]{4}/    
BlockType BOOK
CHAPTER
VERSE
CHAPTER  
CompressType ZIP
LZSS
LZSS  
BlockCount <integer> 200  
Elements required for proper rendering
GlobalOptionFilter

GBFStrongs
GBFFootnotes
GBFScripref
GBFMorph
GBFHeadings
ThMLStrongs
ThMLFootnotes
ThMLScripref
ThMLMorph
ThMLHeadings
ThMLVariants
ThMLLemma
UTF8Cantillation
UTF8GreekAccents
UTF8HebrewVowels
OSISStrongs
OSISFootnotes
OSISScripref
OSISMorph
OSISHeadings
OSISRedLetterWords

  Repeats
Direction RtoL
LtoR
LtoR  
SourceType Plaintext
GBF
ThML
OSIS
TEI
Plaintext  
Encoding UTF-8
Latin-1
Latin-1  
DisplayLevel <integer> 1  
Font <string>    
OSISqToTick true/false true  
elements to indicate features
Feature StrongsNumbers
GreekDef
HebrewDef
GreekParse
HebrewParse
DailyDevotion
Glossary
  Repeats
GlossaryFrom <OSIS:Lang identifier>    
GlossaryTo <OSIS:Lang identifier>    
General informatic and installer elements
About <string>   Continuation
RTF
Version <version string> 1.0  
History_x.x <string>   Repeats
MinimumVersion <version string> 1.5.1a  
Category Daily Devotional
Glossaries
Cults / Unorthodox / Questionable Material
Essays
   
LCSH <tree/string>    
Lang <OSIS:Lang identifier> en  
InstallSize <integer (indicating bytes)>    
SwordVersionDate <ISO date string (yyyy-mm-dd)>    
Obsoletes <name of module>   Repeats
Copyright & Licensing related elements
Copyright <string>   Continuation
CopyrightHolder <string>    
CopyrightDate <integer (indicating year)>    
CopyrightNotes <string>   Continuation
RTF
CopyrightContactName <string>   Continuation
RTF
CopyrightContactNotes <string>   Continuation
RTF
CopyrightContactAddress <string>   Continuation
RTF
CopyrightContactEmail <string>    
ShortPromo <string>    
ShortCopyright <string>    
DistributionLicense Public Domain
Copyrighted
Copyrighted; Permission to distribute granted to CrossWire
Copyrighted; Free non-commercial distribution
   
DistributionSource <string>   Continuation
DistributionNotes <string>   Continuation
TextSource <string, probably a URL>   Continuation

Things that should move elsewhere

Module Requests

Here is a place to request modules you would like to be made. If the Copyright holder has been contacted, the permissions granted or not can be put here.

Bible Versions

  • Nederlands Bijbelgenootschap [1], [2]
  • Turkish Kutsal Kitap [3] [4]

Permission has been granted and the module is available as "TurNTB" in beta Refdoc 18:04, 29 August 2007 (MDT)

  • Cherokee New Testament [5] Public Domain
  • German revidierte Luther Bible 1984 [6]

Books

English

Devotionals

Lexicons

New Modules

List of modules that are being developed

General Book

English

Portuguese

Brazilian

SBB denied permissions, someone from Brasília intends to try again.

SBT has been contacted, anticipating answer.

IBB has left the door open to a future favourable answer. Need to follow up with request for permissions on Versão Revisada and its Almeida Século XXI successor.

Corrigida low-quality copies are available, we need to evaluate if it is worthwhile to move forward: old translation, not too good, OCR will be troublesome.

Tradução Brazileira copy obtained, working library contacts to find a book scanner.

For all these, please ask for further information at sword-devel.

Iberian

Permissions were obtained on a number of texts from SBP, as per post at sword-devel.