6.0.0-beta13
4/16/26

[[toc]]

  • Configuring Turba to use the same fields as Outlook 2003

This document is intended to help Horde administrators create a more Outlook-like experience for their users by giving them the address book fields they are accustomed to. An export of an Outlook 2003 address book contains a number of fields not included in the Outlook UI. This document only covers the fields available in the Outlook UI.

++ Modifying attributes.php

//turba/config/attributes.php// is the file that defines which fields are available to turba, and what type of data they can hold. Make the following changes and additions to the default //attributes.php//

Modify the //name// field to look like:

$attributes['name'] = array(

'label' => '',

'type' => 'html',

'required' => true

);

Modify the //lastname// field to look like:

$attributes['lastname'] = array(

'label' => _("Last Name"),

'type' => 'text',

'required' => false

);

Modify the //email// field to look like:

$attributes['email'] = array(

'label' => _("Email"),

'type' => 'email',

'required' => false

);

Modify the //alias// field to look like:

$attributes['alias'] = array(

'label' => _("Alias"),

'type' => 'text',

'required' => false

);

Modify the //title// field to look like:

$attributes['title'] = array(

'label' => _("Title"),

'type' => 'text',

'required' => false

);

Modify the //company// field to look like:

$attributes['company'] = array(

'label' => _("Company"),

'type' => 'text',

'required' => false

);

Modify the //homeAddress// field to look like:

$attributes['homeAddress'] = array(

'label' => '',

'type' => 'addresslink',

'required' => false,

);

Modify the //workAddress// field to look like:

$attributes['workAddress'] = array(

'label' => '',

'type' => 'addresslink',

'required' => false,

);

Modify the //cellPhone// field to look like:

$attributes['cellPhone'] = array(

'label' => _("Mobile Phone"),

'type' => 'text',

'required' => false

);

Modify the //birthday// field to look like:

$attributes['birthday'] = array(

'label' => _("Birthday"),

'type' => 'monthdayyear',

'params' => array(1900, null, true, 1),

'required' => false,

);

Modify the //freebusyUrl// field to look like:

$attributes['freebusyUrl'] = array(

'label' => _("Freebusy URL"),

'type' => 'text',

'required' => false

);

And, add the following to the end of the file:

$attributes['homeStreet2'] = array(

'label' => _("Home Street 2"),

'type' => 'text',

'required' => false,

);

$attributes['homeStreet3'] = array(

'label' => _("Home Street 3"),

'type' => 'text',

'required' => false,

);

$attributes['workStreet2'] = array(

'label' => _("Work Street 2"),

'type' => 'text',

'required' => false,

);

$attributes['workStreet3'] = array(

'label' => _("Work Street 3"),

'type' => 'text',

'required' => false,

);

$attributes['employeeType'] = array(

'label' => _("Employee Type"),

'type' => 'text',

'required' => false

);

require_once 'Horde/Prefs/CategoryManager.php';

$cManager = &new Prefs_CategoryManager();

$categories = array_merge(array(_("Unfiled")), $cManager->get());

$attributes['category'] = array(

'label' => _("Category"),

'type' => 'enum',

'params' => array($categories),

'required' => false

);

$attributes['jobtitle'] = array(

'label' => _("Job Title"),

'type' => 'text',

'required' => false,

);

$attributes['profession'] = array(

'label' => _("Profession"),

'type' => 'text',

'required' => false,

);

$attributes['manager'] = array(

'label' => _("Manager's Name"),

'type' => 'text',

'required' => false,

);

$attributes['assistant'] = array(

'label' => _("Assistant's Name"),

'type' => 'text',

'required' => false,

);

$attributes['suffix'] = array(

'label' => _("Suffix"),

'type' => 'text',

'required' => false,

);

$attributes['spouse'] = array(

'label' => _("Spouse's Name"),

'type' => 'text',

'required' => false,

);

$attributes['anniversary'] = array(

'label' => _("Anniversary"),

'type' => 'monthdayyear',

'params' => array(1900, null, true, 1),

'required' => false,

);

$attributes['pager'] = array(

'label' => _("Pager"),

'type' => 'text',

'required' => false,

'params' => array('', 40, 25)

);

