2000-10-30  Wolfgang Müller  <muellerw@cui.unige.ch>

	* CAcInvertedFile.cc:
	* CAcInvertedFile.pre-cc:
	Files obsolete: deleted

	* GIFTServer/gift-config/gift-config.pre-mrml: 
	cui-perl-package attribute added

	* GIFTServer/gift-config/Makefile.am (data_DATA): 
	Removed InvertedFileFeatureDescription.db

	* GIFTServer/gift-config/gift-config.pre-mrml: 
	Changed line for cui-perl-script-file to reflect
	new perl embedding architecture and the
	location of gift-add-collection.pre-pl

	* scripts/perl/gift-add-collection.pre-pl: 
	Added part which automatically adds 
	gift-embed-perl-modules.pl

	* IFFDBase.db:
	* InvertedFileFeatureDescription.db:
	Deleted. They are now automatically generated
	during installation.
	
	
2000-10-29  Wolfgang Müller  <muellerw@cui.unige.ch>

	* Doc/Makefile.am (system-doc): Removed 
	"../libBayesian/include/*.h" from kdoc call.
	We cannot ship libBayesian, because we have
	to clear that yet (possible patents of others).

	* libInvertedFile/cc/CQPerl.cc (CQPerl): Changing
	completely the way CQPerl works. Reason for this are
	inherent memory leaks in the current version.

	* libInvertedFile/cc/CDocumentFrequencyList.cc: 
	Cured small bugs end(), end()const, setEnd()

	* libInvertedFile/cc/CAcPerl.cc: Adding destructor

2000-10-25  Wolfgang Müller  <muellerw@cui.unige.ch>

	* libInvertedFile/include/CSelfDestroyPointer.h: 
	Bracketed out some debugging output: ifdef 
	_DEBUG_SELF_DESTROY_

	* scripts/perl/CXTVWriter.pre-pm (initialize): 
	Setting data mode in XML::Writer

2000-10-23  Wolfgang Müller  <muellerw@cui.unige.ch>

	* libInvertedFile/cc/CAcInvertedFile.cc: The whole file
	was already commented out. These comments are now deleted
	inorder to de-obfuscate the line count

	* libInvertedFile/include/CXMLElement.h: Made destructor of
	CXMLElement virtual

	* libInvertedFile/include/CQuery.h: Made destructor of
	CQuery virtual.

	* libInvertedFile/include/CAccessor.h: Made destructor of
	CQuery virtual.

	* libInvertedFile/cc/CSessionManager.cc: added deleteSession
	function. 
	(setActiveAlgorithm): have to delete old mQueryTree before
	constructing new one.

	* libInvertedFile/cc/CXEVCommunication.cc: activated 
	delete-session signal.
	

	* libInvertedFile/cc/CAcIFFileSystem.pre-cc (FeatureToList): 
	Noticed that I have not used the readBinary function from the 
	CDocumentFrequencyList class. I am using it now.

	* libInvertedFile/cc/CQInvertedFile.cc(buildQueryHash): 
	* libInvertedFile/cc/CInvertedFileChunk.cc (writeBinary): 
	Replacement code for vector<CDocumentFrequencyElement>::push_back

	* libInvertedFile/include/CDocumentFrequencyList.h:
	* libInvertedFile/cc/CDocumentFrequencyList.cc:
	Adding functions to mimick STL, as well as function
	setEnd.

2000-10-22  Wolfgang Müller  <muellerw@cui.unige.ch>

	* libInvertedFile/cc/CAcIFFileSystem.pre-cc: 
	Changed ifdef CDocumentFrequencyListIsVector to 
	ifndef CDocumentFrequencyListIsList

	* libInvertedFile/include/CDocumentFrequencyList.h: 
	* libInvertedFile/cc/CDocumentFrequencyList.cc: 
	Added a destructor + debugging code which counts up/down
	if the CDocumentFrequencyLists are properly 
	allocated/deallocated
	Replaced the use of vectors by the use of arrays
	

	* libInvertedFile/include/CWeightingFunctionPointerHash.h: 
	added function clear.

	* libInvertedFile/include/CXMLElement.h: 
	* libInvertedFile/cc/CXMLElement.cc: 
	Added destructor ~CXMLElement

	* libInvertedFile/include/CSessionManager.h: 
	* libInvertedFile/cc/CSessionManager.cc: 
	Added destructor for CSession
	(CSessionManager::closeSession): deleting the 
	session when closing for avoiding memory leaks.

	* libInvertedFile/include/CQueryTreeBuilder.h: 
	Changed type of CQueryContainer. Was before 
	map<string,CSelDestroyPointer<CQueryTreeNode> >
	This would lead to double destruction.

	* libInvertedFile/cc/CQueryTreeNode.cc: 
	* libInvertedFile/include/CQueryTreeNode.h: mContent
	changed type to CSelfDestroyPointer<CQuery>, i.e.
	it will be automatically destroyed on the destruction
	of the query tree. Had to put in some static_cast<CQuery*>
	in the cout ... lines.

2000-10-13  Wolfgang Müller  <muellerw@cui.unige.ch>

	* configure.in: instead of changing LD_FLAGS
	the check for perl now creates a new autoconf
	variable PERL_LD_ADD.
	(GIFTServer/Makefile.am): PERL_LD_ADD is used for
	linking gift. The standard method (LD_FLAGS) does not 
	work for reasons of sequence dependencies.

2000-10-12  Wolfgang Müller  <muellerw@cui.unige.ch>

	* configure.in: bugfix
	-D__GIFT_WITH_MYSQL__ to -D__GIFT_WITH_PERL__
	in perl expression

