[sword-devel] Sword Node.js wrapper

Chris Burrell chris at burrell.me.uk
Sun Jun 16 05:39:33 MST 2013

If your app is offline, then I think it counts as any other Sword frontend,
in that your'e not redistributing content. This is the case for STEP as I
understand it. But you need to distinguish between offline locally and
offline while distributing content to others. So if by offline you mean
local, then you're OK. If by offline you mean you're distributing to a
closed network via a central server, then I'm not sure what the status is

I'm afraid I don't use the Sword Engine. I use the JSword engine. Someone
else can probably help you in terms of the practical elements.

The STEP project's architecture sounds very similar to what you're doing,
but comprises both the client side as well as the server (not using
node.js, but Java). Our desktop version will work offline - as you suggest
yours will - by hosting a tiny lightweight embedded server. Our desktop
version is aimed especially at people whose internet connection is flaky,
inexistent or slow. STEP already supports the "Install Manager" capability,
as well as passage lookups, lexicon lookups and lots of different kinds of
searches. I would love to join up efforts if that's something you'd


On 16 June 2013 13:25, Stephan <info at tetzels.de> wrote:

> Hi Chris,
> thank you for your answer.
>  In terms of Copyright/license, you fall under the "redistribution"
>> category as far as I can tell. As a result, you will need to seek
>> permission for all modules in the repository (apart from those that are
>> public domain). Or at least, that's my understanding. Publishing content
>> on the web is a form of redistribution. Normal Sword frontends benefit
>> from the rights and permissions CrossWire has sought from the various
>> Copyright holders.
> The future web app will be an offline one. I only need the node.js wrapper
> to do the serialization. After you "install" a module in the web app it wil
> work without an internet connection. So is this also the "redistribution"
> category?
>  In terms of accessing the raw OSIS XML, you can certainly do that with
>> JSword, so I'd expect you could do something similar in Sword.
> Can you give me some hints? If I use the OSIS Filter (FMT_OSIS) I don't
> get the raw OSIS content. I get OSIS XML, but without the text/body of a
> footnote e.g.
>  BTW, just so that you are aware, STEP is a webapp and already exposes a
>> JSON/Rest API and hopes to extend it further to support more use cases.
>> It wraps around JSword, rather than Sword.
> My plan is to build a REST API, too, but only to do the InstallMgr stuff
> and get the (raw) content of the module once to use it in a HTML/Javascript
> app.
> Stephan
>  On 16 June 2013 11:33, Stephan <info at tetzels.de
>> <mailto:info at tetzels.de>> wrote:
>>     Hi,
>>     in my spare time I develop a node.js libsword wrapper as a backend
>>     for a future web app. The node.js wrapper will download the
>>     requested module and serialize the data, so that a mobile javascript
>>     app can handle it.
>>     What should I keep in mind to avoid a licence/contribution issue
>>     since the node.js app will hold a copy of all installed modules and
>>     do some data serialization (get the content/attributes of a verse
>>     key and convert it to JSON. The plain verse content will be on of
>>     the sword filter output)?
>>     Is there a way to access the raw content (like the underlying OSIS
>>     XML) of a module through the sword engine?
>>     Regards,
>>     Stephan
>>         I've started to work on a non-blocking nodejs wrapper for
>> libsword.
>>         you'll find the sources here:
>>         https://github.com/zefanja/__**sword-addon<https://github.com/zefanja/__sword-addon>
>>         <https://github.com/zefanja/**sword-addon<https://github.com/zefanja/sword-addon>
>> >
>>         See app.js for how to use the API (in pre-alpha state...).
>>     ______________________________**___________________
>>     sword-devel mailing list: sword-devel at crosswire.org
>>     <mailto:sword-devel at crosswire.**org <sword-devel at crosswire.org>>
>>     http://www.crosswire.org/__**mailman/listinfo/sword-devel<http://www.crosswire.org/__mailman/listinfo/sword-devel>
>>     <http://www.crosswire.org/**mailman/listinfo/sword-devel<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<http://www.crosswire.org/mailman/listinfo/sword-devel>
>> Instructions to unsubscribe/change your settings at above page
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.crosswire.org/pipermail/sword-devel/attachments/20130616/ec9e67c8/attachment.html>

More information about the sword-devel mailing list