On May 14, 2009, at 15:39, DM Smith <dmsm...@crosswire.org> wrote:

Chris Little wrote:


Troy A. Griffitts wrote:
I would like to add new officially supported methods, like adding:

o Installation of modules from another existing SWORD library installation via HTTP ( e.g., http://crosswire.org/ftpmirror/pub/sword/raw )

A skeleton class for this method was already added in 1.6.0 so we can shoot to implement this in the 1.6.x branch without changing the API interface.

======================

Aside from the officially supported methods of installation, there are caching methods we implement to assist in optimizing installation, e.g. if we find a mods.d.tar.gz file at the root of the 'other' SWORD library installation from where we're installing, we'll copy and untargz this to discover which modules are available, instead of copying each mods.d/*.conf file one at a time.

**** BUT THE IMPORTANT THING HERE in my mind, is that, while we have caching mechanisms in place, and while we might even add more (hypothetically, a zips/ folder at the root of the 'other' SWORD library installation where we can check for a pre-zipped module archive so we can avoid downloading module data files and images one at a time, and other methods)...

.... THE VERY IMPORTANT THING NOT TO MISS HERE.... (have I focused the attention of skimmers yet? :) )

... is that these are EXACTLY THAT: CACHING/OPTIMIZATION features. *** NOT *** required features to make a valid repository SWORD module repository.

A frontend should NOT depend on these features being available. If they exist, use them-- great! If not, please support the minimum common installation features outlined above.

Specifically with reference to the way JSword deals with module downloading: I really look forward to seeing a shift from use of the cached ZIPs to using the FTP site (via HTTP if necessary).
Maybe someone can help a bit. The problem we ran into was that there was no reliable way to download a folder via http and there was no way to reliably know the content of the folder.

If there were a manifest of the files in a module that would work and then http of all the parts would be just fine. I have a script in my bin directory (~dmsmith/bin/listing.pl) on the server that builds such a manifest. I would love it if we can make it a part of the creation of mods.d.tar.gz by building it daily into the mods.d folder on the server.

I've seen sites that had a file named ls-lR that's a recursive long file list of all the directories under it. Might that be used in a case like this?

--Greg



Greater than 99% of the time, the ZIPs will be fine, but there will be occasional problems. One is simply that their use requires an extra step, which very occasionally fails. We had some problems after the server upgrade, where new ZIPs couldn't be created, which would have affected JSword users and went unnoticed until someone downloading one of the affected ZIPs from the webpage noticed and alerted us.

The (to my mind) greater issue is simply that it this system requires someone else to have already downloaded the most recent version of a module. The ZIPs are only created by the download servlet. Assuming our hope that people migrate to InstallMgrs comes true, fewer and fewer people will download ZIPs from the webpage, making it progressively less likely that the correct ZIP exists.

Yes that is exactly the problem that JSword has.

One of the things that Troy suggested is that FTP of the zip, can generate the zip if it does not exist. Such a mechanism would be useful to SWORD as it would increase the reliability of transfer. If you look at the logs you'll see that sometimes a part fails to download probably leaving a partial or corrupt module.

Such a mechanism would leave the problem the same as it is today, but it would be minimized.

DM

_______________________________________________
sword-devel mailing list: sword-devel@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@crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page

Reply via email to