DBD::Fulcrum  --  a Fulcrum SearchServer interface for Perl 5

   Copyright (c) 1996-1998  Davide Migliavacca & INFERENTIA, Milano ITALY

   You may distribute under the terms of either the GNU General Public
   License or the Artistic License, as specified in the Perl README file.
   If you modify this, and are willing to share, please let me know so that
   I may fold the changes in for the immense benefit of other people.

   PLEASE READ THE ENTIRE README FILE CAREFULLY !

NEWS:
 Version 0.12: Builds and tests fine under Windows NT 4.0sp3, SearchServer 3.5c,
               DBI 0.92, perl 5.004_57

*BEFORE* BUILDING, TESTING AND INSTALLING this you will need to:

    Build, test and install Perl 5 (at least 5.003, this version developed on 5.004)
    It is very important to TEST it and INSTALL it!

    Build, test and install the DBI module (at least DBI 0.71 - this version developed with 0.85).
    It is very important to TEST it and INSTALL it!
    I have built under NT using perl5.004_57, DBI 0.92, and SearchServer 3.5c.
    Read the NTNOTES below.

    Remember to *read* the DBI README file!

    Install enough Fulcrum SearchServer software to enable DBD::Fulcrum to build.
    That includes the C Software Development Kit.
    Contact Fulcrum (http://www.fulcrum.com) for any information about their products.


BUILDING:

	perl Makefile.PL
	make

If it's builds without error you can then run the tests. For the
main test to work it must be able to connect to a Fulcrum SearchServer table.
To avoid unforseeable problems with a real, production table, following these simple
instructions to build your own brand-new use-it-once table.

Copy the following files from Fulcrum SearchServer installation directories (usually $ENV{'FULCRUM_HOME'}/fultext)
to your new directory (you can use fultest under the DBD-Fulcrum dist,
that's exactly what it's there for).
	fultext.ftc
	fultext.eft
	ftpdf.ini (sometimes)
	*mess files 

Set FULCRUM_HOME to your Fulcrum SearchServer installation directory (e.g. /usr/fulcrum).
Set FULCREATE, FULSEARCH and FULTEMP to the brand-new directory (thus avoiding the risk
of leaving files around at the end of the process).
Create the table test using the script test.fte:
   	execsql -0 test.fte

If execsql is not found, try $FULCRUM_HOME/bin/execsql.

Starting with version 0.11, this distribution provides an handy build-dir.sh script. Fed with
$FULCRUM_HOME and the test directory name as parameters on command line, it will create the directory,
initialize it with Fulcrum files, and build the test table. 
	./build-dir.sh $FULCRUM_HOME fultest
is as good an example as any (and you'll have to set FULCRUM_HOME before, too, so it might be considered
actually healthy).
Output of the script goes to build-dir.log for later perusal.


	make test

	make install (if the tests look okay)

As of this release, building on DEC OSF/1 requires static linking and hand-editing of the Makefile
midway through the build. Sorry, I haven't had enough time to clean things up yet.
Anyway, this should be working and is being used in a number of production systems.

It is frequent to have and invalid or unreasonable FULTEMP variable. Usually you'll get cryptic 
messages about memory not being enough. Be sure FULTEMP is valid and is readable/writable to whom
must execute the program using DBD::Fulcrum.

NTNOTES
Starting with version 0.12 you should be able to build under Microsoft(tm) Windows(tm) NT(tm).

Environment variables have very little usefulness there, BUT you'll need FULCRUM_HOME set because Makefile.PL depends on it.
Instead of using FULSEARCH, use the first parameter to connect in order to specify the ODBC data source (which roughly define a directory for SearchServer to use).
test.pl uses the definition of the environment variable DBI_DSN, read on.

So in order to build and test:

*please note* I have successfully built and tested with SearchServer 3.5c under NT 4.0, Microsoft Visual C++ 5.0, perl 5.004_57 (of the development track) and DBI 0.92. I can't imagine what could happen in another situation. And, I most definitely lack the time to test. If you feel like it, try and let me know your configuration, I'll add it to this file.

First of all, have SearchServer installed and running. Test your SearchServer before trying to use DBI, please.
Declare a new ODBC data source that you'll need to use for the after-build test. Let's name it "testdsn". Notice the FULCREATE, FULSEARCH and FULTEMP values? Instead of using the environment, you define them here.
Copy to the directory you specified for FULCREATE and FULSEARCH (do yourself a favour and let them be the same), the exactly same files you see in build-dir.sh (THAT will not work, sorry) unless you don't see them in FULCRUM_HOME\fultext (that is, ignore the ftpdf.ini file if it's missing). You'll at mininum need fultext.ftc, and the *mess files.
Use execsql, select the just declared data source "testdsn", and run the test.fte you find here. This will create the TEST table used by the tests (I'm losing count of tests here :-).

In your worthy Command Prompt, set the environment variable DBI_DSN:
	set DBI_DSN=testdsn

Rememeber to set FULCRUM_HOME to the base installation directory of the SearchServer C SDK.

Now you should be able to perl Makefile.PL, nmake and nmake install. At least it worked for me.

IF YOU HAVE PROBLEMS:

Do not hand edit the generated Makefile unless you are completely sure
you understand the implications! Always try to make changes via the
Makefile.PL command line and/or editing the Makefile.PL.

You should not need to make any changes. If you do *please* let me
know so that I can try to make it automatic in a later release.

DBI resources:
	DBI home page:
	http://www.hermetica.com/DBI
	dbi mailing lists:
	http://www.fugue.com/dbi for subscriptions

Please post details of any problems (or changes you needed to make) to
dbi-users@fugue.com and CC them to me at Davide.Migliavacca@inferentia.it. But note...

** IT IS IMPORTANT TO INCLUDE THE FOLLOWING INFORMATION:

1. A complete log of a all steps of the build, e.g.:

	perl Makefile.PL           (do a make realclean first)
	make
	make test
	make test TEST_VERBOSE=1   (only if any of the t/* tests fail)

2. Full details of which version of FUlcrum SearchServer, Perl and OS you're using.

3. The output of perl -V

_Always_ have the appropriate amount of fun,
Davide.


===============================================================================
DBI 'home page': http://www.hermetica.com/technologia/DBI

Searchable index of the dbi-users mailing list:
http://www.coe.missouri.edu/~faq/lists/dbiusers/

Fulcrum home page: http://www.fulcrum.com
Shari's home page: http://ttt.inferentia.it/users/shari


===============================================================================
===============================================================================

End.
