Let's ignore EULAs and DMCA violations for a moment (given that we're discussing interoperability, and the DMCA specifically permits reverse engineering in such circumstances). And let's just consider the quick and simple method of reverse engineering e-Sword's "format" without ever visiting e-sword.net or installing any software from the site.

Step 1: Grab a user-created e-Sword module. Here's one: http://www.esnips.com/doc/b2713126-5cd6-4b6f-a3e7-9940465ad7fe/The-Common--NT---Updated-Version

Step 2: Unzip it until you get a .bbl file. (The above file is a zip with an enclosed self-extracting zip. So use unzip or winzip or whatever on it twice.)

Step 3: The .bbl file is an Access database. Use MS Access or any other program capable of reading a Jet database (e.g. anything based on libmdb, as mentioned) to analyze the structure. User created e-Sword content will tend not to include any passwords (as the official content does), there's no possible appearance of impropriety.

Step 4: Deal with RTF translation and encoding stuff.

Step 5: Repeat for other module types.


This doesn't address loading any of the official or paid content, since that's all behind an access control (of a sort).

I'm not _sure_ that building e-Sword resource support into Sword is the right way to go. It might be better to build a converter from e-Sword to Sword or OSIS. I was working on something like that myself a couple weeks ago, but gave up on it when it became clear how poor Perl's cross-platform support for database support was. Something built on libmdb or in Java might have been more fruitful.

--Chris

_______________________________________________
sword-devel mailing list: [email protected]
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page

Reply via email to