2000-10-10  Wolfgang Müller  <muellerw@cui.unige.ch>

	* scripts/perl/gift-add-collection.pre-pl: 
	help does not get called before anything happens.
	BAD. Changed this my moving a call to mkdir.
	(wanted): Added making a path to the thumbnail
	if necessary.

2000-10-09  Wolfgang Müller  <muellerw@cui.unige.ch>

	* libInvertedFile/cc/xs_init.cc: 
	ifdef __GIFT_WITH_PERL__ comments out
	Perl-specific-parts, if needed.

	RELEASE 0.1.4 here
	
2000-10-08  Wolfgang Müller  <muellerw@cui.unige.ch>

	* scripts/perl/gift-add-collection.pre-pl (wanted): changed
	regexp which checks for image file name extensions to case 
	insensitive

	* Doc/gift-guide.sgml (Caveat): 
	This file was changed to make it more readable
	and to reflect some new features.

2000-10-06  Wolfgang Müller  <muellerw@cui.unige.ch>

	* libInvertedFile/cc/Makefile.am: 

	* scripts/perl/gift-add-collection.pre-pl: 
	adding option --gift-home to specify a location
	for the configuration directory other than home,
	if the environment variable $GIFT_HOME is not set.

	* libInvertedFile/cc/CMatrix.cc:
	* libInvertedFile/include/CMatrix.h:
	* libInvertedFile/cc/CWeightedFeature.cc:
	* libInvertedFile/include/CWeightedFeature.h:
	* libInvertedFile/cc/CMatrixWithEigenVectors.cc:
	* libInvertedFile/include/CMatrixWithEigenVectors.h:
	* libInvertedFile/cc/Makefile.am (libInvertedFile_a_SOURCES): 
	removed CMatrix.cc CMatrixWithEigenVectors.cc 
	CWeightedFeature.cc as they are currently unused (old idea).

	* scripts/perl/gift-socket-workaround.pre-pl: 
	* scripts/perl/Makefile.am: 
	Removed gift-socket-workaround.pre-pl and related targets

	* libInvertedFile/cc/CAccessorProxy.cc: 
	* libInvertedFile/include/CAccessorProxy.h: 
	* libInvertedFile/include/CAFPerl.h: 
	* libInvertedFile/cc/CAFPerl.h: 
	* libInvertedFile/cc/CBaseTypeFactory.cc (makeQuery): 
	* libInvertedFile/include/CAcPerl.h: 
	* libInvertedFile/cc/CAcPerl.h: 
	* libInvertedFile/include/CQPerl.h: 
	* libInvertedFile/cc/CQPerl.cc: 
	ifdef __GIFT_WITH_PERL__ comments out
	Perl-specific-parts, if needed.

	* libInvertedFile/cc/Makefile.am (INCLUDES): 
	removed @PERL_CC_ADDITIONS@ 

	* GIFTServer/Makefile.am (gift_LDFLAGS): removed
	(gift_LDADD): removed @PERL_LD_ADDITIONS@ 

	* libInvertedFile/cc/Makefile.am (INCLUDES): 
	removed @MY_SQL_PLUS@ @MY_SQL@ 

	* configure.in: got rid of ugly perl code stuff. Implemented
	real test if -lsqlplus is there and working same for includes

	* scripts/emacs-lisp/gift-compile-current.el (gift-utomake): 
	Changed this to delete ./config.cache before deletion.

	* perl-compile-test-program.cc:
	File was added. This file is compiled when running
	./configure in order to test if perl is well installed.
	It should compile with a decently installed Perl 5.

2000-10-05  Wolfgang Müller  <muellerw@cui.unige.ch>

	* libInvertedFile/include/CAcIFMySQL.h: 
		...(class string) not accepted
	by gcc any more. 
	

	* GIFTServer/Server.cc (main): 
	gGIFTHome is now the variable which contains
	the current home directory of the gift.

2000-10-02  Wolfgang Müller  <muellerw@cui.unige.ch>

	* libInvertedFile/include/CDNFullyWeighted.h:
	* libInvertedFile/include/CDocumentNormalizer.h:
	these obsolete files were deleted

	
	* libInvertedFile/include/CAcIFFileSystem.h: 
	* libInvertedFile/include/CAcInvertedFile.h: 
	* libInvertedFile/include/CAccessorImplementation.h: 
	deleted: #include "CCollectionFrequencyList.h"

	* libInvertedFile/cc/Makefile.am (libInvertedFile_a_SOURCES): 
	removed CCollectionFrequencyElement.cc

	* libInvertedFile/cc/CCollectionFrequencyElement.cc: removed
	* libInvertedFile/include/CCollectionFrequencyElement.h: removed
	* libInvertedFile/include/CCollectionFrequencyList.h: removed
	
	* libInvertedFile/cc/CAlgorithmIDList.cc: 
	* libInvertedFile/cc/CAlgorithmIDListList.cc: 
	* libInvertedFile/include/CAlgorithmIDList.h: 
	* libInvertedFile/include/CAlgorithmIDListList.h: 

	* libInvertedFile/cc/CSessionManager.cc (startConfigElement): 
	removed references to algorithm-id-list-list
	(toXML): removed "lReturnValue += CAlgorithmIDListList::toXML();"
	(convertPropertyToXML): commented out this function

	* libInvertedFile/include/CSessionManager.h: 
	removed #include "CAlgorithmIDListList.h"

	* libInvertedFile/cc/Makefile.am (libInvertedFile_a_SOURCES): 
	Removed AlgorithmIDList AlgorithmIDListList

	* libInvertedFile/cc/CAttributeList.cc: ifdef'ed out a couple 
	of debugging printouts. 

