[sword-devel] Taming Wild Threads (was: Getting stuff done (Re: External links))
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
(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.)
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
>> of the engine code, plus various front-end code, just to determine
>> 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
> --Eeli Kaikkonen
> sword-devel mailing list: sword-devel at crosswire.org
> Instructions to unsubscribe/change your settings at above page
More information about the sword-devel