Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Members can invite new members; registration only possible if invited

Project Description

About PloneInvite

PloneInvite is a tool for Plone which allows portal members to invite new users to register into the portal. The portal administrator assigns the invite codes to the portal members and members can and these invite codes are used to send the invitation.

How to Use

For Portal Administrator:

  1. Log in as portal administrator, go to Site Setup and click on 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 Member:

  1. After logging in open invite link present just below search box.
  2. This page allows members to send invitations as well as see the status of their invitations.


  1. Add Products.PloneInvite to your buildout
  2. Install the product via Plone’s Add-on Products configlet (@@prefs_install_products_form)


People wanting to develop on this product (adding translations) may want to use the buildout:

$ svn co ploneinvite
$ cd ploneinvite
$ python2.4
$ ./bin/buildout

Development for Plone 3 is the default. For Plone 4, go into buildout-dvl.cfg and uncomment and comment out the relevant lines.

The buildout should create (by means of plone.recipe.plonesite) a Plone site with id ploneinvite, and the product installed.


  1. Assign invites to the users.
  2. Admin can enforce email in the the invitation (invitee register with the same email address to which the invitation was sent )
  3. Expiry Date for the invitation
  4. Inviter can enforce email
  5. User can register only if they have the invitation code
  6. Manager can add users with out invitation code
  7. Invitation e-mail message can be customized (page template modification)


Customizing the invite e-mail

  1. Go to the ZMI
  2. Go to portal_skins, to plone_invite, select the invite_template, customize that

Customizing the invitation sender address

The email address which will be used as the “sender” in invite e-mails is the site-wide e-mail address by default. You can change it via “@@mail-controlpanel”.

If you want to use a different sender address than the site address

  1. Go to the ZMI
  2. Go to the plone_invite tool, go to the ‘properties’ tab, modify plone_invite_email_address

Customizing who can delegate invitation codes to users

If you go into the ZMI and look into your portal’s security settings, you’ll find these permissions:

  • PloneInvite: Generate Portal Invites
  • PloneInvite: Invite Portal Users
  • PloneInvite: Invite Portal Users

If you want a selected group of users to be able to give out invitations, just add (in the ZMI) a new Role “InvitationGivers”, give this Role the permission “PloneInvite: Generate Portal Invites” (still in the ZMI), and create (in Plone) a group which has this Role, and these users should now be able to use the ‘user_invites’ form.


Tested on:

  • Plone 3.2.1, CMF 2.1.2, Zope 2.10.6-final
  • Plone 3.3b1, CMF 2.1.2, Zope 2.10.7-final
  • Plone 3.3.3, CMF 2.1.2, Zope 2.10.9-final
  • Plone 3.3.5, Zope 2.10.11

Plone version compatibility

Recent versions of this product are compatible with Plone 3 only.

There’s no release for Plone 4. There’s a branch for Plone 4 in the repository, but it’s not actively being developed.

The 1.0.2 version is compatible with Plone 2.5.


The product relies on a modification of the join_form for its functionality. Using the product alongside another product which also modifies join_form will not work.


1.1 / 1.1-alpha to 1.1.2 or higher

Upgrading by clicking upgrade in the plone product installer does not do a complete upgrade, because the tool is already installed, and will not get the new property “plone_invite_email_address”. However, you might add this property manually (through the ZMI) to an already existing tool.


  • Created by Giovani Spagnolo of Partecs Participatory Technologies.
  • Maintained by Kees Hink of Goldmund, Wyldebeast & Wunderliebe.


  • German (de): Hartmut Goebel


1.1.6 (2010-09-13)

  • Added Spanish translations [macagua]
  • Improved translations support [macagua]

1.1.5 (2010-06-16)

1.1.4 (2010-05-05)

1.1.3 (2010-01-18)

  • Added German (de) translation, thanks to Hartmut Goebel
  • Added some of Hartmut’s ideas for extra features to TODO
  • Added a bit of doc about “Customizing who can delegate invitation codes to users”

1.1.2 (2010-01-04)

  • Fixed bug with import of unused ‘INVITE_EMAIL’ variable from
  • remove setting of site property for PloneInvite email address

1.1.1 (2010-01-04)

  • Fixed bug where invitation email’s sender address was left empty
  • Add property ‘plone_invite_sender_addres’ to tool to use instead of site’s ‘email_from_addres’.

1.1 (2009-12-01)

Plone 3 compatibility fixes.

  • 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

1.0.2 (2006-04-10)

First public release.


  • Test/fix expiration functionality (invitation expires after configurable time period).
  • Allow modification of invitiations e-mail “Sender” in configlet (currently through ZMI).
  • Modify configlet to enable modification of number of invites to give new users. (default is 5)
  • Do not lose invitations when re-installing. Actually, re-installing doesn’t lose invitations, but uninstalling does: it removes the plone_invite tool (which contains the invitations). So we’re looking for another place to store invitations, which doesn’t get deleted on uninstall (making the uninstall less clean, but whatever).
  • Allow specified users or groups to have “infinite” invitations.
  • When inviting a user, it should be possible to put him into groups (at least if the inviter is a Manager). Thus a Manager could invite a new user directly into a certain group (which defines the access rights).
  • Do not generate invitations when delegating them, but store only the number of invitations a user has left. Then generate the invite code on demand when the invitation is sent. Used invitation codes will still be stored as they are now.
  • Code cleanup and improvements:
    • Use getToolByName instead of relying on Acquisition in: - send_invite_codes.cpy
    • Import permissions by name in
Release History

Release History

History Node


This version
History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
Products.PloneInvite-1.1.6.tar.gz (55.4 kB) Copy SHA256 Checksum SHA256 Source Sep 13, 2010

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting