Skip to main content

Provides a contact-contenttype

Project description


This package provides a contact contenttype.


Add the package as dependency to your


or to your buildout configuration:

eggs += ftw.contacts

and rerun buildout.

Install the Generic Setup profile.

Quick overview of the functions

  • Contactdirectory with ajax search functionality
  • Contact
  • KML-Representation of Contact
  • vCard-Representation of Contact
  • ftw.zipexport integration if you install the [zipexport]-extra
  • ftw.simplelayout integration if you install the [simplelayout]-extra
  • Synchronization of contacts with an ldap.

How it looks

The ftw.contacts package provides a nice contactdirectory.

with a contact-view.

How it works


This is a dexterity contenttype and acts as a container for contacts to be listed.

After installing the ftw.contacts package you can add a Contactfolder to your plonesite.

The Contactfolder provides a nice overview of all available contacts. By default, the first 20 contacts will be shown and you can load more contacts by clicking on the Load more button at the end of the list.

The alphabetical filter allows the user to quickly find a contact. Furthermore contacts can be found by using the search field.

All the requests are asynchron and works also with a big amount of contacts


This is a dexterity contenttype addable in a Contactfolder.

A Contact lists all available attributes on the contact.

You have also the possiblity to show the contacts location on a map.

In addition you can download the kml-representation or the vCard-representation of the contact.

ftw.simplelayout integration

This is an addon for ftw.simplelayout. Please make sure you already installed ftw.simplelayout on your plone site before installing this addon.

Add the simplelayout extra to your egg:

eggs += ftw.contacts [simplelayout]

Run buildout and install the ftw.contacts.simplelayout:default profile

You’ll get a new contenttype MemberBlock which is available in a contentpage.

If you don’t know ftw.simplelayout, please read


The memberblock connects the a Contact with a simplelayout page. You just have do define the Contact attributes once an you can reuse them trough the memberblock

ftw.geo integration

Add the geo extra to your egg:

eggs += ftw.contacts [geo]

Run buildout and install the ftw.contacts.geo:default profile

After installing the geo-extra, you’ll see a maplayer on each contact-type if you entered a valid address.

If you don’t know ftw.geo, please read

Contact synchronization through ldap

The synchronization is executed through the sync_contacts entry point. The configuration for the sync is as follows:

  • The plone site on which to execute the sync: Parameter -p - only required when there are multiple sites.
  • The path to the contacts folder: Configured in the registry under IContactsSettings.contacts_path
  • The mapping of the ldap attributes to the contact fields and which field to use as ID: Register a ILDAPAttributeMapper utility. Default: DefaultLDAPAttributeMapper
  • The ldap plugin id inside of acl_users: Configured in the registry under IContactsSettings.ldap_plugin_id
  • The base dn for the contacts. Parameter -b - defaults to the base dn configured in the plugin
  • The filter ldap query to only get contacts. Parameter -f - defaults to (objectClass=*)

Synchronize contacts from multiple ldap sources

To synchronize multiple sources (multiple plugins in acl_users) a config file is required. Pass the path to the file through the -c parameter.

The only required attribute per source is the ldap_plugin_id`. ``base_dn will default to the base dn of the plugin and filter will default to (objectClass=*).

To avoid id collisions a userid_prefix can be specified. The prefix will then be applied to all contacts of this source. In the case where an existing site wants to add a second source but already has synchronized contacts only specify a prefix for the new source. This way the id’s of the existing source do not change and the already synchronized contacts can still be identified. This is important, because the customer may have already added additional information to the contacts like images. If the ids change the sync will not recognize them and delete them!

        "ldap_plugin_id": "intern",
        "base_dn": "ou=Employees,ou=Users,dc=4teamwork,dc=ch",
        "filter": "(objectClass=*)"
        "ldap_plugin_id": "extern",
        "userid_prefix": "extern-",
        "base_dn": "ou=Customers,ou=Users,dc=4teamwork,dc=ch",
        "filter": "(objectClass=*)"


Plone 4.3


1.6.1 (2018-01-31)

  • Fix contact sync for umlaut id’s and group objects. [lknoepfel]

1.6.0 (2018-01-31)

  • Expand contact synchronization to handle multiple ldap sources. [lknoepfel]
  • Move configuration of addable types of Plone Site to the simplelayout profile. [raphael-s]

1.5.3 (2017-10-12)

  • Add comma between address and city in contact template. [raphael-s]

1.5.2 (2017-09-29)

  • Fix contacts summary view. [Kevin Bieri]

1.5.1 (2017-08-04)

  • Add label to email field in memberblock for consistency reasons. [Kevin Bieri]
  • Make memberblock more robust. [mbaechtold]
  • Improve contact detail view. [mbaechtold]

1.5.0 (2017-05-15)

  • Add contactfolder setting for hiding contact images in listing view. [raphael-s]

1.4.8 (2017-04-13)

  • Fix row distribution for n rows. [Kevin Bieri]
  • Use link for contact title in the card. [Kevin Bieri]

1.4.7 (2017-04-07)

  • Fix javascript calculated row distribution. [Kevin Bieri]

1.4.6 (2017-03-07)

  • Make MemberBlock addable on plone site per default [raphael-s]

1.4.5 (2017-02-28)

  • Use primary color for loadmore button. [Kevin Bieri]

1.4.4 (2017-02-01)

  • Sort the memberships alphabetically by the title of their container (on the contact detail view). Replaces 1.4.3. [mbaechtold]

1.4.3 (2017-01-26)

  • Sort the memberships alphabetically (on the contact detail view). [mbaechtold]

1.4.2 (2016-12-19)

  • Render less line breaks in the member block template if there is no content to follow the line break (in order to reduce space before the following block). [mbaechtold]

1.4.1 (2016-11-10)

  • Fix permission check in (get_backreferences). It’s “View” not “zope2.View”. [mathias.leimgruber]

1.4.0 (2016-09-13)

  • The membership links on the contact detail view now point to the container containing the memberblock and not to the memberblock itself. [mbaechtold]
  • Add option to hide the map on the contact detail view. [mbaechtold]
  • Add option to hide the memberships on the contact detail view. [mbaechtold]
  • Add ftw.referencewidget and use it instead of formwidget.contenttree. [tschanzt]
  • Inplace migrators for migrating from egov.contactdirectory. [jone]
  • Display the function of the contact of a member block if the option “Acquire address” is checked on the member block. [mbaechtold]
  • Install a newer version of “collective.geo.openlayers”. This makes the “ftw.openlayerhotfix” obsolete. [mbaechtold]

1.3.0 (2016-08-10)

  • Remove metadata.xml-dependencie to ftw.simplelayout for the simplelayout extra. The extra is an addon of ftw.simplelayout and should not install it. [elioschmutz]
  • Added ldap-to-contact sync. [lknoepfel]

1.2.0 (2016-03-30)

  • Redesign ftw.contacts. [Kevin Bieri]

1.1.0 (2016-03-30)

  • Remove unused geo configurations due to a changed map implementation [elioschmutz]
  • Fix geolocation lookup for georeferenced contacts. The map will no longer be rendered through the viewlet. It is implemented directly into the for better control. [elioschmutz]
  • Add missing behavior for geo referenced contact. [elioschmutz]
  • Fix broken profilehook name for ftw.geo integraton. [elioschmutz]
  • Disable rendering map widget through the viewlet. The map will be rendered directly in the now. [elioschmutz]
  • Change reload view name to more specific name reload_contacts. [elioschmutz]
  • Trigger event if contacts are reloaded. [elioschmutz]
  • Adjust contact_summary template to display the title in the details only if it is different than the organization name. This happens if you fill only an organization name without a first and last name. [elioschmutz]
  • Fix css styles for plonetheme.onegovbear [elioschmutz]

1.0.0 (2015-12-04)

  • Nothing changed yet

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
ftw.contacts-1.6.1.tar.gz (626.9 kB) Copy SHA256 hash SHA256 Source None Jan 31, 2018

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page