v3_1_1 - 20040906 * Fixed a bug in getProperty() - it always returned None ! * Fixed a bug which caused AUTHENTICATED_USER source id to be invalid v3_1 - 20040831 * Group-to-role mapping now works for LDAPGroupFolder * Debug mode now allows broken source not to be checken against * Fixed getUser() bug with remote_user_mode (getUser(None) now returns None). Thanks to Marco Bizzari. v3_0 - 20040623 * Minor interface changes * Documentation update v3_0Beta2 * Various bug fixes * Better support for Plone UI. PLEASE USE PLONE2's pjgrizel-gruf3-branch IN SVN! See README-Plone for further explanation v3_0Beta1 * API REFACTORING * FAR BETTER LDAP SUPPORT (see README-LDAP.stx) v2_0 - 20040302 * Reindexing new GroupSpace objects 2004/03/10 Maik Röder * Speedup improvements by Heldge Tesdal * Fixed ZMI overview refreshing bug * GroupsTool method createGrouparea now calls the GroupSpace method setInitialGroup with the group that it is created for. In case this method does not exists, the default behaviour is employed. This is done so that the GroupSpace can decide on its own what the policy should be regarding the group that it is initially created for. See the implementation of GrufSpaces for an example of how this can be used in order to give the initial group the role GroupMember. 2004/02/25 Maik Röder * Removed GroupSpace code, which can now be found in http://ingeniweb.sourceforge.net/Products/GrufSpaces 2004/02/25 Maik Röder v2_0Beta3 - 20040224 * Improved performance on LDAP Directories * Fixed various Plone UI bugs (password & roles changing) * Fixed "AttributeError: URL1" bug in ZMI v2_0Beta2 - 20031222 * Added GroupSpace object for Plone websites (see website/GroupSpaceDesign_xx.stx) * Fixed __getattr__-related bug * Fixed inituser-related bug * Cosmetic fixes and minor bugs v2_0Beta1 - 20031026 * Include support for multi-sources v1_32 - 20030923 * Pass __getitem__ access onto user objects (XUF compatibility) * Allow ZMI configuration of group workspaces (CMF Tool) * Added security declarations to CMF tools * new getPureUserNames() and getPurseUsers() methods to get user objects without group objects v1_31 - 20030731 * Many performance improvements (tree and audit views) * Fixed a recursion pb. on the left pane tree (!) * Added a batch view for "overview" page when there's more than 100 users registered in the system v1_3 - 20030723 * GRUF NOW SUPPORTS NESTED GROUPS - Transparently, of course. * Updated website information & screenshots * Major ZMI improving, including everywhere-to-everywhere links, edition of a single user or group, and minor cosmetic fixes * The tree view in ZMI now show groups and user (if there's no more than 50, to avoid having server outage) * Improved performance * Improved test plan * Fixed a bug in password generation algorythm with non-iso Python installs * Fixed a minor bug in group acquisition stack (it apparently had no side-effect) v1_21 - 20030710 * ZMI cosmetic fixes * Fixed the bug that prevented LDAP-defined attributes to be acquired by GRUFUser. This bug showed-up with LDAPUserFolder. v1_2 - 20030709 * HTML documentation * Add a management tab on GRUF to allow users and groups to be created at this top-level management interface. v1_1 - 20030702 * Security improvements * Added an 'audit' tab to check what's going on * GroupsTool and GroupDataTool added for Plone * Improved Plone skins * Improved Plone installation * GRUF Users now 'inherit' from their underlying user object v1_0RC1 - 20030514 * Code cleaning * Documentation improving * API improving (added a few utility methods) * UI improving (see skins changes) * getId() bug fixing (see ChangeLog) v0_2 - 20030331 * Users are now acquired correctly, which prevents you from hotfixing anything !!! :-) * This fixed Zope 2.5 w/ Plone bug * Better log reporting * Validated with LDAPUserFolder and SimpleUserFolder v0_1 - 20021126 * User creation is now supported * Fixed a bug (with an axe) that prevented Zope module Owner.py code to work. The Owner.py calls aq_inner and aq_parent methods on a User object to get its security context. So it found the underlying User object instead of the GRUF itself. So we fixed this by setting dummy UserFolder-context methods on the GRUFUser objects. This is ugly and should be fixed later by acquiring the underlying User object from a better context. * Fixed getUserName in GRUFUser that returned group names without "group_" * Fixed various "cosmetic" bugs * Documented the whole stuff v0_0 - 20021126 Started to work on this wonderful product.