2000-09-29  Wolfgang Müller  <muellerw@cui.unige.ch>

	* Doc/Makefile.am (gift-guide.txt): Added this target.
	It makes gift-guide.txt which is then copied to README 
	by hand.

2000-09-27  Wolfgang Müller  <muellerw@cui.unige.ch>

	* scripts/perl/CXMLTreeBuilder.pre-pm (addChildToTree): Changed
	debugging output

2000-09-26  Wolfgang Müller  <muellerw@cui.unige.ch>

	* scripts/perl/gift-add-collection.pre-pl (wanted): On finding
	a pre-exsisting feature file, gift checks, if this file is newer
	than the script. If so, the script will not generate a new feature
	file. This greatly simplifies re-indexing databases after adding 
	images. 

2000-09-25  Wolfgang Müller  <muellerw@cui.unige.ch>

	* scripts/perl/gift-url-to-fts.pre-pl (convertURLToFeatureFile): 
	* libInvertedFile/cc/CAcIFFileSystem.pre-cc (URLToFeatureList): 
	Removed feature file naming bug in the case of an previously 
	unknown image

	* libInvertedFile/cc/CQInvertedFile.cc: 
	If mModulo!=0, only features with 
	featureID % mModulo == mModuloClass are
	taken into account.

	* scripts/perl/CFeedbackClient.pre-pm (getAlgorithmID): 
	* scripts/perl/CFeedbackClient.pre-pm (getCollectionID): 
	Changed these functions in a way that they return identity
	if they are fed with an ID -instead of a number- by mistake.

	* libInvertedFile/include/CQInvertedFile.h: 
	* libInvertedFile/cc/CQInvertedFile.cc(CQInvertedFile::init): 
	Reading the attributes mrml::cui_pr_modulo mrml::cui_pr_moculo_class
	into the variable mModulo and mModuloClass.

	* libInvertedFile/include/mrml_const.h:
	* libInvertedFile/cc/mrml_const.cc:
	Newly generated these files from changed DTD using 
	gift-dtd-to-keywords.pl
	
	* dtd/mrml.dtd: added the attributes cui-pr-modulo and 
	cui-pr-modulo-class to algorithm

2000-09-22  MUELLER Wolfgang  <muellerw@cui.unige.ch>

	* GIFTServer/gift-mrml-messages/gift-iconfigure.mrml: 
	* scripts/perl/CFeedbackClient.pre-pm (configureSession): 
	Added a further optional parameter $lAdditionalAlgorithmAttributes.
	This is a string which will be placed at the position of an attribute
	within the MRML signal for configuration that will be sent to the 
	server.

2000-09-21  MUELLER Wolfgang  <muellerw@cui.unige.ch>

	* GIFTServer/gift-config/gift-config.pre-mrml: 
	Changed faulty reference to CVLDAudreyTam.pl to
	CViperLinkDemo.pl

	* scripts/perl/gift-mrml-client.pre-pl: Using Getopt::Long
	for better configuring this script.

	* ALLFILES: Viper has changed its name to GIFT. According
	to this all occurences of "viper" have been changed to "gift".
	Derived names have changed vrom CVL.... to CGL etc. The files
 	have also been MOVED accordingly. Sorry for this, but this gives
	us consistency.

2000-09-19  MUELLER Wolfgang  <muellerw@cui.unige.ch>

	* configure.in: adding --enable-set-web-publishing-directory
	--enable-set-web-publishing-location for improving
	v-add-collection.pl

	* Doc/viper-guide.sgml (Caveat): Added item containing 
	description how to "configure" SnakeCharmer after 
	unpacking.

2000-08-18  MUELLER Wolfgang  <muellerw@cui.unige.ch>

	* Doc/viper-guide.sgml (Always): Added changes to
	reflect changes in v-add-collection.pl . Also adding
	remarks about JAVA2 vs. JAVA1.1.

2000-08-17  Wolfgang MÜLLER  <muellerw@cui.unige.ch>

	* libInvertedFile/cc/CAlgorithmCollection.cc: Added function
	containsAlgorithmByType

2000-08-16  Wolfgang MÜLLER  <muellerw@cui.unige.ch>

	* libInvertedFile/cc/CAlgorithm.cc: Do attribute inheritance
	for CAlgorithms only (not for other XML elements) like e.g. 
	<property>

	* libInvertedFile/cc/CAccessorProxy.cc: added perl accessor
	entry

	* scripts/perl/v-add-collection.pre-pl: Putting thumbnails
	into a _thumbnail directory. if you are indexing ~/aaa, the
	thumbnails will be put into ~/aaa_thumbnails by default.

	* libInvertedFile/cc/CAlgorithmCollection.cc(CAlgorithmCollection::getAlgorithmByType): 
	New, more sensible strategy of returning default algorithm.
	
2000-08-15  Wolfgang MÜLLER  <muellerw@cui.unige.ch>

	* scripts/perl/v-add-collection.pre-pl: In order to avoid 
	bugs, this v-add-collection.pre-pl creates for each collection
	created its InvertedFileFeatureInformation.db on the fly.

	More than that, it will now recognize if an image directory is in
	the public_html, and will set the options accordingly. One does
	not need to do anything to put things on the web.
	

	* ViperServer/viper-config/viper-config.pre-mrml: 
	Changed this file for providing a reasonable configuration for
	novice users  

2000-07-27  MUELLER Wolfgang  <muellerw@cui.unige.ch>

	* libInvertedFile/include/CAFIFMySQL.h: 
	* libInvertedFile/cc/CAFIFMySQL.cc: 
	Added file.

	* libInvertedFile/include/CDocumentFrequencyList.h: 
	Added default constructor

