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.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 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.2.0.tar.gz (76.1 kB view details)

Uploaded Source

File details

Details for the file ftw.avatar-2.2.0.tar.gz.

File metadata

  • Download URL: ftw.avatar-2.2.0.tar.gz
  • Upload date:
  • Size: 76.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

File hashes

Hashes for ftw.avatar-2.2.0.tar.gz
Algorithm Hash digest
SHA256 a61bebe21387abf8afd60d84eba2065a3d7749589dd40f0ec1f97c274b4fbeff
MD5 a95d15518c10ad0026c419a80735afc9
BLAKE2b-256 73bdba2406a942e7cdc81607f3906b70c69f86154fce171507df28bf3284f949

See more details on using hashes here.

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