[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