2000-07-17  Wolfgang MÜLLER  <muellerw@cui.unige.ch>

	* libInvertedFile/include/CAcIFFileSystem.h: 
	* libInvertedFile/cc/CAcIFFileSystem.cc: 
	This class does what CAcInvertedFile did before.
	In order to avoid double inheritance, I had to make
	the CAcURL2FTS class a member [instead of the 
	inheritance that was used before].

	* libInvertedFile/include/CAcInvertedFile.h: 
	* libInvertedFile/cc/CAcInvertedFile.cc: 
	CAcInvertedFile has become purely abstract.
	
	* libInvertedFile/include/CAccessor.h: 
	* libInvertedFile/cc/CAccessor.cc: 
	* libInvertedFile/include/CAccessorImplementation.h: 
	* libInvertedFile/cc/CAccessorImplementation.cc: 
	CAccessor has become a pure abstract class.
	CAccessorImplementation contains now the 
	implementation of CAccessor. This is preparing the structure
	for accessors which access SQL databases.

2000-07-14  Wolfgang MÜLLER  <muellerw@cui.unige.ch>

	* libInvertedFile/cc/CAcURL2FTS.cc: 
	* libInvertedFile/include/CAcURL2FTS.h: 
	Adding accessors to the filenames in CAcURL2FTS

	* scripts/emacs-lisp/v-compile-current.el (v-switch-to-associated-c++): 	
	this function is now aware of the fact that there exsist files
	which have the extension .pre-cc and which will be turned into
	.cc by a sed script. This allows some preconfigurations.
	(v-switch-to-associated-h): the same.
	(v-associated): the same.
	(v-compile-current): dito 

2000-07-05  Wolfgang MÜLLER  <muellerw@cui.unige.ch>

	* configure.in: "released" as 0.1.1

2000-07-03  MUELLER Wolfgang  <muellerw@cui.unige.ch>

	* Doc/Makefile.am (CLEANFILES): added viper-guide.info
	* Doc/Makefile.am (all): added target system-doc and 
	viper-guide.info, in a way that the Makefile will try to make
	them, however, building will be continued even if the Doc cannot
	be made.

2000-07-03  Wolfgang MÜLLER  <muellerw@cui.unige.ch>

	* Doc/viper-guide.sgml : removing remarks about
	known bugs which have been fixed in the meanwhile.

2000-06-26  MUELLER Wolfgang  <muellerw@cui.unige.ch>

	* libInvertedFile/cc/CQPerl.cc (CQPerl): 
	Adding the use of CAcPerl

	* libInvertedFile/include/CAcPerl.h: 
	* libInvertedFile/cc/CAcPerl.cc: 
	* libInvertedFile/include/CAFPerl.h: 
	* libInvertedFile/cc/CAFPerl.cc: 
	New files for configuring perl accessors for a 
	collection

	
	* ViperServer/generateInvertedFile.cc (main): 
	* libInvertedFile/cc/CAFInvertedFile.cc: 
	Changing new CAcInvertedFile to
	new CAcIFFileSystem.

	* libInvertedFile/include/CAcIFFileSystem.h:
	* libInvertedFile/cc/CAcIFFileSystem.cc:
	* libInvertedFile/include/CAcInvertedFile.h:
	Moving files:
	CAcInvertedFile now contains some abstraction
	of CAcIFFileSystem and CAcIFMySQl.
	The old CAcInvertedFile is now CAcIFFileSystem

	* libInvertedFile/include/CAcIFMySQL.h:
	* libInvertedFile/cc/CAcIFMySQL.cc:
	Created. Will contain Cornelia's code?
	 removing getRandomRLLs, because unused.
	
	* libInvertedFile/include/CAcInvertedFile.h:
	* libInvertedFile/include/CAccessor.h: 
	adding comments removing getRandomRLLs, because unused

2000-06-23  MUELLER Wolfgang  <muellerw@cui.unige.ch>

	* ViperServer/Makefile.am: 
	Adding @PERL_LD_ADDITIONS@

	* libInvertedFile/cc/Makefile.am: Adding 
	@PERL_CC_ADDITIONS@ 

	* configure.in (PERL_LD_ADDITIONS): 
	* configure.in (PERL_CC_ADDITIONS): New variables 
	and substitutions which contain the additional cc 
	and ld flags needed when lining Perl with Viper

	* ViperServer/Server.cc (main): void cast became 
	char cast. uint became int.

2000-06-21  Wolfgang MÜLLER  <muellerw@cui.unige.ch>

	* libInvertedFile/include/CAlgorithmIDList.h: 
	* libInvertedFile/cc/CAlgorithmIDList.cc: 
	setID(const string&);

	* libInvertedFile/include/CSessionManager.h: 
	* libInvertedFile/cc/CSessionManager.cc(CSessionManager::toXMLHandshake): 
	is not anymore const.

2000-06-20  Wolfgang MÜLLER  <muellerw@cui.unige.ch>

	* configure.in: 
	* Makefile.am (SUBDIRS): Changing for separating
	the libBayesian files from the distribution. These
	files presently are unused, but we have to check the
	patent situation before making them GNU. In fact I do not see
	too many problems, as the inspiration drawn from the patented
	PicHunter system is quite remote, our system that uses libBayesian
	is slow and rather for research purposes. However, I would like to
	contact NEC first before proceeding

	* libBayesian/cc/CDistanceCalculator.cc: changing 
	calls to do_for_equal_first by adding lInserter.
	The in-line version does not compile any more with
	the new gcc.

