[sword-devel] 1.5.1a

Troy A. Griffitts sword-devel@crosswire.org
Mon, 06 Nov 2000 16:56:15 -0700


Well, 1.5.1a is out on the website.  (There was a 1.5.1 on the latest CD
that I didn't want us to get mixed up, hence the 1a).

It's really been a long time between releases for a development thread. 
I would like for this not to be the case in the future.  So much time
was spent trying to iron out bugs because many of the frontends are
using the dev thread as their base instead of the stable thread.  This
is fine, I suppose, but I'd really rather have features be the driving
force for a release in the dev thread instead of stability.  When we
feel we have enough features for 1.6.x, we'll concentrate on stability.

I've added 'Feature' tags to some of the modules' config info.  These
are designed to give GUI writers a little more context when showing
options to their users.  You will see things like:

Feature=StrongsNumbers
Feature=GreekDef
Feature=GreekParse
Feature=HebrewDef
Feature=HebrewParse
Feature=DailyDevotion

For instance, StrongsGreek has the feature GreekDef, but not the feature
GreekParse because it does not have parsing definitions (the '()'
numbers).  Thayers has both.

We may add a mechanism to query a module for its feature, but for now,
you'll have to just use the standard configuration mechanism to test for
a feature.  Here is the function I used in the WIN32 frontend:

bool hasFeature(SWMgr *mgr, const char *modName, const char *feature) {
     SectionMap::iterator sit;
     ConfigEntMap::iterator eit, eitend;

     if ((sit = mgr->config->Sections.find(modName)) !=
mgr->config->Sections.end()) {
          for (eit = (*sit).second.lower_bound("Feature"), eitend =
(*sit).second.upper_bound("Feature"); eit != eitend; eit++) {
               const char *tfeature = eit->second.c_str();
               if (!stricmp(tfeature, feature))
                    return true;
          }
     }
     return false;
}



A couple applications for these include:
Letting the user choose from a narrower list to handle specific lookups.
Checking to see if the active module can handle the type of lookup.

I'm sure you'll think of many more.



1.5.2

I'm planning 2 new features for 1.5.2:

compressed modules
STEP data retrieval (no tag filtering yet)


I'm hoping to pursue a more aggressive release cycle, so I want to keep
the feature list fairly small per version. (perversion?  I hope our new
features are not perversions of the product! :) )-- ie. only a few new
feature for each new release.


Anyone wanting to get something in 1.5.2, let me know what you're
working on and we'll try to coordinate a release time when we get closer
to that point.


	In God's Great Grace, Mercy, and Love,
		-Troy.