Skip to main content

Allows users to invite others to join the site

Project description

About PloneInvite

PloneInvite is a tool for Plone which allows portal members to invite new users to register into the portal. Members get invite codes which are used to send the invitation.

This is a short introduction. For more information, bug trackers, feauture request, etcetera, see the product web page.

How to Use

For the portal administrator:

  1. Go to Site Setup and click on the “Member Invitations” link.

  2. On this page you can give invites to other users and set the expiration period in days for the portal invites.

For a member:

  1. After logging in, open the “invite someone” link available under your login name in the upper right corner.

  2. This page allows members to send invitations as well as see the status of their invitations.


  1. Add Products.PloneInvite to your buildout’s instance’s eggs.

  2. Install the product from Plone’s Add-on configuration or use the portal_quickinstaller in the ZMI.


  1. Assign invitations to the current site members. With these invitations, they can invite new members. New members will receive this invitation by e-mail.

  2. The site manager can enforce email in the the invitation. This means the invitee must register with the email address to which the invitation was sent.

  3. The inviting member can optionally also enforce email, if it was not already enforced by the site manager.

  4. The “@@register” form now contains a field “invite_code”. New users can register only if they have a valid invitation code.

  5. The invitation e-mail message can be customized. (This can be done through the ZMI, it’s a skin template.)

  6. The portal administrator manage invitations through the configlet:

    • see which invitations have been accepted

    • revoke unused invitations

    • revoke sent but unaccepted invitations


  1. Customize PloneInvite/skins/invite_template.cpt in your Product folder to customize your portal Invitation template.

  2. The email address which will be used as the “sender” in invite e-mails is the site-wide e-mail address. You can change it via the site’s Mail configuration.


Tested on:

  • Plone 4.0a3, Zope 2.12.2

Technical summary

  • Subclasses and overrides’ RegistrationForm (“@@register”)

  • Stores invitations in a portal tool (‘portal_invitations’)

  • Uses skin templates and scripts for sending and managing invitations

  • Defines custom permissions (among others, for giving invitations to members)


This product has not been tested in conjunction with other products, such as emaillogin or membrane users.


  • Created by Giovani Spagnolo of Partecs Participatory Technologies.

  • Plone 4 port and maintained by Kees Hink of Goldmund, Wyldebeast & Wunderliebe.


2.0a1 (2009-12-30)

  • Plone 4 compatible (Plone 3 support dropped)

  • Generic Setup installation

  • Updated README.txt’s

1.1-alpha (march 2009)

Plone 3 compatibility fixes [khink]. This takes care of just getting the product to work, but there’s more that could be done: see the TODO.

  • Breaks compatibility with Plone 2.5, due to @@authenticator, which is called from the join_form in Plone 3, isn’t available in Plone 2.5.

  • Renamed permissions from “PortalInvite: …” to “PloneInvite: …”.

  • Minor modifications so it works under Plone 3, most notably
    • encode e-mail before sending

  • Enabled self-registration (‘Add portal member’ permission on the site), which is needed to enable new members to register themselves. (Self-registration is protected by the validation on the join_form, so people will only be able to register with an invitation code.)

  • Disabled ‘’ as default value, use site-wide email_from_address as default. (Still customizable through

  • Disable overriding of mailhost settings. ( used to reset the portal’s mailhost settings to localhost:25)

  • Turn on invitation generation for new users by default (5 invitations), this is probably what most sites want. Should be configurable in Plone product settings configlet.

  • Disable bare try-except blocks in invite.cpy

  • Translations:

    • Added PloneInvite.pot and plone.pot

    • Added Makefile for easy creation and updating of translation (.po) files

    • Added Dutch translation

  • Fixed a bug in the user_invites template table, which showed only the invites which did not have enforce_address set.

  • Fixed bug in Extensions/ which added two ‘invite_form’ links to user actions.

  • Added a “FakeMessageFactory” class for translations in controller scripts, see


  • Complete i18n.

  • Automaticaly add a number of invites for new members. (And modify the configlet to enable modification of number of invites to give new users.

  • Re-add expiration functionality (invitation expires after configurable time period).

  • Modify configlet to enable modification of invitiations e-mail “Sender” in Plone.

  • In the configlet, don’t show “Number of days the invitation stays active” if there are no members.

  • Do not lose invitations when re-installing.

  • See if we can subclass zope.interface.Interface instead of IDefaultPloneLayer (interfaces.IPloneInvitePolicy)

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

Products.PloneInvite-2.0a1.tar.gz (38.9 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