[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

8. Configuration files

The Catalog software is made of separate Perl packages. All these packages have a configuration file that is read at startup time. They are found in the current working directory if no CONFIG_DIR environment variable is set, See section Environment variables.

The instructions found in the configuration files alter the behavior of Catalog. For instance, they can be used to change the display of an HTML page. The general structure of a configuration file is an ASCII file where lines beginning with a dash (#) are ignored as well as empty lines.

A configuration instruction has the following form

 
keyword = value

or

 
keyword : value

The prefered form is using the equal sign instead of colon.

The keyword can contain alpha-numerical characters, underscore (_) and dash (-). The value can contain any character except newline or carriage return. There is no way to specify a multi-line value for a given keyword.

Here is a simple example of a configuration file:

 
#
# Name of the database to connect. 
#
base = test

Configurations instructions may be nested. If a keyword is not followed by an equal sign, it is considered to be the start of a sub section of the configuration file. The end of a sub section is marked by the keyword end, alone on a line. Here is a simple example:

 
#
# Parameters for set and enum built from tables instead of builtin types
#
dictionaries
        name = mydict
end

Nesting can be recursive. Note that the leading white spaces are cosmetic only and are ignored by the configuration file parser. Here is an example of recursively nested instructions:

 
#
# Parameters for set and enum built from tables instead of builtin types
#
dictionaries
        name = mydict
        mydict
                where = valid = 'yes'
        end
end

The white space characters surrounding the keyword and the value are always ignored. This means that there is no way to specify a value that would contain leading or trailing white space.

In the following chapters you will find a complete description of the configuration files available in Catalog.

8.1 Catalog configuration file  
8.2 MySQL configuration file  
8.3 CGI configuration file  
8.4 Install configuration file  
8.5 SQL editor configuration file  
8.6 Template configuration file  
8.7 Hook Fulcrum configuration file  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

8.1 Catalog configuration file

Used by the Catalog package (Catalog.pm). It influences the global behavior of Catalog.

`path_separator (optional, default /)'
The string that separates path components of the _PATH_ tag in the navigation pages of the catalog, See section cedit.html.

`path_root_label (optional, default Root)'
Label shown for the root of the path shown as the _PATH_ tag in the navigation pages of the catalog, See section cedit.html.

`pathcontext_params (optional)'
Parameters that must be used in the pathcontext context, See section Intuitive navigation (pathcontext). If set it must contain the name parameter that specifies the name of the catalog to display.

`search (optional, nested)'
Specifies fields searched and extracted when searching records and the order in which they are displayed, See section Catalog search (csearch).

`<catalog name> (optional, nested)'

The following instructions only apply to the thematic catalog whose name is catalog name. All the field names must belong to the table associated with the named catalog.

@cindex searched instruction
`searched (optional)'

A comma separated list of fields to be searched. These fields must be of type char, varchar or text. If not specified, all the fields of the listed types are used. All the fields must be fully qualified by prepending the name of the table in the following way: table.field.

@cindex extracted instruction

`extracted (optional)'

A comma separated list of fields to be extracted. If not specified, all the fields of the table are extracted and available for display, See section csearch.html. This instruction is used to limit the number of fields extracted from the database, if the records are made of many fields and only a few are needed for display. All the fields must be fully qualified by prepending the name of the table in the following way: table.field. @cindex order instruction

`order (optional)'
An ORDER BY clause to sort the records found. The fields mentioned in this clause must be fully qualified by prepending the name of the table in the following way: table.field.

Here is an example configuration file:

 
#
# Catalog.pm configuration file
#
#
# HTML code that separates two component of the path
#
path_separator = &nbsp;/&nbsp;
#
# Label for the root of the hierarchy tree
#
path_root_label = <b>Ze root</b>
#
# When cgi-bin is invoked with path_info instead of regular arguments,
# pretend that these parameters were used. It must at least contain
# the name of the catalog (name=NAME) and may also contain a style, for instance.
# The id and path parameters are automaticaly calculated from the path_info.
#
pathcontext_params = name=urlcatalog
#
# Search specifications
#
search
        #
        # Specifications for urlcatalog thematic catalog
        #
        urlcatalog
                #
                # Search these fields
                #
                searched = urldemo.url,urldemo.comment
                #
                # Only extract these fields for display
                #
                extracted = urldemo.url,urldemo.comment,urldemo.created
                #
                # ORDER BY clause to sort the records found
                #
                order = urldemo.url asc
        end
end
#
# Encoding of the catalog data (default is ISO-8859-1)
#
#encoding = ISO-8859-1


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

8.2 MySQL configuration file

Used by the mysql package (mysql.pm). It defines which base must be used and parameters for the connection.

`base (mandatory)'
Name of the MySQL database to connect. Equivalent of base parameter in mysql command.

`host (optional, default localhost)'
Hostname of the machine where the database is located. May be omitted if the database is on the same machine as the application. Equivalent of the --host option of the mysql command.

`port (optional, default 3306)'
Port number of the MySQL server. May be omitted if the port number is the standard MySQL port number. Equivalent of the --port option of the mysql command.

`unixport (optional, default /var/lib/mysql/mysql.sock)'
Socket file used for communications between the server and the client when they reside on the same machine. Equivalent of the --socket option of the mysql command.

`user (optional)'
Name of the user used to connect to the MySQL database, if the authentication system is active. If it is deactivated (--skip-grant-tables) this instruction may be omitted. Equivalent of the --user option of the mysql command.

`passwd (optional)'
Password of the user used to connect to the MySQL database, if the authentication system is active. If it is deactivated (--skip-grant-tables) this instruction may be omitted. Equivalent of the --password option of the mysql command.

`auto_created (optional)'
If this instruction exists and its value is set to yes, the field named created is treated in a special way in every table. It must be of type datetime not null. Each time a record is inserted using the mysql package, if the created field does not contain any value, it is set with the current date.

`hook (optional)'
The fully qualified name of the package that implements the integration of a full text search engine. At present these values are available:

`Catalog::tools::hook_fulcrum'
See section Hook Fulcrum configuration file.

`Catalog::tools::hook_mifluz'
@xref{Hook Mifluz configuration file, ,Hook Mifluz configuration file}.

Here is an example configuration file:

 
#
# MySQL client configuration file
#
#
# Name of the database to connect. Mandatory.
#
base = interbat
#
# Host name. Comment if using localhost.
#
#host = enkidu
#
# Port number. Comment if using default.
#
port = 8301
#
# File name of the socket for local communications. Comment if
# using a remote host or if mysql does not support non-TCP/IP 
# communications on local host.
#
unix_port = /usr/local/lib/interbat/db/8401.sock
#
# User name. Comment if authentification is off.
#
#user = myname
#
# Password. Comment if authentification is off.
#
#passwd = mypass
#
# Uncomment to trigger special handling of the created field.
# If active, field whose name is 'created' will be filled with the 
# current date during insert.
# 
auto_created = yes
#
# Every update/delete/insert is passed to this hook
#
hook = Catalog::tools::hook_fulcrum


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

8.3 CGI configuration file

Used by the cgi package (cgi.pm).

Catalog depends on a modified CGI.pm package. This configuration file deals with the additions specific to Catalog.

`fct_dir'
The absolute pathname of the directory that will be used. When CGI is called recursively it creates a file in this directory that contains the stack frame of the call. The file will be deleted when the CGI returns.

Here is an example configuration file:

 
#
# Derived cgi class (Catalog::cgi) configuration file
#
#
# Directory that will contain the saved execution contexts.
#
fct_dir = /usr/local/lib/interbat/cache


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

8.4 Install configuration file

Used by the sqledit package (sqledit.pm).

This configuration file is created during the installation. It is used by sqledit to find the location of the Catalog components.

`cgidir (optional)'
The absolute path of the cgi-bin directory.

`cgipath (optional)'
The absolute location of the cgi-bin directory.

`config_dir (optional)'
The absolute path of the directory containing configuration files.

`htmldir (optional)'
The absolute location of the cgi-bin directory.

`htmlpath (mandatory)'
Absolute location of the Catalog HTML material (/Catalog for instance). It contains the documentation, examples and an images subdirectory (/Catalog/images for instance). This parameter will be available with the _HTMLPATH_ tag in every template.

`infodir (optional)'
The absolute path of the Emacs info directory where the documentation was installed.

Here is an example configuration file:

 
#
# Emacs info format documentat directory
#
infodir = 
#
# cgi-bin directory
#
cgidir = /home/httpd/cgi-bin
#
# cgi-bin directory HTML path
#
cgipath = /cgi-bin
#
# configuration files (*.conf) installation directory
#
config_dir = /home/httpd/cgi-bin
#
# Catalog material directory
#
htmldir = /home/httpd/html/Catalog
#
# Catalog material HTML path
#
htmlpath = /Catalog


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

8.5 SQL editor configuration file

Used by the sqledit package (sqledit.pm). This module implements an HTML interface to an SQL database. The instructions of this configuration file modifies the behavior of the interface.

`context_allow (optional, default *)'
The list of allowed values for the context cgi-bin parameter. The complete list of available context values is listed in the table of content. Each value is described in a section and the name of the section ends with the value of the context parameter, See section Catalog CGI.

Alternatively, context_allow may be set to star (*, the default) to allow every operations.

If the user is denied a specific operation, the following error message will be displayed:

 
"%s context is not allowed"
See section Messages translation.

Assuming that you want to give read-only access to your catalog, use the following:

 
context_allow = cbrowse

`encoding (optional, default ISO-8859-1)'
Defines the encoding of the user interface. The HTML pages sent to the client navigator will all be encoded using this encoding. All the input parameters received from HTML forms must be encoded in the same way. The internal charset of Catalog is UTF-8. Input and output is converted to and from UTF-8 using XPG4 iconv thru the Text::Iconv interface.

`functions (optional, nested)'
Defines functions that may be used as values for the normalize and match instructions in the check nested instruction.

The keyword is the name of the function and the value is the body of the function. The body of the function must be a piece of Perl code that returns a function pointer when evaluated. Most of the time it is a simple lambda (sub { ... }). No parameters are passed to the function, however the $_ variable contains the current value of the field for which the function was called. See the description of the match and check instructions for a description of the return values expected from these functions.

Since the available libraries are not documented you can only rely on the standard Perl libraries here.

 
functions
        normalize_lc = sub { $_ = lc; return 1; }
        check_alnum = sub { /[a-z0-9]+/ || "alphanumerical" }
end

`check (optional, nested)'
Defines the checking that must be done on each field of each table of the current database (the current database is defined in the mysql.conf file). The structure of this instruction is as follow:

 
check
        table1
                field1
                        normalize = <function>
                        match = <function>
                        mandatory = yes
                end
                field2
                        ...
                end
                ...
        end
        ...
end

We will define bellow the instructions that may be associated with each field.

`normalize (optional, default returns 1)'
The <function> may be either a valid Perl function or a function defined in the function section of this configuration file. The $_ variable contains the value of the field for the current record.

The normalize function is called when the value of the field is updated or a new value is inserted.

The return value of the function must be

  • 1 if the normalization of the value was a success.
  • 0 if the value cannot be normalized.

If the return value is 1, the $_ variable is expected to contain the normalized value when the function returns.

If the return value is 0, the following error message will be issued to the end user:

 
table %s : field %s : value %s normalize failed %s
See section Messages translation.

`match (optional, default returns 1)'
The <function> may be either a valid Perl function or a function defined in the function section of this configuration file. The $_ variable contains the value of the field for the current record.

The match function is called when the value of the field is updated or a new value is inserted.

The return value of the function must be

  • 1 if the value matches the constraint.
  • a string if the value does not match the constraint.

If the return value is a string, the following error message will be issued to the end user:

 
table %s : field %s : value %s match failed %s
See section Messages translation.

where the last %s is replaced by the string returned by the function, thus providing precise error messages.

`mandatory (optional)'
If present, the associated field must always contain a value that is not empty.

The mandatory check is done when the value of the field is updated or a new value is inserted.

If the new value is null (only contains white space), the following error message will be issued to the end user:

 
table %s : field %s must be set
See section Messages translation.

`dictionaries (optional, nested)'

Parameters that apply to the dictionaries as defined by the relational specifications, See section Relational constraints. Keep in mind that dictionaries are handled as if they were native enum or set types of MySQL. This instruction allows to control the display of such dictionaries.

 
dictionary
        tablename1
                where = <where clause1>
                order = <order clause1>
        end
        tablename2
                where = <where clause2>
                order = <order clause2>
        end
        ...
end

`where (optional)'
The <where clause> may be any expression valid in a SQL where clause. The beginning of the SQL order is something like select * from tablename. The values displayed to the user will only be those matching the where clause, for more information on how to display a dictionary See section Template files introduction.

`order (optional)'
The <where clause> may be any expression valid in a SQL order clause. The beginning of the SQL order is something like select * from tablename. The menu generated for this dictionary will show the values listed according to this clause. If not provided, no specific order can be expected.

`display (optional, nested)'
Controls the generation of HTML code for menus and lists of checkboxes associated to dictionaries. Basically it is a matter of choosing how many columns you want, what kind of separator should be displayed etc.

The structure of this instruction is as follow:

 
display
        select
                general
                        multiple = <number of lines>
                        labelnull = <HTML text>
                end
                tablename1
                        field1
                                multiple = <number of lines>
                                labelnull = <HTML text>
                        end
                        ...
                end
                ...
        end
        table
                general
                        columns = <number of columns>
                        font = <font ...>
                end
                tablename1
                        field1
                                columns = <number of columns>
                                font = <font ...>
                        end
                        ...
                end
                ...
        end
end

In both select and table, there is a special table name, general, that provides the default for all the table names not specifically listed.

`select'
Provides instructions for customizing a select HTML tag.

`multiple (optional, default 4)'
The value of the multiple parameter in the select tag.
`labelnull (optional, default ---------)'
When the list of values of the dictionaries is generated, the empty value is prepended and the text visible to the user is the value of this attribute.

`table'
Provides instructions for customizing the display of a set of radio buttons or checkboxes within a table.

`columns (optional, default 4)'
The number of columns used for the table containing the radio buttons or the checkboxes.
`font (optional)'
An HTML font change specification that will be duplicated in every cell of the table.

`nph (optional, default no)'
Set it to yes if your script is nph (non parsed header). This changes the header sent by Catalog. For more information on nph cgi-bin see the Apache documentation and the CGI.pm documentation.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

8.6 Template configuration file

`style (optional, nested)'

Maps template file names according to style names.

The structure of this nested instruction is as follows:

 
style
        stylename
                templatepath = othertemplatepath
                ...
        end
        ...

The templatepath must be a template path name as defined for the current application, See section Template files introduction.

 
#
# Templates system configuration
#
#
style
        liensacteur
                cbrowse_root.html = liensacteurtop.html
                cbrowse.html = liensacteur.html
        end
        lienstheme
                cbrowse_root.html = liensthemetop.html
                cbrowse.html = lienstheme.html
        end
        liensalpha
                calpha_root.html = liensalphatop.html
                calpha.html = liensalpha.html
        end
end


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

8.7 Hook Fulcrum configuration file

`serial (mandatory)'
The unique identifier used for fulcrum fields. We advise to use 230. Each fulcrum field generated from the database/tables specification will be associated with an identifier in the range <serial> and up.

`chunksize (mandatory)'
The maximum number of updates or deletions that can be done with fulcrum. We advise to use 1000. This is mainly to prevent SQL query buffer overflow for tables that contain a lot of records.

`<sql database> (nested)'
All other keywords at the top level of the configuration file are interpreted as SQL database names. The nested configuration instructions describe the coupling between this database and the fulcrum search engine.

`params (mandatory, nested)'
Database wide parameters.

`table (mandatory)'
The name of the fulcrum table that will contain the indexed data.

`tables (mandatory, nested)'
All the keywords are SQL tablenames.

`<sql tablename> (mandatory, nested)'

`params (optional, nested)'

`where (optional)'
A where clause applied on the SQL table that will limit the scope of records taken in account during indexing.

`merge (optional, nested)'
Import fields values from the designated table for every indexed record of the current table. The designated table must have an entry in database/table and the listed fields must be mapped to fulcrum fields.
`table (mandatory)'
An SQL table linked to the current table, See section Relational constraints.
`fields (mandatory)'
The list of fields from the table that must be imported.

`fields (mandatory, nested)'
All the keywords must be valid fieldnames of the SQL table.
`<sql fieldname>'
`field'
The name of the fulcrum field that will contain a copy of the value from the SQL field.
`query (mandatory, nested)'
Specifications to build the full text query.

`table (mandatory)'
The name of the fulcrum table to use for the query.
`divide_or (optional)'
The division factor applied to or query in each group.
`extract (mandatory)'
The list of fields that contains the rowid of the records that are to be retrieved from the SQL database. Those fields all begin with r_. If an order clause is present must also contain all the fields mentioned in the order clause (due to fulcrum limitations).
`relevance (mandatory)'
The relevance method used. If an order clause is present must also contain all the fields mentioned in the order clause (due to fulcrum limitations).
`order (optional)'
Order by clause.
`constraint_weight (optional)'
If a constraint matches in a given group, give it the weight mentioned in here.
`templates (optional, nested)'
Re-map each automatically generated sub template name.
`groups (mandatory, nested)'

`<group number> (mandatory nested)'
Each group number is taken in numerical order to build the query.
`where (optional)'
The record must match the where condition in addition to the generated full text query.
`weight (mandatory)'
Records matching the literal or all the words from the query will have this weight. Records matching at least one word from the question will have this weight divided by the divide_or parameter.
`constraint (optional)'
If specified list the fields on which a constraint may be applied.
`fields (mandatory)'
The list of fulcrum table fields that will be searched during the full text search process.

The general structure of the file is as follows:

 
#
# Link fulcrum with SQL database
#
#
# Fulcrum field numbering start from serial and up (suggested 230)
#
serial = <number> 
#
# How many fulcrum deletions/update can be done in one
# request (suggested 1000)
#
chunksize = <number>
#
# SQL base name
#
<sql database>
    #
    # General parameters for base
    #
    params
        #
        # Name of the fulcrum table 
        #
        table = <fulcrum tablename>
    end
    #
    # SQL tables mapping
    #
    tables
        <sql tablename>
            params
                #
                # Only records matching this where
                # clause will be inserted
                #
                where = <sql where clause>
                #
                # Merge part of a linked row into
                # each entry. Link must be defined in
                # relations.spec.
                #
                merge   
                    table = <sql tablename>
                    fields = <sql fieldname,sql fieldname,...>
                end
            end
            fields
                <sql fieldname>
                    field = <fulcrum fieldname>
                end
                ...
            end
        end
        ...
    query
        params
            #
            # Name of the fulcrum table 
            #
            table = <fulcrum tablename>
            #
            # Reduce factor for or'ed terms (suggested 100)
            #
            divide_or = <number>
            #
            # When a row is found, retrieve only these fields
            #
            extract = <fulcrum fieldname>,<fulcrum fieldname>,...
            #
            # Relevance method
            #
            relevance = relevance(<fulcrum relevance>) as rel,
                        <fulcrum orderby fields>
            #
            # When querying the order by clause is order
            #
            order = <fulcrum orderby>
            #
            # If a constraint is matched, apply this weight 
            # (suggested 1000)
            #
            constraint_weight = <number>
            #
            # Map table names to template names
            #
            templates
                <sql table,sql table,...> = <template basename>
                ...
            end
        end
        groups
            <group number>
                where = <fulcrum where clause>
                weight = <number>
                constraint = <constraint re>
                fields = <fulcrum fields>
            end
            ...
        end
    end
end

Here is a complete example:

 
#
# Link fulcrum with SQL database
#
#
# Fulcrum field numbering start from serial and up
#
serial = 230
#
# How many deletions/update can be done in one request
#
chunksize = 1000
#
# Mysql base name
#
interbat
    #
    # General parameters for base
    #
    params
        #
        # Name of the fulcrum table 
        #
        table = intersmall
    end
    #
    # Mysql tables mapping
    #
    tables
        societe
            params
                #
                # Only records matching this where
                # clause will be inserted
                #
                where = find_in_set('interbat', typesociete) 
            end
            fields
                typesociete
                    field = so_typesociete
                end
                nomaffiche
                    field = so_nomaffiche
                end
                raisonsociale
                    field = so_raisonsociale
                end
                raisonsocialecomplementaire
                    field = so_raisonsocialec
                end
                sigle
                    field = so_sigle
                end
                motscles
                    field = so_motscles
                end
                descriptif
                    field = so_descriptif
                end
                descriptiflong
                    field = so_descriptiflong
                end
                activite
                    field = so_activite
                end
                url
                    field = so_url
                end
                mail
                    field = so_mail
                end
                adresse
                    field = so_adresse
                end
                codepostal
                    field = so_codepostal
                end
                ville
                    field = so_ville
                end
                pays
                    field = so_pays
                end
                tel
                    field = so_tel
                end
            end
        end
        start
            params
                #
                # Only records matching this where
                # clause will be inserted
                #
                where = disabled = 'no'
            end
            fields
                descriptif
                    field = st_descriptif
                end
                url
                    field = st_url
                end
                debut
                    field = st_debut
                end
                fin
                    field = st_fin
                end
            end
        end
        personne
            params
                #
                # Only records matching this where
                # clause will be inserted
                #
                where = publiable = 'yes'
                #
                # Merge part of a linked row into
                # each entry. Link must be defined in
                # relations.spec
                #
                merge   
                    table = societe
                    fields = typesociete
                end
            end
            fields
                nom
                    field = pe_nom
                end
                url
                    field = pe_url
                end
                mail
                    field = pe_mail
                end
                fonction
                    field = pe_fonction
                end
                adresse
                    field = pe_adresse
                end
                codepostal
                    field = pe_codepostal
                end
                ville
                    field = pe_ville
                end
                pays
                    field = pe_pays
                end
                tel
                    field = pe_tel
                end
            end
        end
        produitsnouveaux
            params
                #
                # Only records matching this where
                # clause will be inserted
                #
                # where = 
            end
            fields
                texte
                    field = pn_texte
                end
                nom
                    field = pn_nom
                end
                url
                    field = pn_url
                end
                debut
                    field = pn_debut
                end
                fin
                    field = pn_fin
                end
            end
        end
        marque
            params
                #
                # Only records matching this where
                # clause will be inserted
                #
                # where = 
                #
                # Merge part of a linked row into
                # each entry. Link must be defined in
                # relations.spec
                #
                merge   
                    table = societe
                    fields = typesociete
                end
            end
            fields
                marque
                    field = ma_marque
                end
                descriptif
                    field = ma_descriptif
                end
            end
        end
    end
    query
        params
            #
            # Name of the fulcrum table 
            #
            table = interall
            #
            # Reduce factor for or'ed terms
            #
            #divide_or = 100
            #
            # When a row is found, retrieve only these fields
            #
            extract = r_societe,r_marque
            #
            # Relevance method
            #
            relevance = relevance('2:2') as rel,ma_marque
            #
            # When querying the order by clause is order
            #
            order = rel desc,ma_marque
            #
            # If a constraint is matched, apply this weight
            #
            constraint_weight = 1000
            #
            # Map table names to template names
            #
            templates
                societe,start = start
                marque,societe = marquebatibase
                personne,societe = personnebatibase
                produitsnouveaux,societe = produitsnouveaux
                societe = societebatibase
            end
        end
        groups
            1
                where = so_typesociete contains 'interbat' weight 0
                weight = 900
                constraint = so_.*
                fields = so_raisonsociale,so_sigle,so_motscles
            end
            2
                where = so_typesociete contains 'interbat' weight 0
                weight = 900
                constraint = ma_.*
                fields = ma_marque,ma_descriptif
            end
            3
                where = (pn_debut < now() and pn_fin > now())
                weight = 800
                constraint = pn_.*
                fields = pn_nom,pn_texte,pn_url
            end
            4
#               where = (st_debut < now() and st_fin > now())
                weight = 700
                constraint = st_.*
                fields = st_url,st_descriptif
            end
            5
                weight = 700
                # st_url,ho,pa,tx
                constraint = (ho|pa|tx|e_text)
                fields = e_text
            end
            6
                where = so_typesociete contains 'batibase' weight 0
                weight = 130
                constraint = so_.*
                fields = so_raisonsociale,so_sigle,so_motscles
            end
            7
                where = so_typesociete contains 'batibase' weight 0
                weight = 130
                constraint = ma_.*
                fields = ma_marque,ma_descriptif
            end
            8
                weight = 50
                constraint = so_.*
                fields = so_url,so_mail,so_adresse,so_codepostal
            end
            9
                weight = 50
                constraint = pe_.*
                fields = pe_nom,pe_url,pe_mail,pe_fonction,pe_adresse
            end
        end
    end
end


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by root on October, 27 2004 using texi2html