<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="">Fixed in SwordBookDriver.registerNewBook(sbmd) by loading the newly downloaded conf into a new sbmd and using that to construct the book loaded into the installed book list.<div class=""><br class=""></div><div class="">DM Smith</div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Jun 10, 2017, at 4:00 PM, DM Smith <<a href="mailto:dmsmith@crosswire.org" class="">dmsmith@crosswire.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">The problem is in AbstractSwordInstaller lines 259-262:<div class=""><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco; color: rgb(78, 144, 114);" class=""><span style="" class=""> </span>// TRANSLATOR: Progress label for installing the conf file for a book.</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;" class=""> <span style="color: #7e504f" class="">job</span>.setSectionName(JSMsg.gettext(<span style="color: #3933ff" class="">"Copying config file"</span>));</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;" class=""> <span style="color: #7e504f" class="">sbmd</span>.setLibrary(NetUtil.getURI(<span style="color: #7e504f" class="">dldir</span>));</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;" class=""> SwordBookDriver.registerNewBook(<span style="color: #7e504f" class="">sbmd</span>);</div><div class=""><br class=""></div><div class="">It actually doesn’t attempt to do what it says. The config file has been copied. The sbmd.setLibrary call is an attempt to take the mods.d.tar.gz entry and massage it enough to make it work. It isn’t sufficient. Still trying to figure out what should be done here.</div><div class=""><br class=""></div><div class="">So, either we can load the new conf or massage the other enough to make it work.</div><div class=""><br class=""></div><div class="">I’m thinking that it’d be safer to load it anew. If I figure out the n things that it needs that loading from file provides, who is to say that tomorrow loading won’t change and break it again.</div><div class=""><br class=""></div><div class="">In Him,</div><div class=""><span class="Apple-tab-span" style="white-space:pre">        </span>DM</div><div class=""><br class=""></div><div class=""><blockquote type="cite" class=""><div class="">On May 29, 2017, at 5:13 PM, Martin Denham <<a href="mailto:mjdenham@gmail.com" class="">mjdenham@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">.. or maybe you could derive the real conf name exactly from attributes in the partial sbmd, without iterating over mods.d, and load the correct conf immediately</div><div class="gmail_extra"><br class=""><div class="gmail_quote">On 29 May 2017 at 21:49, Martin Denham <span dir="ltr" class=""><<a href="mailto:mjdenham@gmail.com" target="_blank" class="">mjdenham@gmail.com</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="">Thanks DM, I could take a stab at a fix but I have not got a great understanding of JSword at this level.<div class=""><br class=""></div><div class="">It seems like, somewhere, we should </div><div class=""><ol class=""><li class="">iterate over the mods.d folder and find the real .conf file matching the incomplete sbmd by matching initials or abbreviation<br class=""></li><li class="">generate a real sbmd from the real conf<br class=""></li><li class="">either just return the real sbmd or if part of install() then registerNewBook(realSbmd)</li></ol></div><div class="">Enjoy your holiday.<span class="HOEnZb"><font color="#888888" class=""><br class=""></font></span></div><span class="HOEnZb"><font color="#888888" class=""><div class=""><br class=""></div><div class="">Martin</div></font></span></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br class=""><div class="gmail_quote">On 29 May 2017 at 19:09, DM Smith <span dir="ltr" class=""><<a href="mailto:dmsmith@crosswire.org" target="_blank" class="">dmsmith@crosswire.org</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto" class=""><div class="">I'm on holiday. Will look at it soon after. <span class="m_9056161251179281105HOEnZb"><font color="#888888" class=""><br class=""><br class="">DM </font></span></div><div class=""><div class="m_9056161251179281105h5"><div class=""><br class="">On May 29, 2017, at 9:40 AM, Martin Denham <<a href="mailto:mjdenham@gmail.com" target="_blank" class="">mjdenham@gmail.com</a>> wrote:<br class=""><br class=""></div><blockquote type="cite" class=""><div class=""><div dir="ltr" class="">I got BibleDesktop running locally and it has the same problem.<div class=""><br class=""></div><div class="">1. Run BibleDesktop</div><div class="">2. Install a new module e.g. Darby</div><div class="">3. View 'Installed Books'</div><div class="">4. Select the new book e.g. Darby</div><div class="">5. Cannot delete because the 'Delete Book' button is disabled due to the same issue as above</div><div class=""><br class=""></div><div class="">Martin<br class=""></div></div><div class="gmail_extra"><br class=""><div class="gmail_quote">On 28 May 2017 at 15:20, Martin Denham <span dir="ltr" class=""><<a href="mailto:mjdenham@gmail.com" target="_blank" class="">mjdenham@gmail.com</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="">Yes, are you aware of any way to tell JSword to load the real conf file rather than the buffer extracted from mods.d.tar.gz? I have looked around but can't see any way.<span class="m_9056161251179281105m_3026103921434705269HOEnZb"><font color="#888888" class=""><div class=""><br class=""></div><div class="">Martin</div></font></span></div><div class="m_9056161251179281105m_3026103921434705269HOEnZb"><div class="m_9056161251179281105m_3026103921434705269h5"><div class="gmail_extra"><br class=""><div class="gmail_quote">On 28 May 2017 at 03:59, DM Smith <span dir="ltr" class=""><<a href="mailto:dmsmith@crosswire.org" target="_blank" class="">dmsmith@crosswire.org</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class="">Sorry for the late response.<div class=""><br class=""></div><div class="">While we have moved JSword to git, BibleDesktop is still in SVN. You can find the info on this page: <a href="http://www.crosswire.org/jsword/svn.html" target="_blank" class="">http://www.crosswire.org<wbr class="">/jsword/svn.html</a> The page hasn’t been updated since we moved JSword to git, but it is still accurate wrt BibleDesktop.<div class=""><br class=""></div><div class="">Looking briefly the basic issue is that when we load a conf from mods.d.tar.gz we are loading a buffer not reading the file from disk.</div><div class=""><br class=""></div><div class="">Hope this helps,</div><div class="">DM Smith</div><div class=""><br class=""><div class=""><blockquote type="cite" class=""><div class=""><div class="m_9056161251179281105m_3026103921434705269m_-8070710422050328974h5"><div class="">On May 27, 2017, at 6:36 PM, Martin Denham <<a href="mailto:mjdenham@gmail.com" target="_blank" class="">mjdenham@gmail.com</a>> wrote:</div><br class="m_9056161251179281105m_3026103921434705269m_-8070710422050328974m_1098445200005498684Apple-interchange-newline"></div></div><div class=""><div class=""><div class="m_9056161251179281105m_3026103921434705269m_-8070710422050328974h5"><div dir="ltr" class="">I was actually hoping to dive into BibleDesktop in the hope of finding a solution to <a href="http://tracker.crosswire.org/projects/JS/issues/JS-282" target="_blank" class="">JS-282</a>. I saw some BibleDesktop source in a couple of places but neither looked very official, so that is why I asked.<div class=""><br class=""></div><div class="">However, if anybody can suggest a possible solution for <a href="http://tracker.crosswire.org/projects/JS/issues/JS-282" target="_blank" class="">JS-282</a> I would be very thankful and would not need to analyse BD.</div><div class=""><br class=""></div><div class="">Martin</div></div><div class="gmail_extra"><br class=""><div class="gmail_quote">On 22 April 2017 at 23:32, Martin Denham <span dir="ltr" class=""><<a href="mailto:mjdenham@gmail.com" target="_blank" class="">mjdenham@gmail.com</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="">Where is the latest BibleDesktop source stored?<span class="m_9056161251179281105m_3026103921434705269m_-8070710422050328974m_1098445200005498684HOEnZb"><font color="#888888" class=""><div class=""><br class=""></div><div class="">Martin</div></font></span></div>
</blockquote></div><br class=""></div></div></div>
______________________________<wbr class="">_________________<br class="">jsword-devel mailing list<br class=""><a href="mailto:jsword-devel@crosswire.org" target="_blank" class="">jsword-devel@crosswire.org</a><br class=""><a href="http://www.crosswire.org/mailman/listinfo/jsword-devel" target="_blank" class="">http://www.crosswire.org/mailm<wbr class="">an/listinfo/jsword-devel</a><br class=""></div></blockquote></div><br class=""></div></div></div><br class="">______________________________<wbr class="">_________________<br class="">
jsword-devel mailing list<br class="">
<a href="mailto:jsword-devel@crosswire.org" target="_blank" class="">jsword-devel@crosswire.org</a><br class="">
<a href="http://www.crosswire.org/mailman/listinfo/jsword-devel" rel="noreferrer" target="_blank" class="">http://www.crosswire.org/mailm<wbr class="">an/listinfo/jsword-devel</a><br class="">
<br class=""></blockquote></div><br class=""></div>
</div></div></blockquote></div><br class=""></div>
</div></blockquote><blockquote type="cite" class=""><div class=""><span class="">______________________________<wbr class="">_________________</span><br class=""><span class="">jsword-devel mailing list</span><br class=""><span class=""><a href="mailto:jsword-devel@crosswire.org" target="_blank" class="">jsword-devel@crosswire.org</a></span><br class=""><span class=""><a href="http://www.crosswire.org/mailman/listinfo/jsword-devel" target="_blank" class="">http://www.crosswire.org/mailm<wbr class="">an/listinfo/jsword-devel</a></span><br class=""></div></blockquote></div></div></div><br class="">______________________________<wbr class="">_________________<br class="">
jsword-devel mailing list<br class="">
<a href="mailto:jsword-devel@crosswire.org" target="_blank" class="">jsword-devel@crosswire.org</a><br class="">
<a href="http://www.crosswire.org/mailman/listinfo/jsword-devel" rel="noreferrer" target="_blank" class="">http://www.crosswire.org/mailm<wbr class="">an/listinfo/jsword-devel</a><br class="">
<br class=""></blockquote></div><br class=""></div>
</div></div></blockquote></div><br class=""></div>
_______________________________________________<br class="">jsword-devel mailing list<br class=""><a href="mailto:jsword-devel@crosswire.org" class="">jsword-devel@crosswire.org</a><br class=""><a href="http://www.crosswire.org/mailman/listinfo/jsword-devel" class="">http://www.crosswire.org/mailman/listinfo/jsword-devel</a><br class=""></div></blockquote></div><br class=""></div></div>_______________________________________________<br class="">jsword-devel mailing list<br class=""><a href="mailto:jsword-devel@crosswire.org" class="">jsword-devel@crosswire.org</a><br class="">http://www.crosswire.org/mailman/listinfo/jsword-devel<br class=""></div></blockquote></div><br class=""></div></body></html>