Skip to main content

A content-based implementation of Plone's default member infrastructure

Project description


Products.remember is a full implementation of the default Plone member
configuration using content to represent membership accounts. It is built
on top of Products.membrane. Out of the box, Products.remember should work
very much like a regular Plone membership accounts, except that member
information is stored in Member objects that are (by default) stored in the
portal_memberdata tool.

Products.remember 1.9b1 works with Plone 4+ and Products.membrane 2+. It
does not suppport Plone 3 and Products.membrane 1 - for that, see instead
versions of Products.remember before 1.9, eg 1.1b3. Visit for the index of all
available Products.remember releases.

Products.remember is a successor to CMFMember, which will not work with
PluggableAuthService-based user folders, and thus will not work with a
typical Plone 2.5 (and greater) installation. Products.remember 1.1b3
provides a migration path for existing CMFMember-based sites.

For questions and support, please see the Remember mailing list:


Products.remember is packaged using Python's setuptools package management
infrastructure. Remember can be made available to your Zope instance by
installing the Products.remember package into your Zope's python
environment, using either easy_install or 'python install'.

Products.remember is installed into a Plone site by the application of a
GenericSetup extension profile. You can do this when creating a new
site by selecting remember from the list of available setup profiles
when you are creating the site. In an existing site, you can use
Plone's regular product installation interface.


- Plone 4+
- membrane 2+


- py-bcrypt ( or


1.9b1 - 2011-06-14

* Products.remember now can be installed in a portal without affecting
the operation of the other portals in the same Zope instance.
[may 2011 ken manheimer]

Products.remember no longer disrupts non-membrane membership when
Products.remember is present but not yet quick-installed.
[march 2011 ken manheimer]

* Products.remember can now be quick-uninstalled, so that plain members can
be created and operate properly. The uninstall is not complete, however!
The portal still depends on presence of the Products.remember code for
proper operation, even when the product is not quick-installed.

If Products.remember is subsequently re-installed, already-existing
Products.remember accounts will resume working. (You have to manually
reindex the membrane_tool catalog to see the pre-existing accounts after
reinstall. Via the ZMI in your site's membrane_tool, select the
'Advanced' tab and 'Update Catalog'.)

Note that, as of this writing, Products.membrane cannot be uninstalled
without breaking the site - but that should not interfere with operation
or creation of plain, non-membrane membership accounts.
[may 2011 ken manheimer]

* Respect Site Setup/Security/"Use email address as login name".

New accounts are not allowed to have the same email address as already
existing ones when the "Use email address as login name" property is
True, but the policy is not enforced when it is false. (Already existing
accounts are not subject to the constraint in either case.)

This feature is essentially Maurits van Rees' maurits-emaillogin-pas
email login branch, plus: added automatic activation of the PAS
authentication plugin, connection so it's controlled by the security
setup "Use email address as login name" setting, and update step so the
plugin is activated when portals already using Products.remember are
[march 2011 ken manheimer]

* Products.remember now depends on Products.membrane 2+ and Plone 4+.

- Removed and/or converted "I*Avail" interfaces
- Added missing BaseMember.getUserId() method
- Make BaseMember Provide IMembraneUserAuth, so it can do
.authenticateCredentials(), and
- Implemented BaseMember.authenticateCredentials() method to be
used instead of the version removed from membrane.


If you have sites with pre-existing member objects you must update their
membrane_tool catalog when you upgrade. Via the ZMI in your site's
membrane_tool, select the 'Advanced' tab and 'Update Catalog' to
reconcile existing index entries.
[march 2011 ken manheimer]

* Modernized GenericSetup configuration, moving the profile and import
step registration from python code and xml to zcml, and creating
upgrade steps to get rid of persistent import steps and update the
existing getRoles index from a FieldIndex to a KeywordIndex.

* Changed getRoles from a FieldIndex to a KeywordIndex in the
membrane_tool, so you can search for roles.

* Use Plone 3's JS schemata/fieldset switching. [Matthew Wilkes]

1.1b3 - 2009-03-23

* allow usage of portal_registration tools ALLOWED_MEMBER_ID_PATTERN. This
does not change any current behaviour, it may be made configurable ttw in
future. Introduced new variable USE_PORTAL_REGISTRATION_PATTERN
set to False by default. Setting to True switches to portal_registrations
[2009-04-23 by jensens]

* Fix inefficiency in prefs_users_overview where searchUsers is called when
no search string is supplied. The bug meant that the page would be extremely
slow even when just navigating to prefs_users_overview.
[2009-06-19 by hedley]

1.1b3 - 2009-03-23

* Fix git based release problem, now using setuptools-git (hannosch)

1.1b2 - 2009-03-20

* Tested with Plone 3.0-3.2 [rossp]

* Factor Products/remember/examples/sampleremember to a separate
Products.sampleremember [rossp]

* Added some CSS classes [hpeteragitator]

* Fix some i18n [khink]

1.1b1 - 2008-08-20

* Initial release

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.remember-1.9b1.tar.gz (149.5 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