diff --git a/src/doc/user/usermanual.sgml b/src/doc/user/usermanual.sgml index db875307..b137f976 100644 --- a/src/doc/user/usermanual.sgml +++ b/src/doc/user/usermanual.sgml @@ -4743,13 +4743,30 @@ except: configuration parameters is given by comments inside the default files, and we will just give a general overview here. - For each index, there are two sets of configuration - files. System-wide configuration files are kept in a directory named + By default, for each index, there are two sets of + configuration files. System-wide configuration files are kept + in a directory named like /usr/[local/]share/recoll/examples, and define default values, shared by all indexes. For each index, a parallel set of files defines the customized parameters. + In addition (as of &RCL; version 1.19.7), it is possible + to specify two additional configuration directories which will + be stacked before and after the user configuration + directory. These are defined by + the RECOLL_CONFTOP + and RECOLL_CONFMID environment + variables. Values from the top directory will override user + ones, values from the middle directory will override system + ones and be overriden by user ones. These two variables may be + of use to applications which augment &RCL; functionality, and + need to add configuration data without disturbing the user's + files. Please note that the two, currently single, values will + probably be interpreted as colon-separated lists in the + future: do not use colon characters inside the directory + paths. + The default location of the configuration is the .recoll directory in your home. Most people will only use this @@ -5212,18 +5229,46 @@ unac_except_trans = åå Åå ää Ää öö Öö + noxattrfields + Recoll versions 1.19 and later + automatically translate file extended attributes into + document fields (to be processed according to the + parameters from the fields + file). Setting this variable to 1 will disable the + behaviour. + + metadatacmds This allows executing external commands - for each file and storing the output in a &RCL; - field. This could be used for example to index external - tag data. The value is a list of field names and commands, - don't forget an initial semi-colon. Example: + for each file and storing the output in &RCL; document + fields. This could be used for example to index + external tag data. The value is a list of field names + and commands, don't forget an initial + semi-colon. Example: [/some/area/of/the/fs] metadatacmds = ; tags = tmsu tags %f; otherfield = somecmd -xx %f - + As a specially disgusting hack brought by + &RCL; 1.19.7, if a "field name" begins + with rclmulti, the data returned by + the command is expected to contain multiple field + values, in configuration file format. This allows + setting several fields by executing a single + command. Example: + +metadatacmds = ; rclmulti1 = somecmd %f + + If somecmd returns data in the form + of: + +field1 = value1 +field2 = "value for field2" + + field1 + and field2 will be set inside the + document metadata. diff --git a/src/sampleconf/recoll.conf.in b/src/sampleconf/recoll.conf.in index 615d7501..7355deca 100644 --- a/src/sampleconf/recoll.conf.in +++ b/src/sampleconf/recoll.conf.in @@ -308,8 +308,13 @@ noxattrfields = 0 # which field name the data goes into and the command to use. Don't forget the # initial semi-colon. All the field names must be different. You can use # aliases in the "field" file if necessary. +# As a not too pretty hack conceded to convenience, any field name +# beginning with "rclmulti" will be taken as an indication that the command +# returns multiple field values inside a text blob formatted as a recoll +# configuration file ("fieldname = fieldvalue" lines). The rclmultixx name +# will be ignored, and field names and values will be parsed from the data. #[/some/area/of/the/fs] -#metadatacmds = ; tags = tmsu tags %f +#metadatacmds = ; tags = tmsu tags %f; rclmulti1 = cmdOutputsConf %f [/usr/share/man] followSymlinks = 1