Next: Strategies and Default Searches, Previous: Database Modules and Handlers, Up: Configuration [Contents][Index]
Dictionary databases are defined using the database
block
statement.
Defines a dictionary database. At least two sub-statements must be
defined for each database: name
and handler
.
Defines whether this database is visible or not. By default, all databases are visible. You will need this statement if you want to temporary hide the database without removing it from the configuration. Another common use case is to hide a database that is used as a member of a virtual database, so that its contents is available only by querying the parent database (see Virtual Databases).
Sets the name of this database (a single word). This name will be used to identify this database in DICT commands.
Specifies the handler name for this database and any arguments for
it. This handler must be previously defined using the load-module
statement (see Database Modules and Handlers).
For example, the following fragment defines a database named
‘en-de’, which is handled by ‘dictord’ handler. The handler
is passed one argument, database=en-de
:
database { name "en-de"; handler "dictorg database=en-de"; }
More directives are available to fine-tune the database.
Supplies a short description, to be shown in reply to SHOW DB
command. The string may not contain new-lines.
Use this statement if the database itself does not supply a description, or if its description is malformed.
In any case, if the description
directive is specified, its value
takes precedence over the description string retrieved from the
database itself.
See SHOW DB, for a description of SHOW DB
command.
Supplies a full description of the database. This description is shown
in reply to SHOW INFO
(see SHOW INFO) command. The
string is usually a multi-line text, so it is common to use
here-document syntax (see here-document), e.g.:
info <<- EOT This is a foo-bar dictionary. Copyright (C) 2008 foo-bar dict group. Distributed under the terms of GNU Free Documentation license. EOT;
Use this statement if the database itself does not supply a full description, or if its full description is malformed.
As with description
, the value of info
takes precedence
over info strings retrieved from the database.
The following two directives control the content type and transfer
encoding used when formatting replies from this database if
OPTION MIME
(see OPTION MIME) is in effect:
Defines the headers to be sent with the replies from this
database. Argument is a here-document (see here-document),
containing the headers to be sent with each dictionary entry, if the
client sent the ‘OPTION MIME’ command. By default
dicod
uses MIME headers defined in the database itself. Use
this statement if these are not defined, or if you want to override them.
In this case you would want to include at least the ‘Content-Type’ and
‘Content-Transfer-Encoding’ headers, as shown in the example below:
directory { name "foo"; handler "dictorg"; mime-headers <<- EOT Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 8bit EOT; ... }
Valid values for the ‘Content-Transfer-Encoding’ header are:
The content will be transferred as is.
Non-printable characters will be encoded using the ‘quoted-printable’ encoding.
Non-printable characters will be encoded using the ‘base64’ encoding.
Next: Strategies and Default Searches, Previous: Database Modules and Handlers, Up: Configuration [Contents][Index]