skip to navigation
skip to content

seantis.people 0.17

A list of people, optionally organized by organisations and positions.

Latest Version: 1.1

Municiaplities for which we contribute to OneGov often require a public list of contacts. For the customers and us this package needs to scratch the following itches:

  • The directory must not force a set of fields on the user. Each customer should have the option to create its own set of fields. At the same time there should be at least one reasonable standard.
  • Some fields should only be visible with certain permissions. Think mobile phone number.
  • Elected officials are part of many comitees and councils. It must be easy to define the timespans during which any person was part of such an organization. It must also always be clear what the role of the person was.


This is how we plan to scratch the aforementioned itches:

  • We give the user the possiblity to define a list of people. Each list consists of a number of dexterity objects with IPerson behavior. Within one list only one dexterity type is allowed.
  • Through the schema of the dexterity type we define the fields, their required read and write permissions, the fields shown in the list, the order of those fields, the fields available for filtering in the list, and the fields shown in the detail view.
  • These dexterity types may be installed by any package or they may be included in seantis.people, available through separate profiles. (It’s technically even possible to create them through the web, but we don’t recommend this approach for various reasons.)
  • We devine an organzation-behavior which any folderish dexterity type may adapt. Types with that behavior may then have people added to them with entry, exit and role information.
  • We display the memberships of each person using the entry, exit and role information. We identity the organization solely by url and title. This will give users the ability to have some plone page act as an organization, which frees os from having to reinvent the wheel there.


The people types and list are pretty much ready for a first release. We are currently working on the organisation part of the module.

Known Issues

After a reindex, the people’s list no longer shows the organization memberships. This is documented with a workaround in the following issue:


Close to our requirements (but no cigar):


  • Python 2.7
  • Plone 4.3+
  • Linux / Posix ( Windows may or may not work )

Build Status


Latests PyPI Release


seantis.people is released under GPL v2


  • Denis Krienbühl [href]


0.17 (2014-03-31)

  • Adds support for url, date and datetime fields to the import. [href]
  • Adds the ability to export people to csv, xls, xlsx or json. [href]
  • Adds ‘is_active_person’ property which if present and False hides the given person from the person list for anonymous users. [href]
  • Removes start/end on memberships. This module will no longer deal with memberships over time. Where this is required, external modules like seantis.kantonsrat have to do this themselves. [href]
  • Images on the people’s list are rendered smaller and in the detail view they are rendered larger. Renderes now have custom options for this case. [href]
  • Adds the ability to define custom titles on the person. Currently the custom title is only relevant for the detail view. To use add a custom_titles dictionary to the person object with the key being the field anme and the value being the title that should be used in the detail view. [href]
  • Adds a new LinkList type which may be used returned by person attributes. The link list will be rendered using ul > li > a. [href]
  • Organization memberships are now queried by interface in the ZODB, rather than by portal_type to support inheritance.
  • Changes membership id/title to include the role as well as the name of the referenced person. Closes #13. [href]
  • Fixes a crash when viewing a public directory with private organisations. Closes #12. [href]
  • Adds a note field to the membership. [href]
  • Adds the ability to define the years_range for plone.formwidget.datetime widgets used in the schemas. Fixes #11. [href]

0.16 (2013-12-31)

  • Fixes a number of issues with zodb membership source. [href]
  • Adds the ability to define custom membership functions on the detail view. [href]
  • Adds the ability to define custom compound columns in other packages. [href]
  • Adds missing profile dependencies for membership type. [href]
  • Hides start/end on memberships, until it is properly implemented. [href]


  • Adds very basic json export people list. [href]


  • Adds the ability to import images through urls. [href]
  • Organizations defined through memberships are now clickable in the list view. This is the default in the standard type. [href]
  • Adds a standard profile which is more or less compatible with egov.contactdirectory. Fixes #6. [href]
  • Rename responsive-table to responsive to be compatible with latest plonetheme.onegov release. [href]
  • Adds custom event to signal changes in memberships. [href]
  • Updates German translation. [href]


  • Adds the ability to install and upgrade profiles with custom people types. This can be done using the new seantis people controlpanel. [href]
  • Removes import action from PHZ type. [href]
  • Renames PHZ to PH Zug. [href]
  • Ensures that imported strings are stripped of their whitespace in front and at the end. [href]
  • Redirect to person list after succesful import. [href]
  • Fixes required fields error not showing up on import. [href]


  • PHZ portrait should be optional. [href]


  • Supports new responsive-table helper in plonetheme.onegov. [href]
  • Hides first-/lastname on PHZ detail view. [href]
  • Adds link to a detailed portrait of the employee for the PHZ. [href]


  • Changes German translation of “Organisation Unit 2” for PHZ. [href]


  • Adds membership rendering to detail view. [href]


  • Adds collective.cover support as an extra [href]
  • Memberships can now be defined dynamically through the MembershipSource adapter. [href]


  • Hide label of images in the detail view. [href]
  • Adds rendering support for these field types: Text, RichText, Lists. [href]
  • Adds custom type for Pädagogische Hochschule Zug. [href]
  • Adds ability to filter attributes returning lists in the table. [href]
  • Adds ability to use custom titles on columns. [href]


  • Adds detail view with configurable positioning through schema attributes. [href]
  • Fixes not showing the selected filter after a refresh. [href]


  • Supports supermodel security permissions in the people’s list (giving the ability to hide certain fields in the table depending on the user). [href]
  • Fixes filter.js being unable to filter for empty values. [href]


  • Ensures that the title is updated when the object is modified. [href]
  • The first letters are now taken from the sorted title. [href]
  • The title attributes order is now independent of the field order. [href]
  • Fixes a number of unicode issues. [href]


(skipped by accident)


  • People are now sorted by unicode collation. [href]
  • The people can be filtered by the first litter of the title. [href]


  • Initial release. [href]
File Type Py Version Uploaded on Size
seantis.people-0.17.tar.gz (md5) Source 2014-03-31 60KB