<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Many thanks for your work. It is a great kingdom blessing.<div class=""><br class=""></div><div class="">Historically, CrossWire has maintained zips as cache of the modules as individuals download them via a jsp program. The zips are named according to the contents of the conf’s section name (i.e. what’s between the [ ] on the first line of the conf). JSword took advantage of those downloads as a more reliable transport. First it was via FTP but as FTP in ancient Java (aka 1.4) proved un-reliable on Windows, that was abandoned in favor of http. (I’m working on adding FTP back in, but that is a different story.)</div><div class=""><br class=""></div><div class="">The upshot is that zips need to have the same casing as the section name.<br class=""><div class=""><br class=""></div><div class="">I’m attaching a script which I use to help maintain the consistency of the various repositories at CrossWire. Here is a general overview. The program makes the assumption that the conf files, zips and module files all must be present. It crosschecks these. If the conf does not exist for a module, the module files are marked for deletion. If the conf exists but the module files do not then the conf is marked for deletion. If a zip does not match the section name of a conf then it is marked for deletion.</div><div class=""><br class=""></div><div class="">The other thing that the script does is maintain InstallSize in the conf. If it is not there, it’ll add it. If it is there, it’ll verify that the value is right.</div><div class=""><br class=""></div><div class="">If a zip does not have the right casing, it is marked for delete. (I probably should change the program to report/fix the problem.) If a zip with the right casing does not exist it is created. </div><div class=""><br class=""></div><div class="">The -n argument allows for a report of what would happen. The -k option will do the deletion, and it will ignore the -n.</div><div class=""><br class=""></div><div class="">The program does it’s work by reading the conf for the section name, the data path and install size, building various maps to do its work.</div><div class=""><br class=""></div><div class="">Right now I run it by hand. Which is good if a conf or the module files are accidentally deleted and the zip is all that is left to restore the module.</div><div class=""><br class=""></div><div class=""><div class="">In Him,</div><div class=""><span class="Apple-tab-span" style="white-space: pre;">        </span>DM Smith<br class=""><div><blockquote type="cite" class=""></blockquote></div></div></div><div class=""><br class=""></div><div class=""></div></div></body></html>