$attributes['callbackPhone'] = array(

'label' => _("Callback Phone"),

'type' => 'text',

'required' => false,

'params' => array('', 40, 25)

);

$attributes['email2'] = array(

'label' => _("Email") . ' 2',

'type' => 'email',

'required' => false,

'params' => array('', 40, 255)

);

$attributes['email3'] = array(

'label' => _("Email") . ' 3',

'type' => 'email',

'required' => false,

'params' => array('', 40, 255)

);

$attributes['assistantPhone'] = array(

'label' => _("Assistant's Phone"),

'type' => 'text',

'required' => false,

'params' => array('', 40, 25)

);

$attributes['workPhone2'] = array(

'label' => _("Work Phone") . ' 2',

'type' => 'text',

'required' => false,

'params' => array('', 40, 25)

);

$attributes['Phone'] = array(

'label' => _("Home Phone"),

'type' => 'text',

'required' => false,

'params' => array('', 40, 25)

);

$attributes['workFax'] = array(

'label' => _("Work Fax"),

'type' => 'text',

'required' => false,

'params' => array('', 40, 25)

);

$attributes['callback'] = array(

'label' => _("Callback"),

'type' => 'text',

'required' => false,

'params' => array('', 40, 25)

);

$attributes['carPhone'] = array(

'label' => _("Car Phone"),

'type' => 'text',

'required' => false,

'params' => array('', 40, 25)

);

$attributes['companyPhone'] = array(

'label' => _("Company Main Phone"),

'type' => 'text',

'required' => false,

'params' => array('', 40, 25)

);

$attributes['homePhone2'] = array(

'label' => _("Home Phone") . ' 2',

'type' => 'text',

'required' => false,

'params' => array('', 40, 25)

);

$attributes['homeFax'] = array(

'label' => _("Home Fax") . ' 2',

'type' => 'text',

'required' => false,

'params' => array('', 40, 25)

);

$attributes['isdn'] = array(

'label' => _("ISDN"),

'type' => 'text',

'required' => false,

'params' => array('', 40, 25)

);

$attributes['otherPhone'] = array(

'label' => _("Other Phone"),

'type' => 'text',

'required' => false,

'params' => array('', 40, 25)

);

$attributes['otherFax'] = array(

'label' => _("Other Fax"),

'type' => 'text',

'required' => false,

'params' => array('', 40, 25)

);

$attributes['primaryPhone'] = array(

'label' => _("Primary Phone"),

'type' => 'email',

'required' => false,

'params' => array('', 40, 255)

);

$attributes['radio'] = array(

'label' => _("Radio Phone"),

'type' => 'text',

'required' => false,

'params' => array('', 40, 25)

);

$attributes['telex'] = array(

'label' => _("Telex"),

'type' => 'text',

'required' => false,

'params' => array('', 40, 25)

);

$attributes['tty/tdd'] = array(

'label' => _("TTY/TDD Phone"),

'type' => 'text',

'required' => false,

'params' => array('', 40, 25)

);

$attributes['otherAddress'] = array(

'label' => '',

'type' => 'addresslink',

'required' => false,

);

$attributes['otherStreet'] = array(

'label' => _("Other Street Address"),

'type' => 'text',

'required' => false,

);

$attributes['otherStreet2'] = array(

'label' => _("Other Street 2"),

'type' => 'text',

'required' => false,

);

$attributes['otherStreet3'] = array(

'label' => _("Other Street 3"),

'type' => 'text',

'required' => false,

);

$attributes['otherCity'] = array(

'label' => _("Other City"),

'type' => 'text',

'required' => false

);

$attributes['otherProvince'] = array(

'label' => _("Other State/Province"),

'type' => 'text',

'required' => false

);

$attributes['otherPostalCode'] = array(

'label' => _("Other Postal Code"),

'type' => 'text',

'required' => false

);

$attributes['otherCountry'] = array(

'label' => _("Other Country"),

'type' => 'text',

'required' => false

);

$attributes['middlename'] = array(

'label' => _("Middle Name"),

'type' => 'text',

'required' => false

);

++ Modifying sources.php

++ Preparing the database to use new fields