Skip to main content

Generates a personal default avatar for new Plone users

Project description

ftw.avatar

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

Installation

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

[instance]
eggs +=
    ftw.avatar

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

Dependencies

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.

Examples:

https://raw.github.com/4teamwork/ftw.avatar/master/docs/examples/an.png https://raw.github.com/4teamwork/ftw.avatar/master/docs/examples/ct.png https://raw.github.com/4teamwork/ftw.avatar/master/docs/examples/pi.png

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

Changelog

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 plone.app.discussion 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.0.1.zip (86.0 kB view details)

Uploaded Source

File details

Details for the file ftw.avatar-2.0.1.zip.

File metadata

  • Download URL: ftw.avatar-2.0.1.zip
  • Upload date:
  • Size: 86.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for ftw.avatar-2.0.1.zip
Algorithm Hash digest
SHA256 9567e011c1a7f0a4c680a038f081ac49b184615ef5f5e49ff94215eb65ca7858
MD5 466a99f5c4666c3399d0ae5a8b4e34eb
BLAKE2b-256 43225c414c84492b087459661f1664f2965076c86d9e353c5620800f1a2b3bd8

See more details on using hashes here.

Supported by

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