[sword-devel] New Install Manager Features

Troy A. Griffitts scribe at crosswire.org
Tue Dec 23 03:29:45 MST 2008


A fairly large commit to InstallMgr has just hit SVN.  Here is a brief 
summary.

InstallMgr can now be constructed with a username and password which 
will be used when logging into the remote source.  May I suggest that 
frontend developers supply their own unique anon password instead of the 
longstanding default: installmgr at user.com.  For example: 
installmgr at macsword.com.

A remote source can now be constructed to supply a real username and 
password in the .conf file.  This will allow us to use non-anon ftp 
sites for remote repositories.  This will obviously override any global 
anon u/p supplied in the c-tor of InstallMgr discussed above.

We have always asked frontend developers to warn users before enabling 
remote install features.  This is now pseudo-enforced in the API by not 
enabling any remote methods before a call to:

InstallMgr::setUserDisclaimerConfirmed(true);

Obviously this is not intended to really enforce anything, but rather 
safeguard against a codepath which might accidentally call a remote 
method before informing the user and letting them choose.  Also to 
solidify our policy in code somehow so future frontend developers will 
know what is expected.  A suggested disclaimer is included in the 
comments for this method in the header file.

There is now a new method which will allow syncing of a local repository 
configuration list (InstallMgr.conf) with a master remote source which 
we will keep at CrossWire and in which we will maintain a list of all 
know sources for SWORD modules.  The method call is:

InstallMgr::refreshRemoteSourceConfiguration();

It's use can be seen in the command line tool:

sword/utilities/installmgr.cpp

with the command line option -sc.  You can see your repository 
configurations before and after with the usual -s option.

./installmgr -s
./installmgr -sc
./installmgr -s

The actions we can supply in our master list which are currently 
supported by this new feature are:
adding new repos
removing repos
modifying repos
leaving manually added user repos untouched

Please have a go at it and report any positive or adverse findings.

With these new features we'd like to support the emergence of a new 3rd 
party user module repository site: swordmodules.org  While CrossWire's 
repositories continue to host best practice markup with fully supported 
modules, we want to encourage the 3rd party distribution of as much 
quality content as possible.

I hope these new features are useful and actually work! :)  May God 
continue to bless our work as we share together to serve Him.

	-Troy.




More information about the sword-devel mailing list