6.0.0-git
2021-10-26
Last Modified 2005-07-29 by Jan Schneider

Horde Administrator's FAQ

Troubleshooting and Common Problems

Troubleshooting Turba

When adding a new address from IMP I get an error that it is already in the address book.

This is a bug in the code that has since been fixed. The error is in turba/lib/api.php at about line 93. The incorrect and correct lines are:


INCORRECT:

    if (PEAR::isError($res) || count($res) > 0) {

CORRECT:

    if (PEAR::isError($res) || $res->count() > 0) {

Why does Turba give the error "Undefined index: socket ..."

This means you have a missing or misconfigured socket and/or protocol parameter value in the params block(s) in /horde/turba/config/sources.php.

Unless you are trying to use unix sockets rather than tcp/ip connections, set the socket value to '' (meaning no value), and/or set the protocol value to 'tcp'.

Added attribute names not working with ldap

When adding new attribute names in the sources.php map section for ldap servers, make sure all the attribute names are completely lowercase. Also make sure that all attributes you add to sources.php are also added to attributes.php. Finally, make sure your ldap ACL's are set correctly to allow them to be viewed.

LDAP queries empty after upgrading to Turba 1.2

The 'objectclass' entry for LDAP address book definitions in turba/config/sources.php is respected in Turba 1.2 but wasn't in earlier versions. Set it to use a correct value for your LDAP structure.

Notice: Undefined index: businesscategory

Turba has a system of defining what is in a directory or address book which is necessarily complicated by reason that it is flexible enough to map to pretty much anything with no code changes, only configuration file tweaks.

In turba/config/sources.php, for every backend that you use in Turba, you configure a map. The map defines a mapping between whatever fields exist in the backend directory and what Turba calls those fields and also what kind of data Turba treats them as containing. So if the contact_email field in a database table is an email address, you could tell Turba to map 'email' => 'contact_email'.

However, Turba needs to then know what 'email' or 'name' are. They're defined in turba/config/attributes.php, which is the set of attributes that any given Turba installation understands. The attributes.php file defines the label for a field and also what kind of data it is - a string, an email address, an enumeration of several options, etc.

So, back to the problem: you have some attributes in your map that Turba doesn't know about. In sources.php, there's probably a line something like:


'businesscategory' => 'backend_field_bus_cat',

But there is no 'businesscategory' attribute in your attributes.php. You need to either add an attribute entry, or remove that field, or map it to something else that Turba already knows about.

In some versions of Turba, the default sources.php file included an example that used attributes that weren't in the default attributes.php file and hence could cause this error. This has since been fixed for newer releases.