Skip to main content

Generates a personal default avatar for new Plone users

Project description


ftw.avatar generates a personal default avatar for new Plone users.


Simply install the ftw.avatar egg by adding it to the dependencies in your package or by adding it to your buildout configuration:

eggs +=

There is no need to install the addon in the Plone site, it automatically hooks in.


Generating avatars requires a Pillow (or PIL) installation with freetype support.

freetype can easily be installed on OS X with homebrew:

$ brew install freetype

After installing freetype Pillow may need to be rebuilt.

Default avatar generation

ftw.avatar generates default avatars for users which have not yet defined an avatar (Personal portrait) in the personal preferences. The avatar is generated with a random background color and two characters of their name.


Plone patches

Maximum user portait scale

Products.PlonePAS limits the maximum size of user portraits (a.k.a. avatars) to 75x100. ftw.avatar increases the size to a maximum of 300x300, allowing to build pages with bigger avatars such as user pages.

Default user portrait patch

ftw.avatar patches Products.PlonePAS to generate a default avatar when the user portrait is retrieved the first time and the user has not yet set an avatar. membership_tool.getPersonalPortrait() is patched.

Avatar scaling

ftw.avatar extends the avatar default view to accept a scaling parameter. The size parameter is used as maximum width and maximum height for the scale.

Example URL: http://localhost:8080/Plone/portal_memberdata/portraits/admin?size=26

Font licensing

For generating the avatar the font Fantasque Sans Mono is used. The font is licensed under the SIL Open Font License, see the License File


2.2.0 (2020-03-03)

  • python3 and Plone 5.2 support. [ionlizarazu]

2.1.0 (2019-06-17)

  • Avoid writes on read - create default avatar on login instead of on portrait access. [phgross]

2.0.1 (2016-08-12)

  • Fix aggressive caching of the portrait image by not considering the modified date because the OFS image does not have one (is acquired instead). [mbaechtold]

2.0.0 (2016-06-01)

  • Changed utility method IAvatarGenerator.generate to take userid instead of full name. This makes the utility more flexible while overwriting because the user can now be identified accurately. [lknoepfel]

1.0.7 (2015-09-02)

  • Fix error when fullname has leading spaces. [jone]

1.0.6 (2015-03-09)

  • Fix error when portrait is stored as Pdata object. [jone]

1.0.5 (2015-01-09)

  • Fix user fullname lookup when user does not exist. [jone]

1.0.4 (2015-01-08)

  • Fix userid lookup when user does not exist. [jone]

1.0.3 (2014-09-15)

  • BugFix: Do not break if username (loginname) is passed as userid. Like does until 2.3.2 [mathias.leimgruber]

1.0.2 (2014-05-03)

  • Fix _imagingft check to support Pillow >= 2.1.0, where imports have changed. [jone]

1.0.1 (2014-02-07)

  • Do not try to generate the image if _imagingft is not installed. Log an error instead. [Julian Infanger]

1.0.0 (2014-02-06)

  • Initial implementation. [jone]

Project details

Download files

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

Source Distribution

ftw.avatar-2.2.0.tar.gz (76.1 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page