[jsword-devel] Sword drivers - a new way of doing things.

Joe Walker jsword-devel@crosswire.org
Fri, 18 Oct 2002 09:04:32 +0100


Hi,

It is definitly an eventual goal.

I have already done some work in renaming some classes - for example 
there is now a Key class. Further work is still planned to update the 
sword tree (which is and should remain very Sword compatible) to proxy 
to the JSword tree. This way users get the best of all possible worlds. 
Anyone wanting to write Java code using the C++ Sword API could do so, 
but we don't have to re-architect everything and (in my opinion) loose 
some of the benefits of the Java way of doing things.

So the question of priority - personally I'm more aware of people 
wanting support for Lexicons, properly working JNLP, etc than I am of 
strict API compatibility. I'd planned to work on the C++ compatible API 
when someone wanted to use it mostly because it's not a itch for me 
personally.
Is there anyone out there wanting to write code to it right now? If so I 
don't mind reprioritizing things a bit.

Joe.


Troy A. Griffitts wrote:

> Hey guys.  This might be a touchy question...
>
> but, wasn't the 2nd thing on the priority list (after getting jsword 
> to read a standard sword module install set) to make the class hierchy 
> and api, in general, similar to sword?
>
> With this said...  I'm glad Mark is considering a modular approach 
> similar to the sword engine.
>
> Just wondering if this was still an eventual goal.
>
>     -Troy.
>
>
>
> Mark Goodwin wrote:
>
>> Hello people.
>>
>> I wasn't supposed to have time for this, but I couldn't sleep last
>> night......
>>
>> Some changes will be neccesary in SwordBible and SwordBibleDriver if we
>> are to cope with the many different types of Sword Bible in a tidy and
>> efficient manner.
>>
>>> From looking at the different types of modules, and different kinds of
>>
>> markup, it occurred to me that it would be a good idea to split Sword
>> Bible handling into a set of backends (raw, zip, encrypted), and
>> frontend with access to a set of filters (ThML, OSIS, GBF, etc.) much
>> like 'original flavour' Sword, in fact (I've not spent very long looking
>> at the code, but that's the idea I got).
>>
>> We could then have a single frontend, which loads filter classes
>> according to parameters in the module config file, and delegates to the
>> backend for the purposes of loading data.  The data returned from the
>> backend would be passed through the relevant filter(s) for removal /
>> translation of markup, and presented using a normal Bible interface.
>>
>> Anyway, I spent a couple of hours hacking on some prototype code - I've
>> not addressed Filters yet (these would be loaded and used by SwordBible
>> itself), but the rest is there in concept.  There's a new way of loading
>> and representing Sword module configs in all (well, most of) their
>> complexity, Raw modules work fine, and I've put some stubs in to
>> demonstrate that the new SwordBibleDriver can 'see' compressed texts as
>> well.
>>
>> I've not committed to the trunk because a) it's messy prototype code,
>> and b) I'm not going to have time to do anything it for a few days. If
>> you're curious or feel like doing some work on the Sword module support
>> yourself then have a look at the contents of the following branch:
>> mdg_sword_drivers_20021017
>>
>> Beware of the bit with comments that say TODO and URGENT :-)
>>
>> Finally, if you want to work on this stuff and you're not sure on how
>> the Sword modules hang together, contact me telling me what you want to
>> do - I've got heaps on info I've gleaned on various things (I also made
>> a stab at deciphering the zverse stuff in sword). 
>> I've also got some code for LZSS compression stuff, and documentation
>> etc. on Sapphire II for the locked modules.
>>
>> Have fun.
>>
>> MarkG
>>
>>
>>
>> _______________________________________________
>> jsword-devel mailing list
>> jsword-devel@crosswire.org
>> http://www.crosswire.org/mailman/listinfo/jsword-devel
>
>
>
> _______________________________________________
> jsword-devel mailing list
> jsword-devel@crosswire.org
> http://www.crosswire.org/mailman/listinfo/jsword-devel