[sword-devel] SWORD link, and other misc. comments
Troy A. Griffitts
scribe at crosswire.org
Sun Feb 4 01:38:34 MST 2007
LINKS
SWORD has historically only supported Bible links, and not any specific
Bible, at that. Thus, a link (found in any type of module) to "Jn.3.16"
in SWORD has always meant "John 3:16 in the KJV reference scheme shown
to the user in any way and from any Bible the frontend decides the user
would like."
It would be nice to extend SWORD linking, first to differentiate between
self references and general Bible references, as I think adding 'self
referencing' give us the most bang for our... er... well, sacrifice of
time. A full blown mechanism to reference any exact work doesn't sound
hard initially, but we've talked about this when defining the OSIS
specification and it gets pretty crazy when you start defining fallback
behavior if the user doesn't have exactly the module defined, but
something close.
I thought we left the OSIS specification to say that osisRef defaulted
to Bible.KJV if no prefix was specified in the osisRef and no
osisRefWork was defined. We tried to steer OSIS as much as we could to
match how SWORD operates in areas we felt SWORD has already flushed out
reasonable behavior over the years.
DIFFERENT MARKUPS / FRONTEND SUPPORT
Frontends don't typically have to support all the many markups that the
SWORD engine handles. Typically a frontend just initialized SWORD with
something like:
SWMgr mgr(new MarkupFilterManager(FMT_HTMLHREF));
and this tells SWORD to return HTML with HREF links. SWORD will worry
about the underlying SWORD format and module markup and do the
conversions. SWORD has filter sets to convert from and to many
different tagsets.
So, basically, a frontend need to just pick a tagset (like HTMLHREF) and
understand this output from SWORD and support that.
Now, having said all this, many of the main frontend writers have also
taken the responsibility to update the conversion filters (The
Gnomesword guys graciously keep the HTMLHREF filter set updated, which
Gnomesword, PocketPC SwordReader, QPSword, and SWORDWeb (The Bible Tool)
all use directly or indirectly. I believe the Bibletime guys write
their own filters and the MacSword guys copied the Bibletime guys and
wrote their own filters, as well. It would be REALLY nice if we could
just agree on a common HTML with HREF output and have the Bibletime and
MacSword guys collaborate together with us on the the common filter set.
We've tried to make some progress on this by make the HREF portion
conform to standard URL specification and Joachim from Bibletime helped
add this support. I am hopeful we can share in a common filter set
soon, but it really doesn't depend on me, but rather on the two projects
which currently do not share in common efforts to be willing to try the
HTMLHREF filter set and let us know what we are lacking in functionality
that they still need from us to switch. I can't imaging how hard it
must be to keep up with all the new tags and nuances of new modules. It
has to be attractive for them to benefit when one of the other projects
does the work to support a new tag in a module. I'm excited to see
Terry Biggs commit! :) It means 3 other projects I work on should
better support things! :) Not to mention _it'll make ya feel good_ to
help when you actually add new support for other :) It can be
challenging sometimes and Terry does a good job at this-- knowing that
changes he makes might cause a malady effect in others using the same
filters. I can't think of the last time his courteous attention has
caused anything but a benefit for me.
My apologies for being so silent lately. One more semester after this
one and I should be finished with seminary. Actually, we are finishing
our project at work on Wednesday and, as a contractor there, I might
have a long vacation if they cannot find us new work here in Phoenix.
If you are interested, you can see what I've been doing by day for the
last 3 years here:
http://crosswire.org/~scribe/lwpromo.mpg
It's all embedded Linux/C++/Qt and deploying overseas this month. It's
been a blessing from the Lord to do geeky cool and fun stuff, that pays
well and keeps me sharp; but dayjob + school + sword = stressful
frustration and mostly mediocre performance on everything. And for that
I owe you all an apology. I haven't quite figured out completely how to
solve the problem, but am working toward a couple scenarios with good
potential. The Lord is GOOD and I'm sure wants to use each of us for
His purposes in a stress-free way, so I'm believing that and in Him and
we'll see what He does. Thanks for your support and your excitement to
serve and work together even when I haven't been around. You guys mean
so much to me. It is a true blessing to share in service together.
-Troy.
DM Smith wrote:
> The typical pattern of development has been to support modules hosted
> at Crosswire. If a new module has a new feature, then it is put in
> beta and the different applications are given time to support the new
> feature.
>
> If we know that we want to work in this direction, we could mock up a
> module. We'd just need to agree as to how we want OSIS references to
> work. (e.g. Do we require an external osisRef to have a prefix of the
> form Type or Type.workID?)
>
>
> On Feb 3, 2007, at 8:51 AM, Pierre Marc Dumuid wrote:
>
>> Thanks DM,
>>> Having said all this, Sword does not support osisRefs that have the
>>> workID prefix.
>>>
>> Is this likely to be fixed in the future? (and I'm guessing it's up to
>> each application developer to get it working :(
>> I was also thinking that maybe if no work is defined then bible should
>> be the default for a commentary.
>>
>>
>>
>> _______________________________________________
>> 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
>
>
> _______________________________________________
> 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