2000-06-19  Wolfgang MÜLLER  <muellerw@cui.unige.ch>

	* scripts/perl/v-add-collection.pre-pl (wanted):
	Viper does not cope well with the fact that kaffe removes "//" out
	of URLs. So when adding collections, we have to do the same.

	* libInvertedFile/cc/CAccessorCollection.cc: 
	* libInvertedFile/cc/CAlgorithmCollection.cc: Proper error message
	when configuration file not found.

2000-06-14  Wolfgang MÜLLER  <muellerw@cui.unige.ch>

	* scripts/perl/CFeedbackClient.pre-pm (handleStart): 
	changing m[] to m:: in order to deconfuse the perl mode of
	XEmacs. Adding more comments.

	* dtd/mrml.dtd: added allows-children tag, as well as some
	further comments

	* scripts/perl/v-dtd-to-tex.pre-pl: Added a description
	of the --fragment option

2000-05-25  MUELLER Wolfgang  <muellerw@cui.unige.ch>

	* libInvertedFile/cc/CAlgorithm.cc: the HACK
	marked part did not cope with text nodes
	in the configuration before.

2000-05-23  MUELLER Wolfgang  <muellerw@cui.unige.ch>

	* libInvertedFile/include/CXMLElement.h: 
	* libInvertedFile/cc/CXMLElement.cc: getText Function.

2000-05-19  MUELLER Wolfgang  <muellerw@cui.unige.ch>

	* ViperServer/viper-config/Makefile.am (MRMLCONFIG): 
	Inserted __BINDIR__ and __PERL_LOCATION__ 

	* ViperServer/viper-config/viper-config.pre-mrml: 
	Added "a-perl" algorithm, removed legacy code 
	the (property-item-list) and algorithm-list-list.

2000-05-18  MUELLER Wolfgang  <muellerw@cui.unige.ch>

	* libInvertedFile/cc/Makefile.am: 
	Added a echo|sed to the INCLUDE part. The goal of this
	is to remove the define -Dbool=char from the perl 
	configuration data.

	* libInvertedFile/include/CXMLElement.h: 
	* libInvertedFile/cc/CXMLElement.cc: 
	Added a type of nodes. Necessary for text/CDATA nodes.
	
2000-05-17  MUELLER Wolfgang  <muellerw@cui.unige.ch>

	* scripts/perl/CTripleTransfer.pre-pl: 
	* scripts/perl/CVLDAudreyMTam.pre-pl: 
	* scripts/perl/CVLStructuredAnnotation.pre-pm: 
	* scripts/perl/CViperLink.pre-pm: 
	* scripts/perl/CViperLinkDemo.pre-pl: 
	* scripts/perl/CXMLTreeBuilder.pre-pm: 
	* scripts/perl/CXMLTreeVisitor.pre-pm: 
	* scripts/perl/CXTVTripletList.pre-pm: 
	* scripts/perl/CXTVTripletList.pre-pm: 
	* scripts/perl/Makefile.am: 
	Added these files, changed Makefile.am accordingly
	(bin_SCRIPTS): 

2000-04-20  MUELLER Wolfgang  <muellerw@cui.unige.ch>

	* ViperServer/Server.cc: 
	* ViperServer/CCommunicationHandler.cc: fixing
	even more the problem when VIPER_HOME is unset.
	Test works now.
	

2000-04-19  MUELLER Wolfgang  <muellerw@cui.unige.ch>

	* scripts/perl/CFeedbackClient.pre-pm: 
	* scripts/perl/CFCMovingTarget.pre-pm: 
	I spent a "nice afternoon" (between 20:00 and 01:40) changing 
	some undocumented stuff, i.e. all the files which have to do 
	with benchmarking and MRML negotiation in Perl, fixing 
	some small annoying mistakes.

	* scripts/perl/CQueryPradigmMatcher.pre-pm:
	added a $self where it was missing.
	
