[sword-devel] Possible to "cache" SwMgr detection of modules?

L.Allan-pbio paraclete at bibleinverse.org
Tue May 16 14:26:41 MST 2006

My understanding is that one of the first things that a "front-end" 
needs to do is instantiate SwMgr and let it find all the modules that 
are available. This detection is used to populate Tabs or drop-down 
lists so the end-user can switch from module to module.

Once there are a lot of modules installed, this can take a long time. 
The LcdBible front-end is oriented to the "niche" of older (dinosaur) 
computers, and the SwMgr detection can be lengthy.

(Note: I'm not that knowledgeable about the sword-api, so it may be 
some other manager object and not SwMgr.)

Has consideration been given to "caching"  which modules were 
detected? Perhaps there could be something like a time-stamped file 
such as ModulesCacheInfo.conf in the mods.d directory?

The front-end or the sword-api could read just this file to get a 
"quick and dirty" detection accomplished. My impression is that the 
specific list of modules installed doesn't change very often. Usually, 
the list would increase rather than decrease over time, at least for 

The InstallManager might have some convention to indicate that SwMgr 
has "stale" information and trigger a "cache refresh".

(Granted, modules can be installed without using the InstallManager, 
so this would be too simplistic.)

I've thought about having LcdBible use a "worker thread" for SwMgr 
detection to expedite getting "launched", but this add complexity and
has other problems.

More information about the sword-devel mailing list