[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. ;)
-Troy