2000-04-18  MUELLER Wolfgang  <muellerw@cui.unige.ch>

	* scripts/perl/CFeedbackClient.pre-pm (getCollection(): 
	Quite radical changes in about all the program
	for bringing MRML negotiation on the state of
	the JAVA/C++ packages.

2000-04-17  MUELLER Wolfgang  <muellerw@cui.unige.ch>

	* ViperServer/CCommunicationHandler.cc(readAndParse): 
	Fixed annoying bug which lets viper crash if the environment 
	variable VIPER_HOME is unset.
	
	* ViperServer/viper-config/Makefile.am (clean): 
	Have to delete viper-config.mrml when cleaning.

	* scripts/perl/CQueryPradigmMatcher.pre-pm: A perl
	module for matching query-paradigm and query-paradigm-list

	* scripts/perl/Makefile.am (EXTRA_SCRIPTS): Adding
	CQueryParadigmMatcher.pre-pm

2000-04-13  MUELLER Wolfgang  <muellerw@cui.unige.ch>

	* ViperServer/viper-config/viper-config.pre-mrml: Added query-paradigm
	tag into algorithm, as well as an empty property sheet.

	* scripts/perl/v-add-collection.pre-pl: Added query-paradigm
	tag to the "collection" elements in print statement.

2000-04-10  MUELLER Wolfgang  <muellerw@cui.unige.ch>

	* ViperServer/Server.cc(sendMessage): 
	Put last sent message into a separate file

	* ViperServer/CCommunicationHandler.cc(readAndParse): 
	Put last recieved message into a separate file

2000-04-04  MUELLER Wolfgang  <muellerw@cui.unige.ch>

	* libInvertedFile/include/CAttributeList.h(operator[]): 
	* libInvertedFile/cc/CAttributeList.cc(operator[]): 
	got rid of embarassing workaround which seemed to be unnecessary
	AND causing bugs.
	
	* libInvertedFile/cc/CSessionManager.cc(CSessionManager::query): 
	fixed a bug which made the system crash if the session which 
	is supposed to be containing the query is unknown. Now the system 
	exits with an error message instead.
	
	* ViperServer/Server.cc(startMRMLElement): 
	* ViperServer/Server.cc(endMRMLElement): 
	Commented out this "legacy code".

	* ViperServer/CCommunicationHandler.h(CSortBySessionID_SH):
	* ViperServer/CCommunicationHandler.cc(CSortBySessionID_SH):
	never used=>removed

	* libInvertedFile/include/CXEVCommunication.h(startVisit): 
	* libInvertedFile/cc/CXEVCommunication.cc(startVisit): 
	* libInvertedFile/include/CXMLElementVisitor.h(startVisit): 
	* libInvertedFile/cc/CXMLElementVisitor.cc(startVisit): 
	* libInvertedFile/include/CXEVCommunication.h(endVisit): 
	* libInvertedFile/cc/CXEVCommunication.cc(endVisit): 
	* libInvertedFile/include/CXMLElementVisitor.h(endVisit): 
	* libInvertedFile/cc/CXMLElementVisitor.cc(endVisit): 
	Changing from preorder visits to a visit both ways, i.e.
	visitor is called once before visiting the children, 
	once afterwards 
		
	* ViperServer/CCommunicationHandler.h(processQuery): 
	* ViperServer/CCommunicationHandler.cc(processQuery): 
	* ViperServer/CCommunicationHandler.h(endConfiguration): 
	* ViperServer/CCommunicationHandler.cc(endConfiguration): 
	* ViperServer/CCommunicationHandler.h(setCurrentSession): 
	* ViperServer/CCommunicationHandler.cc(setCurrentSession): 
	Cleaning up. Deleted all functions which are not used any
	more because of the new visitor aproach. Also trying to move
	things into the threadsafe direction

2000-03-28  MUELLER Wolfgang  <muellerw@cui.unige.ch>

	* scripts/emacs-lisp/v-compile-current.el (v-compile-current): 
	added JAVA support to this function which before worked only for
	.cc and .h files

2000-03-27  MUELLER Wolfgang  <muellerw@cui.unige.ch>

	* libInvertedFile/cc/Makefile.am (libInvertedFile_a_SOURCES): 
	adding CXMLElementVisitor and CXEVCommunication

	* libInvertedFile/include/CXEVCommunication.h: 
	* libInvertedFile/cc/CXEVCommunication.cc: 
	* libInvertedFile/include/CXMLElementVisitor.h: 
	* libInvertedFile/cc/CXMLElementVisitor.cc: 
	A visitor which is supposed to visit the subtree of an 
	CXMLElement
	
	* ViperServer/Server.cc
	* ViperServer/CCommunicationHandler.h:
	* ViperServer/CCommunicationHandler.cc:
	Moving things towards DOM parsing with subsequent traversal. This
	is a bit slower, but easier to change afterwards.
	
	* ViperServer/CCommunicationHandler.h(stringOfRelevanceLevelList): 
	* ViperServer/CCommunicationHandler.cc(stringOfRelevanceLevelList): 
	Removed this obsolete function.

	* libInvertedFile/include/CXMLElement.h(getNumberOfAttributes): 
	* libInvertedFile/cc/CXMLElement.cc(getNumberOfAttributes): 
	adding a function to get the number of attributes in an CXMLElement.

	* libInvertedFile/include/CPropertySheetMatcher.h: 
	* libInvertedFile/cc/CPropertySheetMatcher.cc: 
	* libInvertedFile/cc/Makefile.am:
	A new class for matchin property sheets. This becomes important
	for getAlgorithm, getCollection.

	* ViperServer/CCommunicationHandler.cc(getAlgorithms): 
	* ViperServer/CCommunicationHandler.h(getAlgorithms): 
	added

	* ViperServer/Server.cc(startMRMLElement): 
	adding getAlgorithms and getCollections.

	* ViperServer/CCommunicationHandler.cc(getCollections): 
	* libInvertedFile/include/CSessionManager.h(getCollections): 
	* libInvertedFile/cc/CSessionManager.cc(getCollections): 
	New function. Probably only temporarily in CSessionManager, but
	here to stay in the CCommunicationHandler.

	* libInvertedFile/include/CAlgorithmCollection.h(CAlgorithmCollection): 
	* libInvertedFile/cc/CAlgorithmCollection.cc(CAlgorithmCollection): 
	Constructor now takes an argument, the config file.

	* libInvertedFile/include/CAlgorithmCollection.cc(startAlgorithmCollectionElement):
	* libInvertedFile/include/CAlgorithmCollection.cc(endAlgorithmCollectionElement): 
	Making CAlgorithmCollection read the configuration file
	as a part of operation to disentangle CAlgorithmCollection
	and CSessionManager

	* libInvertedFile/include/CSessionManager.h: 
	Adding some critic comments to CSessionManager.

	* libInvertedFile/cc/CAccessorProxy.cc(toXMLElement): 
	* libInvertedFile/include/CAccessorProxy.h(toXMLElement): 
	* libInvertedFile/include/CAccessorCollection.h(toXMLElement): 
	* libInvertedFile/cc/CAccessorCollection.cc(toXMLElement): 
	* libInvertedFile/cc/CAlgorithmCollection.cc(toXMLElement): 
	* libInvertedFile/include/CAlgorithmCollection.h(toXMLElement): 
	Added the function toXMLElement which turns the content of
	the respective structures into an CXMLElement which can be
	used for answering mrml_const::get_collections and
 	mrml_const::get_algorithms requests
	

2000-03-24  MUELLER Wolfgang  <muellerw@cui.unige.ch>

	* scripts/perl/v-dtd-to-tex.pre-pl: 
	complete rewrite of this perl program, in order
	to make output better, and in order to suppress
	our proprietary extensions from the tex output
	if needed. As a downside, this perl program now
	needs XML::Parser, which is not so surprising after
	all.

2000-03-23  MUELLER Wolfgang  <muellerw@cui.unige.ch>

	* ViperServer/CCommunicationHandler.h(openSession): 
	* ViperServer/CCommunicationHandler.h(renameSession): 
	* ViperServer/CCommunicationHandler.h(deleteSession): 
	* ViperServer/CCommunicationHandler.h(getSessionsForUser): 
	* ViperServer/CCommunicationHandler.cc(openSession): 
	* ViperServer/CCommunicationHandler.cc(renameSession): 
	* ViperServer/CCommunicationHandler.cc(deleteSession): 
	* ViperServer/CCommunicationHandler.cc(getSessionsForUser): 
	Changed return value of these functions to CXMLElement*
	
	* ViperServer/CCommunicationHandler.h(getSessions):
	* ViperServer/CCommunicationHandler.cc(getSessions):
	* ViperServer/Server.cc: 
	adding functions to implement mrml:get-sessions.

2000-03-22  MUELLER Wolfgang  <muellerw@cui.unige.ch>

	* ViperServer/CCommunicationHandler.h(newSession):
	* ViperServer/CCommunicationHandler.cc(newSession):
	deleted.

	* dtd/mrml.dtd(open-session): 
	Added "password" attribute.

	* ViperServer/CCommunicationHandler.h(openSession): 
	* ViperServer/CCommunicationHandler.h(renameSession): 
	* ViperServer/CCommunicationHandler.h(deleteSession): 
	* ViperServer/CCommunicationHandler.h(getSessionsForUser): 
	* ViperServer/CCommunicationHandler.cc(openSession): 
	* ViperServer/CCommunicationHandler.cc(renameSession): 
	* ViperServer/CCommunicationHandler.cc(deleteSession): 
	* ViperServer/CCommunicationHandler.cc(getSessionsForUser): 
	Adding new functions for new MRML handshake.

2000-03-21  MUELLER Wolfgang  <muellerw@cui.unige.ch>
        * version 0.1 as sent to the FSF.
	* configure.in: 
	* Makefile.am (SUBDIRS): 
	Added a new directory for scientific work which has not yet been 
	published and thus is not yet released.

2000-03-13  Wolfgang MÜLLER  <muellerw@cui.unige.ch>

	* libInvertedFile/cc/CAcInvertedFile.cc(newGenerateInvertedFile): 
	Delete viper-auxiliary-? files created by the mergesort performed.
	The files stay intact if newGenerateInvertedFile aborts with an
	error for facilitating debugging.

	* libInvertedFile/include/mrml_const.h: 
	* libInvertedFile/cc/mrml_const.cc: 
	Making all string constants named constants in the c++ sense.
	By this we can check if a string constant is defined or not, typos
	are detected at compile time.

2000-03-05  Wolfgang MÜLLER  <muellerw@cui.unige.ch>

	* libInvertedFile/include/CAcDistanceMatrix.h: 
	* libInvertedFile/include/CAcInvertedFile.h: 
	* libInvertedFile/include/CAcURL2FTS.h: 
	* libInvertedFile/cc/CAcDistanceMatrix.cc: 
	* libInvertedFile/cc/CAcInvertedFile.cc: 
	* libInvertedFile/cc/CAcURL2FTS.cc: 
	Have to change the constructors for the new CAccessor factory design

2000-03-01  Wolfgang MÜLLER  <muellerw@cui.unige.ch>

	* libInvertedFile/include/CAccessorFactoryContainer.h: 
	* libInvertedFile/include/CAccessorFactoryContainer.cc: 
	* libInvertedFile/include/CAccessorFactory.h: 
	* libInvertedFile/include/CAccessorFactory.cc: 
	* libInvertedFile/include/COpenCloseTracker.h: 
	* libInvertedFile/cc/COpenCloseTracker.cc: 
	* libInvertedFile/include/CAccessorProxy.h: 
	* libInvertedFile/cc/CAccessorProxy.cc: 
	* libInvertedFile/cc/CAccessorCollection.cc: 
	Changing the CAccessor factory design. Makes adding accessors as easy
	as adding CQueries.

2000-02-18  Wolfgang MÜLLER  <muellerw@cui.unige.ch>

	* scripts/perl/CFeedbackClient.pre-pm:
	* scripts/perl/v-mrml-client.pre-pl:
	renamed file from v-mrml-client.pre-pm to CFeedbackClient.pre-pm
	created new v-mrml-client.pre-pm which uses CFeedbackClient
	v-mrml-client contains now a very simple client which does
	a one-shot query

2000-02-17  Wolfgang MÜLLER  <muellerw@cui.unige.ch>

	* libInvertedFile/cc/CQInvertedFile.cc(buildQueryHash): 
	The deleting of feature lists that are not wanted 
	does is not compatible with STL vectors. Unfortunately
	we changed the type to vector, so we have to do something
	we chose to use the #define from CDocumentFrequencyList

	* ViperServer/Server.cc(startMRMLElement): 
	* ViperServer/Server.cc(endMRMLElement): 
	query-step: building an XML subtree instead of a 
	CRelevanceLevelList. Changing tag names to new MRML
	
	* ViperServer/CCommunicationHandler.h(startTreeBuilding): 
	* ViperServer/CCommunicationHandler.h(addToCurrentTree): 
	* ViperServer/CCommunicationHandler.h(moveUpCurrentTree): 
	* ViperServer/CCommunicationHandler.cc(startTreeBuilding): 
	* ViperServer/CCommunicationHandler.cc(addToCurrentTree): 
	* ViperServer/CCommunicationHandler.cc(moveUpCurrentTree): 
	Adding functionality for making document subtrees. 

	* libInvertedFile/cc/CSessionManager.cc: 
	* libInvertedFile/cc/CQuery.cc: 
	* libBayesian/cc/CEnhancedPicHunter.cc: 
	* libInvertedFile/cc/CQIFFerDeLance.cc: 
	* libInvertedFile/cc/CQInvertedFile.cc:
	* libInvertedFile/include/CSessionManager.h: 
	* libInvertedFile/include/CQuery.h: 
	* libBayesian/include/CEnhancedPicHunter.h: 
	* libInvertedFile/include/CQIFFerDeLance.h: 
	* libInvertedFile/include/CQInvertedFile.h:
	In fastQuery and query: a new way of passing parameters. Parameters
	now given as an XML document subtree (CXMLElement)

	
	
2000-02-14  Wolfgang MÜLLER  <muellerw@cui.unige.ch>

	* FeatureExtraction/extract_block_features.c: HACK to convert
	integer features to float features. WARNING: this is a real
	hack. We write floats in the place of integers. At the time
	of writing this happens at line 480. (For people who get the
	creeps: David wants to redesign feature extraction anyway).

	* FeatureExtraction/viper_features.h (FREQ_MAX): Changed to 0x7ffffff
	to get a high resolution for the above HACK

2000-02-10  Wolfgang Müller  <muellerw@cui.unige.ch>

	* libInvertedFile/cc/CAcInvertedFile.cc (newGenerateInvertedFile): 
	* libInvertedFile/cc/CAcInvertedFile.cc (generateInvertedFile): 
	* libInvertedFile/cc/CAcInvertedFile.h (newGenerateInvertedFile): 
	Changes for incorporating new writeBinary function.
	Added function newGenerateInvertedFile. Supposed to be much faster	
	* libInvertedFile/cc/CInvertedFileChunk.cc (writeBinary): added 
	one parameter. Now the CInvertedfileChunk also writes the FeatureID.
	Before that the caller had to assure that FeatureID was written.

2000-01-24    Wolfgang Mueller <muellerw@cui.unige.ch>

	* libInvertedFile/cc/CScoreBoard.h(CScoreboard::CScoreboard):
	* libInvertedFile/cc/CScoreBoard.cc(CScoreboard::operator()):
	* libInvertedFile/cc/CScoreBoard.cc(CScoreboard::CScoreboard): 
	  Changed things such, that CScoreBoard does not need a CAccessor for
	  being constructed. 

2000-01-06  Wolfgang Mueller  <Wolfgang.Mueller@cui.unige.ch>

	* libInvertedFile/cc/CQInvertedFile.cc (blockFeatureGroup): 
	now activates blocking of feature groups

2000-01-04  Wolfgang Mueller  <Wolfgang.Mueller@cui.unige.ch>

	* libInvertedFile/cc/CWeightingFunction.cc (addQueryFeature): 
		Even if the inital version entry is younger than this...
		This is to notify other members, that I deleted in
		the function mentioned above the adjustRelevanceSum entry,
		which seems redundant to me.
		(setID): Necessary changes for rocchio weighting.

1999-11-29  Wolfgang Mueller  <muellerw@flyer.unige.ch>

	* libInvertedFile/include/CInvertedFileQuery.h: 
	Changed pruning interface: Scoreboard pruning now works
	on a fraction of the total number of features, as well as
	a factor of the total number of documents we want to retrieve.
	

1999-11-18  Wolfgang Mueller  <muellerw@flyer.unige.ch>

	* libInvertedFile/include/ViperExceptions.h: 
	* libInvertedFile/include/ViperExceptions.h: VEProgrammingMistake
	added. Goal of this: show if we think what you experienced is not
	an uncaught case, but rather a blunt programming mistake.

	* libInvertedFile/cc/CAlgorithm.cc (buildQueryTree): 
	preliminary implementation

	* libInvertedFile/cc/CAlgorithmCollection.cc (getAlgorithm): 
	* libInvertedFile/cc/CAlgorithmCollection.cc (makeAlgorithm): 
	* libInvertedFile/include/CAlgorithmCollection.h (getAlgorithm):
	* libInvertedFile/include/CAlgorithmCollection.h (makeAlgorithm):
	Thes functions operate now on algorithm TYPES.

	* libInvertedFile/include/CQuery.h: added addChild function and
	lCChildren type and lCChildren mChildren variable. For building
	query trees.

	* libInvertedFile/cc/CAlgorithm.cc: 
	CAlgorithm::getType added in reaction to previous change.

	* mrml.dtd: added attribute "type" to algorithm.
	Background of this is: the actual IDs of the algorithms have to be
	generated by the interface, because there can be multiple
	instances of one type of algorithm. Only the interface knows if
	this is the case. So TODO: we need to add also the functionality to
	property sheets to send a unique ID.

	* libInvertedFile/cc/CInvertedFileQuery.cc
	(buildNormalizedQueryList): 
	Using CSortByAbsQueryFactor_WF instead of CSortByQueryFactor_WF
	(without the "Abs") for queries.

	* libInvertedFile/include/CWeightingFunction.h: 
	added CSortByAbsQueryFactor_WF. its a new sorting
	operator  for making Viper more immune
	against negative feedback. This probably will become unnecessary
	when we incorporate Rocchio feedback. The problem was that if
	features get negative they get pruned, although they might have
	large impact on the query result.
	

