Configuration File Sections
The DAH configuration file contains several sections that represent different areas that you can configure. For details on all available configuration parameters, refer to the Distributed Action Handler Reference.
[AuthorizationRoles] Section
The [AuthorizationRoles]
defines roles that enable a particular set of actions for particular clients, SSL identities, and GSS principals. You must create a subsection for each authorization role that you define in the [AuthorizationRoles]
configuration section.
For example:
[AuthorizationRoles] 0=AdminRole 1=UserRole [AdminRole] StandardRoles=Admin,Index,ServiceControl Clients=localhost SSLIdentities=admin.example.com [UserRole] StandardRoles=Query,ServiceStatus SSLIdentities=admin.example.com,userserver.example.com
[DistributedCommandN] Section
The [DistributedCommandN]
sections contain settings for actions that DAH must send to all child servers. Each section specifies the action, templates, and parameters for one action. You must number the distributed command sections in consecutive order, starting from 0 (zero). To use distributed commands, you must also set DistributedCommands in the [Server]
section to the number of [DistributedCommandsN]
configuration sections that you create.
NOTE: If you want to use distributed commands in the DAH, you must configure and use XSL templates. Set XSLTemplates to True
in the [Server]
section. You can then set the Template parameter for each DistributedCommandN
section to use an XSL template. The IDOL Server installation for DAH includes a templates
directory, which contains some example templates.
[DistributedCommand0] Action=Query Template=query_storedstatedetail.xsl RequiredParams=2 ParamName0=storestate ParamValue0=True ParamName1=storedstatedetail ParamValue1=True [DistributedCommand1] Action=queueinfo Template=queueinfo.xsl
[DistributedEngineN] Section
The [DistributedEngineN]
section contains settings that determine the details of individual child servers to which the DAH distributes actions. For example:
[DistributedEngine0] Host=localhost Port=9100 Type=IDOL [DistributedEngine1] Host=Galileo Port=9100 Type=IDOL DefaultRelevance=75 QueryFormat=PQF RequiresAuthentication=True ResponseFormat=XML SecurityKeys=12,34,6567,999 SecurityType=Federated
NOTE: You must set the DistributedEngines parameter in the [Server]
section to the number of child servers that you require.
[Federated] Section
The [Federated]
section contains configuration settings for federated search, including the number of defined federated modules, their types, and the paths to their libraries. For example:
[Federated] Number=1 DefineTypeCSVs0=Z39.50,K2 LibraryPath0=federated.dll
[License] Section
The [License]
section contains licensing details which you must not change. For example:
LicenseServerHost=127.0.0.1 LicenseServerACIPort=20000 LicenseServerTimeout=600000 LicenseServerRetries=1
[Logging] Section
The [Logging]
section lists the log streams that you set up to create separate log files for different log message types (action and application). It also contains a subsection for each of the listed log streams, in which you configure the settings that determine how to log each stream. For example:
[Logging] LogDirectory=./logs 0=ACTION_LOG_STREAM 1=APP_LOG_STREAM [ACTION_LOG_STREAM] LogFile=action.log LogTime=True LogEcho=True LogMaxSizeKBs=1024 LogTypeCSVs=action LogLevel=full LogExpireAction=datestamp [APP_LOG_STREAM] LogFile=application.log LogTime=True LogEcho=False LogMaxSizeKBs=1024 LogTypeCSVs=application LogLevel=full LogExpireAction=previous
[MultiStageQuery] Section
The [MultiStageQuery]
section contains settings for stage information for multistage querying. This section applies only to the DAH running in non-mirror mode. You configure the number of stages and specify the VDBs for each stage of the query. For example:
[MultiStageQuery] Stages=3 0=db0 1=db1 2=db2,db3
[QueryTemplate] Section
The [QueryTemplate]
section contains settings to specify the XSL templates to use when merging responses from child servers.
[QueryTemplate] QueueInfo=queueinfo.xsl ProcessInfo=processinfo.xsl
[Server] Section
The [Server]
section contains general settings. For example:
[Server] MirrorMode=True Port=9060 TimeBetweenRetries=60000 DistributionMethod=0 XSLTemplates=False DistributedEngines=2 VirtualDatabases=2
[Service] Section
The [Service]
section contains settings that determine which machines can use and control the IDOL Server service. For example:
[Service] ServicePort=9061
[StateChangingActions] Section
If you run the DAH in mirror mode, the [StateChangingActions]
section contains settings that determine how the DAH handles actions that change the state of its children. For example:
[StateChangingActions] RestrictSCAs=False MapsCategoryIDs=True MaxQueueSize=1000000 CustomLibraryCSVs=convertusers MaxQueuedSCARetries=3
[SSLOptionN] Section
The [SSLOptionN]
section contains settings that determine incoming or outgoing SSL connections between the DAH and other servers. For example:
[SSLOption0] SSLMethod=TLSV1.3 SSLCertificate=host1.crt SSLPrivateKey=host1.key [SSLOption1] SSLMethod=TLSV1.3 SSLCertificate=host2.crt SSLPrivateKey=host2.key SSLPrivateKeyPassword=sample1XQ SSLCheckCommonName=True
NOTE: You must create an SSLOption
section for each unique value set by the SSLConfig parameter in the [Server]
, [DistributedEngineN]
, [IDOLServerN]
, or [DAHEngineN]
section.
[VDBN] Section
If you run the DAH in non-mirror mode, you must create a [VDBN]
section for each of the virtual databases that you want to create. Use this section to specify the database details. For example:
[VDB0] DbName=AllNews Type=Combinator MapsTo=0:Today,2:News,3:CurrentAffairs [VDB1] DbName=Archive Type=Distributor MapsTo=0:Archive,1:Library
NOTE: You must set the VirtualDatabases parameter in the [Server]
section to the number of virtual databases that you require.