TextServer
Company Structured Text Software Solutions Customers Support
Demonstrations Documentation Downloads Publications Acknowledgements



Setting up Textserver

Supporting Software

Required

sgmltoxml.exe
Sgml to XML transducer. This is required only if you wish to use the system with SGML files, not already conforming to XML

indexer.exe
XML indexer.

dcQsm2Oledb.dll
TextServer OLE/DB service provider. This dynamically linked library provides access both to the ole/db interfaces necessary to operate qsm2 as a server, and to the error message handler interfaces used by ole/db.

dcQsm2Locale.dll
TextServer default word tokenizer employed by dcQsm2Oledb.dll and indexer.exe.

msdaer.dll
Microsoft OLE/DB error object. If this error object is not installed, extended errors will not be returned by TextServer.

Recommended

msdaerr.dll
OLE/DB error code to description module.

All OLE/DB core components.
These components are provided for redistribution by Microsoft, and may be required to support basic OLE/DB capabilities.

oldedb.lib
This library must be linked into any program that wishes to access OLE/DB interfaces.

Source for dcQsm2Locale.dll
It is intended that end users may develop their own word tokenizers to handle specific requirements, with the source of dcQsm2Locale serving as a useful prototype.

RDS 2.0
These components (if not already installed) are provided for redistribution by Microsoft, and are required to support RDS.

ADO 2.0
These components (if not already installed) are provided for redistribution by Microsoft, and are required to support ADO.

Optional

qsm2.exe
This is a standalone version of textserver software, coupled with a simple command line interface. It is useful for asking ad-hoc queries, validating the correctness of queries, etc.
dlldriver.exe
This is identical to qsm2.exe but loads the textserver software via the appropriate dynamically linked libraries. It's main purpose is to allow testing of the textserver dll's.
isamu.exe
This is a utility which allows exploration of the internal textserver file structures.

Documentation

Additional OLE/DB service providers.

The full Microsoft data access software development kit (Msdasdk)

Registration

The following dynamically linked libraries must be registers in the NT registary:

  • msdaer.dll
  • dcQsm2Oledb.dll
  • dcQsm2Locale.dll
  • Other OLE/DB core components if installed.
  • msdaerr.dll (if used)
To register the functionality associated with a dll, having a specific filename, change into the directory containing this dll and then issue the following command:

$ regsvr32 filename

To remove the information that this command adds to the registry issue the command:

$ regsvr32 /u filename

System Environment Variables

The text indexing software, and supporting sorting software employed by both the text indexer and TextServer may use the TEMP, TMP etc. environment variables to determine the default locations for temporary files.

The batch files used to reconstruct the sample texts expect the environment variable TextServer to specify the location of the directory containing all TextServer executables. This simplifies the deployment of these batch files, and executables.

NT Registry Values

