{ "info": { "author": "Kees Hink", "author_email": "hink@gw20e.com", "bugtrack_url": null, "classifiers": [ "Framework :: Plone", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "About PloneInvite\n=================\n\nPloneInvite is a tool for Plone which allows portal members to invite new users\nto register into the portal. The portal administrator assigns the invite\ncodes to the portal members and members can and these invite codes are used\nto send the invitation. \n\n\nHow to Use\n==========\n\nFor Portal Administrator:\n-------------------------\n\n1. Log in as portal administrator, go to Site Setup and click on Member\n Invitations link.\n\n2. On this page you can give invites to other users and set the expiration\n period in days for the portal invites.\n\nFor Member:\n-----------\n\n1. After logging in open invite link present just below search box.\n\n2. This page allows members to send invitations as well as see the status of\n their invitations.\n\n \nInstall\n=======\n\n1. Add `Products.PloneInvite` to your buildout\n\n2. Install the product via Plone's Add-on Products configlet\n (`@@prefs_install_products_form`)\n\nDevelopers\n----------\n\nPeople wanting to develop on this product (adding translations) may want to use\nthe buildout::\n \n $ svn co https://svn.plone.org/svn/collective/Products.PloneInvite/trunk/buildout ploneinvite\n $ cd ploneinvite\n $ python2.4 bootstrap.py \n $ ./bin/buildout\n\nDevelopment for Plone 3 is the default. For Plone 4, go into `buildout-dvl.cfg`\nand uncomment and comment out the relevant lines.\n\nThe buildout should create (by means of `plone.recipe.plonesite`) a Plone site\nwith id `ploneinvite`, and the product installed.\n\n\nFeatures\n========\n\n1. Assign invites to the users.\n\n2. Admin can enforce email in the the invitation (invitee register with the\n same email address to which the invitation was sent )\n\n3. Expiry Date for the invitation\n\n4. Inviter can enforce email\n\n5. User can register only if they have the invitation code\n\n6. Manager can add users with out invitation code\n\n7. Invitation e-mail message can be customized (page template modification)\n\n\nConfiguration\n=============\n \n\nCustomizing the invite e-mail\n-----------------------------\n\n1. Go to the ZMI\n\n2. Go to portal_skins, to plone_invite, select the\n invite_template, customize that\n\n\nCustomizing the invitation sender address\n-----------------------------------------\n\nThe email address which will be used as the \"sender\" in invite e-mails\nis the site-wide e-mail address by default. You can change it via\n\"@@mail-controlpanel\".\n\nIf you want to use a different sender address than the site address\n \n1. Go to the ZMI\n\n2. Go to the plone_invite tool, go to the 'properties' tab, modify\n plone_invite_email_address\n\n\nCustomizing who can delegate invitation codes to users\n------------------------------------------------------\n\nIf you go into the ZMI and look into your portal's security settings, you'll\nfind these permissions:\n\n* PloneInvite: Generate Portal Invites\n\n* PloneInvite: Invite Portal Users\n\n* PloneInvite: Invite Portal Users\n\nIf you want a selected group of users to be able to give out invitations, just\nadd (in the ZMI) a new Role \"InvitationGivers\", give this Role the permission\n\"PloneInvite: Generate Portal Invites\" (still in the ZMI), and create (in\nPlone) a group which has this Role, and these users should now be able to use\nthe 'user_invites' form.\n\n\nRequirements\n============\n\nTested on:\n\n- Plone 3.2.1, CMF 2.1.2, Zope 2.10.6-final\n\n- Plone 3.3b1, CMF 2.1.2, Zope 2.10.7-final\n\n- Plone 3.3.3, CMF 2.1.2, Zope 2.10.9-final\n\n- Plone 3.3.5, Zope 2.10.11\n\n\nPlone version compatibility\n===========================\n\nRecent versions of this product are compatible with Plone 3 only.\n\nThere's no release for Plone 4. There's a branch for Plone 4 in the repository,\nbut it's not actively being developed.\n\nThe 1.0.2 version is compatible with Plone 2.5.\n\n\nWarning\n=======\n \nThe product relies on a modification of the join_form for its\nfunctionality. Using the product alongside another product which also\nmodifies join_form will not work.\n\n\nUpgrading\n=========\n\n1.1 / 1.1-alpha to 1.1.2 or higher\n----------------------------------\n\nUpgrading by clicking upgrade in the plone product installer does not do a\ncomplete upgrade, because the tool is already installed, and will not get the\nnew property \"plone_invite_email_address\". However, you might add this property\nmanually (through the ZMI) to an already existing tool.\n\n\nCredits\n=======\n\n* Created by Giovani Spagnolo of Partecs Participatory Technologies.\n* Maintained by Kees Hink of Goldmund, Wyldebeast & Wunderliebe.\n\nTranslations\n------------\n\n* German (de): Hartmut Goebel\n\n\nCHANGES\n=======\n\n1.1.6 (2010-09-13)\n------------------\n\n- Added Spanish translations [macagua]\n- Improved translations support [macagua]\n\n1.1.5 (2010-06-16)\n------------------\n\n- Bugfix: Allow special characters in \"mesaage\" field when sending invitation.\n (http://plone.org/products/plone-invite/issues/3)\n\n1.1.4 (2010-05-05)\n------------------\n\n- Bugfix: Members with permission \"PloneInvite: Generate Portal Invites\" can\n now view user_invites (refs http://plone.org/products/plone-invite/issues/2)\n- Bugfix: user_invites now only displays \"Days\" field if user has permission to\n set PloneInvite's tool \"days\" property. This would cause an \"unauthorized\"\n error in invite_codes.cpy if non-priviliged members tried to generate \n invites. (refs http://plone.org/products/plone-invite/issues/2)\n- Add a user action link to user_invites for non-Manager members that can \n generate invitations. Also added nl and de translations. (refs \n http://plone.org/products/plone-invite/issues/2)\n\n1.1.3 (2010-01-18)\n------------------\n\n- Added German (de) translation, thanks to Hartmut Goebel\n- Added some of Hartmut's ideas for extra features to TODO\n- Added a bit of doc about \"Customizing who can delegate invitation codes to\n users\"\n\n1.1.2 (2010-01-04)\n------------------\n\n- Fixed bug with import of unused 'INVITE_EMAIL' variable from config.py\n- remove setting of site property for PloneInvite email address\n\n1.1.1 (2010-01-04)\n------------------\n\n- Fixed bug where invitation email's sender address was left empty\n- Add property 'plone_invite_sender_addres' to tool to use instead\n of site's 'email_from_addres'.\n\n\n1.1 (2009-12-01)\n----------------\n\nPlone 3 compatibility fixes.\n\n- Breaks compatibility with Plone 2.5, due to @@authenticator, which is called\n from the join_form in Plone 3, isn't available in Plone 2.5.\n\n- Renamed permissions from \"PortalInvite: ...\" to \"PloneInvite: ...\".\n\n- Minor modifications so it works under Plone 3, most notably encode e-mail\n before sending\n\n- Enabled self-registration ('Add portal member' permission on the site), which\n is needed to enable new members to register themselves. (Self-registration is\n protected by the validation on the join_form, so people will only be able to\n register with an invitation code.)\n\n- Disabled info@yoursite.com as default value, use site-wide\n email_from_address as default. (Still customizable through config.py)\n\n- Disable overriding of mailhost settings. (Install.py used to reset the\n portal's mailhost settings to localhost:25)\n\n- Turn on invitation generation for new users by default (5 invitations), this\n is probably what most sites want. Should be configurable in Plone product\n settings configlet.\n\n- Disable bare try-except blocks in invite.cpy\n\n- Translations:\n \n - Added PloneInvite.pot and plone.pot\n\n - Added Makefile for easy creation and updating of translation (.po) files\n\n - Added Dutch translation\n\n- Fixed a bug in the user_invites template table, which showed only the invites\n which did not have enforce_address set.\n\n- Fixed bug in Extensions/Install.py which added two 'invite_form' links to\n user actions.\n\n- Added a \"FakeMessageFactory\" class for translations in controller scripts, \n see fakemessagefactory.py\n\n\n1.0.2 (2006-04-10)\n------------------\n\nFirst public release.\n\n\nTODO\n====\n\n- Test/fix expiration functionality (invitation expires after configurable\n time period).\n\n- Allow modification of invitiations e-mail \"Sender\" in configlet (currently\n through ZMI).\n\n- Modify configlet to enable modification of number of invites to give new\n users. (default is 5) \n\n- Do not lose invitations when re-installing. \n Actually, re-installing doesn't lose invitations, but uninstalling does: it\n removes the plone_invite tool (which contains the invitations).\n So we're looking for another place to store invitations, which doesn't get\n deleted on uninstall (making the uninstall less clean, but whatever).\n\n- Allow specified users or groups to have \"infinite\" invitations.\n\n- When inviting a user, it should be possible to put him into groups (at least\n if the inviter is a Manager). Thus a Manager could invite a new user directly\n into a certain group (which defines the access rights).\n\n- Do not generate invitations when delegating them, but store only the number\n of invitations a user has left. Then generate the invite code on demand when\n the invitation is sent. Used invitation codes will still be stored as they\n are now.\n\n- Code cleanup and improvements:\n * Use getToolByName instead of relying on Acquisition in:\n - send_invite_codes.cpy\n * Import permissions by name in PloneInvite.py", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://plone.org/products/plone-invite/", "keywords": "Plone PloneInvite", "license": "GPL", "maintainer": null, "maintainer_email": null, "name": "Products.PloneInvite", "package_url": "https://pypi.org/project/Products.PloneInvite/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/Products.PloneInvite/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://plone.org/products/plone-invite/" }, "release_url": "https://pypi.org/project/Products.PloneInvite/1.1.6/", "requires_dist": null, "requires_python": null, "summary": "Members can invite new members; registration only possible if invited", "version": "1.1.6" }, "last_serial": 204671, "releases": { "1.1": [ { "comment_text": "", "digests": { "md5": "281aec8ae836770433d785ccec90e84c", "sha256": "a342a77f5c6896d929a691e036b5af71b4dcde0db8b564dd4fda8dbaa8c617f4" }, "downloads": -1, "filename": "Products.PloneInvite-1.1.tar.gz", "has_sig": false, "md5_digest": "281aec8ae836770433d785ccec90e84c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39093, "upload_time": "2009-12-31T10:53:12", "url": "https://files.pythonhosted.org/packages/92/83/502b4586fba3c0576bf0a163ca90fe01e022e6447164fb14fe04a6d5ccef/Products.PloneInvite-1.1.tar.gz" } ], "1.1-alpha": [], "1.1-alpha-r82485": [ { "comment_text": "", "digests": { "md5": "e1d43735d8da428e4a8252650d233d25", "sha256": "63ca8c36797358fb90ddb17e7035b35731974d3b5db54d128874119e89442eeb" }, "downloads": -1, "filename": "Products.PloneInvite-1.1-alpha-r82485.tar.gz", "has_sig": false, "md5_digest": "e1d43735d8da428e4a8252650d233d25", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39698, "upload_time": "2009-03-16T16:30:40", "url": "https://files.pythonhosted.org/packages/83/7f/2842ae6f0aba22e376b5b6129e64d184779e85634d595a020954ad556b49/Products.PloneInvite-1.1-alpha-r82485.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "0029d434f7274b776d09da74919ced7c", "sha256": "76853bc8ec69123aa9da1d2891030dceb3ac1b0e4697d00652a5144797a80a78" }, "downloads": -1, "filename": "Products.PloneInvite-1.1.1.tar.gz", "has_sig": false, "md5_digest": "0029d434f7274b776d09da74919ced7c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40549, "upload_time": "2010-01-04T12:21:38", "url": "https://files.pythonhosted.org/packages/f8/d0/97264976d231d64382ba103504b3272543a774aaf9fb7a6bd1350c3e28bb/Products.PloneInvite-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "997524fe3d470116ab3f3ab002da96b3", "sha256": "05a267d6b40be18f5fa4c2021456397beb3c14bacd79e0b2b823f311af48a92e" }, "downloads": -1, "filename": "Products.PloneInvite-1.1.2.tar.gz", "has_sig": false, "md5_digest": "997524fe3d470116ab3f3ab002da96b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40524, "upload_time": "2010-01-04T15:50:07", "url": "https://files.pythonhosted.org/packages/1f/90/1cea833298538da876c7301e6732253e1d5d7f1b30a02c21e66f200375f8/Products.PloneInvite-1.1.2.tar.gz" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "9e87044c6a83fe6d58fcdbdac884969e", "sha256": "d7b354b436390f2db9f4a9107049738aee99f780faf79e5c6f84332bb5a7dd0e" }, "downloads": -1, "filename": "Products.PloneInvite-1.1.3.tar.gz", "has_sig": false, "md5_digest": "9e87044c6a83fe6d58fcdbdac884969e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43949, "upload_time": "2010-01-18T21:03:15", "url": "https://files.pythonhosted.org/packages/18/a4/b857b2396778da73de1dd6aadb13fd5c488b96d691d820351b9c1867c7fe/Products.PloneInvite-1.1.3.tar.gz" } ], "1.1.4": [ { "comment_text": "", "digests": { "md5": "78cca3074ab72e4f526c7289f8263795", "sha256": "7cf06c364b6d63ee37a6a96c7e539f04ca94471ec3c09c5576b6f64bcec6cacb" }, "downloads": -1, "filename": "Products.PloneInvite-1.1.4.tar.gz", "has_sig": false, "md5_digest": "78cca3074ab72e4f526c7289f8263795", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44559, "upload_time": "2010-05-05T14:19:53", "url": "https://files.pythonhosted.org/packages/d9/be/3907d7bd2634f184b2cde18e74364e3a841e28bb3151930589efd6792e8f/Products.PloneInvite-1.1.4.tar.gz" } ], "1.1.5": [ { "comment_text": "", "digests": { "md5": "6a6e420d61b13ca420e528856021ed0e", "sha256": "4944b2cd2a0986805faa3a1a5b45fc189ffa0bd5ceb71a6ab0f4372d74e657df" }, "downloads": -1, "filename": "Products.PloneInvite-1.1.5.tar.gz", "has_sig": false, "md5_digest": "6a6e420d61b13ca420e528856021ed0e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44925, "upload_time": "2010-06-16T12:00:15", "url": "https://files.pythonhosted.org/packages/63/2f/b156aa4e37d8868ef9dc665168ce695dd08a5ae404b345b4ae56fcb38bd3/Products.PloneInvite-1.1.5.tar.gz" } ], "1.1.6": [ { "comment_text": "", "digests": { "md5": "87328f828cacbb6fe6da1c9c1d87cee6", "sha256": "d8555f95469a2caf6e0d27b914c78f62941cef5c803ac6212f005f636f06e005" }, "downloads": -1, "filename": "Products.PloneInvite-1.1.6.tar.gz", "has_sig": false, "md5_digest": "87328f828cacbb6fe6da1c9c1d87cee6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55415, "upload_time": "2010-09-13T21:16:39", "url": "https://files.pythonhosted.org/packages/75/5a/733f25ca6bff7bfe41be04c92c7ec30bc970a7552ee91666374836289e7e/Products.PloneInvite-1.1.6.tar.gz" } ], "2.0a1": [ { "comment_text": "", "digests": { "md5": "3bcd7b9f0a22dfdde5f8562710a4ebd4", "sha256": "359b7174c1dba0c8e615097c0e5fbcfdb53903df66a2056e4d9a4a74679d0462" }, "downloads": -1, "filename": "Products.PloneInvite-2.0a1.tar.gz", "has_sig": false, "md5_digest": "3bcd7b9f0a22dfdde5f8562710a4ebd4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38889, "upload_time": "2009-12-30T17:49:13", "url": "https://files.pythonhosted.org/packages/4a/71/2006e8e95ecf79af69ecc5599b1e4bc06b1b046906c9f0f5483fc6709019/Products.PloneInvite-2.0a1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "87328f828cacbb6fe6da1c9c1d87cee6", "sha256": "d8555f95469a2caf6e0d27b914c78f62941cef5c803ac6212f005f636f06e005" }, "downloads": -1, "filename": "Products.PloneInvite-1.1.6.tar.gz", "has_sig": false, "md5_digest": "87328f828cacbb6fe6da1c9c1d87cee6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55415, "upload_time": "2010-09-13T21:16:39", "url": "https://files.pythonhosted.org/packages/75/5a/733f25ca6bff7bfe41be04c92c7ec30bc970a7552ee91666374836289e7e/Products.PloneInvite-1.1.6.tar.gz" } ] }