[sword-devel] New Install Manager Features
Eeli Kaikkonen
eekaikko at mail.student.oulu.fi
Tue Dec 23 08:27:53 MST 2008
Troy A. Griffitts wrote:
> 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);
>
Good. I have thought about implementing a dialog with commonly used "[X]
Don't show this message again" option in BibleTime. It's much better
than a static text in the main dialog. This will probably make
implementing it easier/safer.
I presume changes like this make the svn version incompatible with older
versions. If there's no such function in the old library and using
remote features requires it, this has to be added to the frontend before
it can use the new library version. Right?
>
> 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.
>
As always, I find using the library difficult without extensive
documentation. Is it documented in the source? (The KDE svn client can't
download the code for some reason: "PROPFIND request failed on
'/sword/trunk'
PROPFIND of '/sword/trunk': 405 Method Not Allowed
(http://svn.crosswire.org)"). Or do I have to read the c++ code to find
out how it interacts with existing setups? Anyways, this is a huge step
forwards. I have planned something similar, or at least static
predefined list, in the frontend side, but this should make it
unnecessary. Adding sources by hand has always been very clumsy.
Another question: what happens if network doesn't work? As far as I know
the Sword library has been bad with network interaction. There's no way
to know what happened if something goes wrong. For example, if a source
is added manually there's no way to check whether it works and why it
doesn't work. Is it the client side network connection, or wrong server
name, or server not responding, or wrong remote directory name... And
what happens if the network is working and in the middle of some action
it will be cut off? Does it hang forever or does it return?
--Eeli Kaikkonen
More information about the sword-devel
mailing list