[sword-devel] Taming Wild Threads (was: Getting stuff done (Re: External links))

DM Smith dmsmith555 at yahoo.com
Thu Nov 27 09:48:41 MST 2008

Chris and I have agreed, with input from Troy, that osis2mod should  
handle all valid OSIS 2.1.1 input and create a valid module that works  
in all the major front-ends. Because of how various front-ends handle  
verses, this may not be 100% attainable. We do this by applying  
transformations to the input into a more useable structure. The  
transformations are intended to be lossless, but that's not a guarantee.

There are a few bugs remaining and hopefully I'll fix these soon.

There is one big design flaw in osis2mod/SWORD regarding the handling  
of "pre-verse" text. Currently, the SWORD engine only allows headings  
in a pre-verse, but valid OSIS might have very rich pre-verse content.  
Osis2mod rearranges the interverse content and appends most of it to  
the prior verse. Often this is not what is wanted. Almost, all OSIS  
module problems relate to this.

This will require a change to the SWORD engine. So, unless 1.5.12  
includes the changes (which I don't know how to do), I'll be holding  
off on making the pre-verse change.

The other short-coming in OSIS regards cross-references. But this is  
an engine problem, not an osis2mod problem.

The upshot is that an OSIS module creator should not need to know how  
the SWORD engine handles particular tags, but they should know our  
OSIS Bibles wiki tutorial. If it is incomplete, please let us know and  
we'll include more examples and work-arounds (e.g. for the pre-verse  

By the way, I don't understand how knowing OSIS is of any help to  
front-end developers? If I understand correctly, a front-end requests  
the SWORD engine to hand it HTML or RTF or the like and displays that  
as is.

(Regarding tei2mod, it is a much simpler importer but it has not  
received much testing. Pretty much only Chris and I have used it. As  
far as I know, it works.)

In Him,

On Nov 27, 2008, at 8:05 AM, Eeli Kaikkonen wrote:

> Quoting Matthew Talbert <ransom1982 at gmail.com>:
>> I am a programmer, but I shudder at the thought of digging through  
>> all
>> of the engine code, plus various front-end code, just to determine  
>> how
>> to encode a module. After this discussion, I am less convinced than
>> ever that I should even attempt an OSIS module.
> On the other hand, I am a programmer, but as a frontend (filter)
> developer I shudder at the thought of digging through all of the
> engine code and full OSIS/Thml/other documentation to determine how to
> write a filter to represent a module. The answer to this problem is
> the same than in module writer's case: good brief documentation of
> Sword OSIS conventions. Module developers should never be forced to
> read programming language source code. Programmers may be more able to
> read module code etc. but we all seem to have one problem in common:
> time. I don't have time for BibleTime, engine and modules. BibleTime
> is my preference at least ATM. Better documentation would help a lot.
> It's not too difficult to enhance OSIS or TEI etc. support but I just
> can't start thinking about TEI if I have to google and read dozens of
> pages guessing what's relevant and what's not. Or for OSIS, test
> dozens of modules from beginning to end and try to find if there are
> some features which are not supported. Good module support is very
> important to me and I can do the programming but I just can't find all
> use cases.
> BTW, I have read the "official" OSIS documentation but it's far from
> perfect and many definitions are vague. Our Wiki documentation is a
> good start but can't be used for frontend development without other
> docs.
> --Eeli Kaikkonen
> _______________________________________________
> sword-devel mailing list: sword-devel at crosswire.org
> http://www.crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page

More information about the sword-devel mailing list