[sword-devel] creating General Book modules

Troy A. Griffitts sword-devel@crosswire.org
Tue, 05 Nov 2002 11:48:58 -0700

Not wanting to get into the specifics of this right now, reluctantly, 
here are my comments.

Chris Little wrote:
> On Tue, 5 Nov 2002, Patrick Narkinsky wrote:
>>I was actually about this problem, a little bit last night.  It seems to me
>>that would be needed would be multiple, ordered indexes of the books.  So,
>>you would have the "book" index, which would contain multiple "chapters"
>>indexes, then the "verses" indexes.  They could then point inside whatever
>>data structure you chose to hold the actual data.  So, you could increment
>>by verse, chapter, or book and get sensible results.
> Once upon a time (long before I joined), this was how sword worked.
>>I suppose this could probably be munged into an SWKey (and maybe even
>>SWVersekey) derived class.  The downside is that, from what little I
>>understand about sword internals, it would require extensions to the file
>>format, right?

There are many file formats for sword, each with their own drivers to 
handle them.  It depends how you implement the solution, the real 
problem here is a paradigm shift.  Right now, a VerseKey is an atomomous 
element containing the KJV verse number scheme.  We have plans to change 
this, but it requires that VerseKey objects be obtained from, and tied 
to, a specific module.

> A little bit, but, again, it's returning to an old format.  Essentially we 
> would map to files that are at the moment held in static arrays.
> This still doesn't deal with mapping between versifications at all.

Excactly.  When the implementation is done the 'right way', it will 
include support for linking Bibles together with a common key (which is 
currently supported,as all Bibles and commentaries currently use the 
same versification scheme), which will require a translation mechanism 
between the versification schemes.

>>I would be willing to put some time in this if its doable (since I am
>>specializing in second temple Judaism, the apocrypha are quite important
>>documents for me.) 
> Regarding doing Apocrypha as general books... I would personally really 
> rather that people not do this.
> It's a pain to manage.  It's doing things the wrong way because they can't 
> yet be done the right way.  It's handling the same thing using multiple 
> paradigms.  And it is very unlikely that people would do apocrypha from 
> Bibles other than their favorite, making our collection very lopsided.  
> And it doesn't help with making Bibles with Apocrypha (once that's 
> possible) any easier since we already have all the data for them.

I disagree with Chris on this one, but not adamantly.  Recent thoughts 
on the matter:

o	In my ignorance, I used to think the Bibletime multilevel key 
mechanism for general books was silly.  In reality, it is very useful 
for books versified in the same 'theme' as the Bible.  It makes 
navigating identical between Bibles and these other types of book.  With 
a mechanism like this, navigating extra-Biblical resources will be just 
like navigating Bibles.

o	_Chris_ may have 'all the data' for these resources somewhere, but if 
they were genbooks in sword, _I_ could *automate* one conversion process 
for all of these (and I like having things in my power, if possible:) ).

o	They would be working and useful, until such a time as a new mechanism 
is in place.

o	We have someone willing to do the work and spreading the work load 
around is the best ammenity.  Also will give the opportunity to learn 
how to make general books, so Patrick can help with other things in the 
future. ;)