[sword-devel] Text dictionary/glossary link filter

Troy A. Griffitts scribe at crosswire.org
Sat Sep 28 09:47:21 MST 2013

Hi John,

Thanks for your explanation.  A few more comments...

Certainly I hope all of our frontends support <reference> links, 
including reference links which request a specific module, even though I 
don't think those are very good practice.

What I'm worried about is the perspective of the reference markup.

Typically, in semantic markup it is good practice to say, "I am this," 
not e.g., "show a map from module X when someone clicks on me."  For 
example, if someone had ISBE installed, and clicked on the "Jerusalem" 
reference, they could get the article on Jerusalem.  If they had your 
map module installed, then they could get a map, if they had some other 
map module installed, then they could get a map from another module.

In your example, if the module with the reference really intends only to 
ever show the map entry in the TVNDICT module, I would think something 
like this might be better:

<span type="x-modRef:TVNDICT">Here is a map of <reference 

And then maybe we could have a generic filter added to the engine which 
automatically hides x-modRef spans when the module is not installed.

As far as letting the user hide the links as a preference, what would 
you suggest to make the name of the user option?  You currently have 
"Dictionary" in your filter name.  This would show along side other 
options with an On/Off control, like "Strong's Numbers", "Morphology", 
"Footnotes", "Cross-references", "Dictionary".  I'm not sure this is 
clear to the user what "Dictionary: on/off" would do.  If I was a user, 
I certainly wouldn't think it would hide a link to a map of Jerusalem.

As far as a filter to hide all <reference> markers not withing footnotes 
or cross-references, I'm not sure how that would look in some of our 
modules.  The standard use for a reference tag is not to include the 
entire sentence withing the reference context, but more like this:

See <reference osisRef="Bible:John.3.16">John 3:16</reference>.

So, I fear we would have a bunch of "See  ." strings showing up in 
modules when the references are hidden.

Again, I want to facilitate your use case.  If you have a study Bible 
composed as a set of modules, each having specific links to each other, 
and which only ever want to reference a single specific module with 
their links, I can see your need.  Do you see my concerns?  Let's try to 
think of a better way to implement this.  What do you think of my first 
<span type="x-modRef:..."> suggestion?  It doesn't really help with your 
desire to let the user hide these thinks, but does provide a way to hide 
the entire context of the link without leaving hanging text, and also 
deals with the problem of the module not being installed.  It might give 
you the ability to show an option to your user called something like, 
"Hide TVNDICT references," or "Hide links to other books," or something 
similar.  Dunno.  Do you have any more thoughts?


On 09/28/2013 08:12 AM, John Austin wrote:
> On 09/28/2013 04:21 AM, Troy A. Griffitts wrote:
>> Dear John,
>> I'd like to see an example of a module which uses this tag.  I'm trying
>> to figure out exactly how you make these useful without requiring a set
>> of modules to be installed.  Well, maybe you do, and that's fine too.
>> In the frontend I've worked on, we basically let the user click on any
>> word and try to look it up any glossary of their choice, or include
>> hover over help with a default glossary.  For example, in BibleCS, you
>> can choose the default glossary to be Chinese to English, and then as
>> you read a Chinese Bible, you can hover over any word and it will give
>> you an English definition.  I guess it might be nice to do a lookup
>> across all installed modules and let the user know which modules have an
>> entry for the word they are interested in.  I'm not sure your use case
>> for picking a single glossary and then selecting choice words from this
>> glossary and making link from another module.  Maybe in a Bible study or
>> something where part of the lesson might be: "See the entry in ISBE for
>> <reference type="x-glossary" osisRef="ISBE:Kingdom">Kingdom</reference>.
> Thanks for the explanation. Here's an example where these tags are 
> currently used:
> http://ibt.org.ru/en/text.htm?m=TVN&l=Matt.2&g=0
> shows:
> <reference type="x-glossary" 
> osisRef="TVNDICT:ИИСУС_32_ХРИСТОСТУҢ_32_ҮЕЗИНДЕ_32_ИЕРУСАЛИМ">Иерусалимче</reference>
> The language is Tuvan, and when the first reference link is activated 
> ("Иерусалимче") a Tuvan language map of Jerusalem in Christ's day 
> appears. The terms labeled in the map correspond to the terms which 
> appear within the Biblical text itself. All these terms, when they 
> appear in the text, should link to this same map, while the actual key 
> for the map in the glossary module matches none of these terms. To 
> link cases like this using a lookup method would require that the 
> contents of each installed dictionary be searched and not just each 
> dictionary's keys, which is probably impractical. But since this map 
> is an image, even such a text search would not locate the dictionary 
> resource.
> But how to make the links useful without requiring another module be 
> installed... The only way I can think of would be to embed the 
> language specific maps, tables-of-measures, and other reference 
> material at the end of the Bible module itself somehow. (?) This would 
> be more like the printed versions of these translations.
>> ?
>> I'm happy to include whatever might be helpful for you and others, but
>> it is also not a bad thing at all for frontend to add their own filters
>> for specific unique features for their packages.  But if it is useful
>> for more than one project, then we should figure out a way to share the
>> work.
> Several front-ends already support at least semi-functional 
> <reference> links. PocketSword and And-Bible do, and others as well. 
> So it seems useful for these front ends to have the option to filter 
> them. Those front ends that do not support them would find it useful 
> to always filter them out. I guess another question is: are 
> <reference> links within Bible texts allowable practice? If so, 
> everyone benefits from a filter. But if not, what other approach is 
> there?
> John
>> Troy
>> On 09/25/2013 06:22 AM, John Austin wrote:
>>> I've read through the current SWORD osis option filters, to see if
>>> there might be a way to do textual references to external works which
>>> can be filtered with existing filters. There appears to be no way to
>>> do this using existing filters. (?)
>>> I am open to changing the way IBT's OSIS modules are encoded. I want
>>> to update all of IBT's texts at some point to make them totally SWORD
>>> compliant, SynodlaProt, and 100% functional in as many front ends as
>>> possible. OSIS <reference> tags are already supported by most
>>> front-ends, and they usually work correctly as links. These links are
>>> very useful, but naturally there are times when people want to read
>>> texts without bold underlined links appearing throughout. This is the
>>> same impetus that lead to global option filters for footnote symbols
>>> and cross-references etc. so it seems to be a perfect candidate.
>>> Although the filter proposed previously filters <reference> tags on
>>> the basis of type="x-glossary". Wouldn't it also be perfectly good to
>>> simply filter all <reference> tags from the text? (while leaving them
>>> within notes of course to be handled separately by those filters) This
>>> would make logical sense and would also serve readers of existing
>>> modules perfectly well, even before any module encoding updates.
>>> John
>>> On Mon, Sep 23, 2013 at 1:58 PM, David Haslam <dfhmch at googlemail.com
>>> <mailto:dfhmch at googlemail.com>> wrote:
>>>     Please "just do it".
>>>     David
>>>     --
>>>     View this message in context:
>>> http://sword-dev.350566.n4.nabble.com/Text-dictionary-glossary-link-filter-tp4653129p4653132.html
>>>     Sent from the SWORD Dev mailing list archive at Nabble.com.
>>>     _______________________________________________
>>>     sword-devel mailing list: sword-devel at crosswire.org
>>>     <mailto: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
>> _______________________________________________
>> 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