Author: Kapil Thangavelu, Wichert Akkerman



This product adapts the
for use by Plone.


Why doesn't the title of my group, that I set in the ZODB, show up?
The title for a group comes from the properties plugin. The info
in the groups plugin isn't used, except for the name.

The value of the 'title' property on the portal_groupdata or
portal_memberdata tools themselves (as opposed to the group or
member data records within them) will not be used as a default for
the title of the group or member. This is to prevent UI confusion if
a title is set without realizing the implications. To remove this
special case, see ''.

If PAS caching is enabled (see the "Cache" tab) and the cache
manager does not have a 'cleanup' method (RAMCacheManager has one),
then changes to the memberdata schema will not effect users already
cached. In this case, restart the server or clear the cache (if
possible) for the changes to take effect.

Similarly, changes to the memberdata schema will not propagate to
member objects already in use. If you have a memberdata object and
change the memberdata properties you must re-construct the member by
saying portal_membership.getMemberById again.  See
'tests.test_properties.test_user_properties' for example.

By default, logout from users signed in under HTTP Basic Auth cannot
log out.  If you enable the "Credentials Reset" plugin for the HTTP
Basic plugin, the logout for cookies will no longer work. However,
this is not a problem if you're not using cookies.


In some places, PlonePAS acts as an adaptor to make PAS provide
enough of GRUF's interface to satisfy Plone. All the monkey patches
in, for instance, extend PAS with expected methods.

PlonePAS also modifies Plone to work with PAS by providing
partially-new implementations of several tools.  In the tools/
directory you can see new tools for groups and members, as well as
the utils tool.

It also provides extra capabilities for PAS needed by plone, such as
mutable property sheets, local role calculation, creation of group
objects, and more.


Initial creation: The PAS CIGNEX Sprint Team [ Anders, Bob, Ben,
Chad, Gautham, Joel, Kapil, Michel, Micheal ]

Post-sprint work: J Cameron Cooper, Leo, Sidnei, Mark at "Enfold

Basic setAuthCookie support (to mimick CookieCrumbler):
Rocky Burt at "ServerZen Software":

Synced login process with Plone:
Dorneles Tremea at "PloneSolutions":

Bugfixes, various development and merging with Plone:
Wichert Akkerman at Simplon

Bugfixes, improvements to membership and property lookups:
Eric Steele and Erik Rose


5.0 (2014-04-05)

- Do not write member data on read

- Allow ``properties`` to be passed to ``PloneUser.setProperties``.
  This was previously ignored as ``setProperties`` solely utilised
  keyword arguments.

4.1.2 (2014-01-27)

- Don't try to migrate the root user folder if the portal has no parent.

- Use batteries included odict implementation in favour of homegrown one.

- Use correct methods for getting users from id or names

- Ported tests to

4.1.1 (2013-03-05)

- Fix a bug in setSecurityProfile where the login name was passed
  instead of the user id.

- Added empty updateUser and updateEveryLoginName methods in
  ZODBMutablePropertyProvider to fulfill the new standards of the

4.1 (2013-01-01)

- Fix assignRoleToPrincipal to work with new Products.PluggableAuthService 1.10.0.

- Fix saving, getting and deleting the user portrait for non-standard
  user ids like 'bob-jones' or ''.

- Fix the test for the current password if the user id differs from
  the login name.

4.1a2 (2012