It is important to stress that for directories to be used by textserver software they must be accessible to that software. Please ensure that log directories in particular are writable by any service which employs textserver.

  • SOFTWARE\Dealers Choice Software\PathMacros
    Keys under this directory when embedded using the syntax $(Key) in paths and filenames, will be expanded at runtime into their corresponding registry values. The primary purpose of PathMacros are to facilitate portability of text and software. Unlike system environment variables which are expanded auto-magically by the NT command shell, path macros are understood by TextServer, and preserved within paths internally saved by TextServer. In particular an index constructed from an external text, described using one or more path macros will remember the path macros used to address this external text. This allows indexes, external texts, or both to be moved independently, subject only to the requirement that the path macros used to address these files must be revised appropriately.
  • SOFTWARE\Dealers Choice Software\PathMacros\SampleCatalog
    This path macro is used to specify where (if anywhere) the catalog used to provide access to the optional sample texts should be created.
  • SOFTWARE\Dealers Choice Software\PathMacros\SampleTexts
    This path macro is used to specify under which directory (if any) the sample texts should be installed.
  • SOFTWARE\Dealers Choice Software\TextServer\Catalogs
    All data that TextServer requires in order to operate is referenced by shortcuts (Shell Links) under a single predefined master directory. This directory name must exist and must be defined in the NT registry as the value of the above key.
  • SOFTWARE\Dealers Choice Software\TextServer\FileTypes\Text
    This specifies those file extensions, separated by a space which are to be considered to identify text indices produced by dcQsm2Indexer.exe. Files with these extensions may safely be read as text indices by any user of TextServer, subject only to operating system permissions allowing this. Internal text values derived from such files, have no SQL2 granting mechanism associated with them. Text files which users must be granted access to using the SQL granting mechanism, should be assigned a distinct extension from those specified in this option, and thus be referenced only via created tables, on which grants may be imposed. The extension '*' matches all extensions.
  • SOFTWARE\Dealers Choice Software\TextServer\FileTypes\String
    This specifies those file extensions, separated by a space which are to be considered to identify ascii or unicode text files. The extension '*' matches all extensions. Files with these extensions may safely be resented as strings by any user of TextServer, subject only to operating system permissions allowing this. Internal string values derived from such files, have no SQL2 granting mechanism associated with them. String files which users must be granted access to using the SQL granting mechanism, should be assigned a distinct extension from those specified in this option, and thus be referenced only via created tables, on which grants may be imposed.
  • SOFTWARE\Dealers Choice Software\TextServer\LogDirectories\Errors
    This specifies the directory where error logs should be written. If no directory is specified, or if the directory is not writable by the process invoking TextServer then no error logs will be produced. It is strongly recommended that errors are logged.
  • SOFTWARE\Dealers Choice Software\TextServer\LogDirectories\Oledb
    TextServer will record detailed information about how it is invoked and what it returns through the OLE/DB interface, if this directory is named and writable. Users are cautioned that tracing may be voluminous and should therefore only be enabled when needed. For performance reasons tracing is allowed only in the debug version of TextServer.
  • SOFTWARE\Dealers Choice Software\TextServer\LogDirectories\Sql
    TextServer will log each SQL command executed in the specified directory, if this option is present, and the named directory is writable. The primary purpose of this log is to monitor which commands are executed, and to detect commands which begin but are never completed. Users are cautioned that this option should only be enabled if valued.
  • SOFTWARE\Dealers Choice Software\TextServer\OLEDB\DcQsm2Oledb.dll\Options\MessageBoxOnStart
    This string if specified will be presented in a message box, when TextServer is first invoked. This is useful for verifying that TextServer was correctly loaded, and for interactively debugging TextServer. Users are cautioned that TextServer will not work correctly under ASP, if this option is specified.

NOTE: In order for logging to be enabled while running qsm2 software under Internet Explorer the correct permissions have to be set on the 'logs' folder in the TextServer directory. IIS will require write permissions on this and subordinate directories. This can be done in the following manner:

  1. Open up windows explorer and go to TextServer directory.
  2. Right click on the 'logs' folder and select Properties.
  3. Click on the Security Tab.
  4. From the list choose 'Internet Guest Account'.
  5. Click the Allow box for the Write property.
  6. Click on OK.

If you are running Windows XP you might not see the Security tab when you select folder properties. In that case you have to perform these steps first:

  1. Open Windows Explorer.
  2. From the menu select Tools/Folder Options ...
  3. Select the View Tab.
  4. Scroll to the bottom of the list. Uncheck the Use simple sharing (Recommended) option.
  5. Click on OK.

If you do not see an entry for "Internet Guest Account", simply type in the name of this account. The full name of the IIS Internet Guest Account is machine\IUSR_machine. If any doubt exists as to this name, it is provided as a value in the information_schema.server table, which can be recovered by accessing this table from any catalog via a suitable web script.

File Extensions

You may wish to register isamu.exe as the default tool to be associated with files having any file extension denoting catalogs or text indices produced by TextServer. You may wish to restrict the availability of this tool, since if abused it can permanently destroy files that it operates on.

See documentation on SQL extensions for further specifics on creating QSM2 databases.

Maintainer
webmaster@textserver.com
Back