2004-09-06 11:56  pjgrizel

	* website/index.html: Updated documentation

2004-09-06 11:51  pjgrizel

	* CHANGES, version.txt: Preparing 3.1.1 release

2004-09-06 11:44  pjgrizel

	* GRUFUser.py, GroupUserFolder.py: - Fixed getProperty() which
	always returned None - Fixed a source identification problem with
	authenticated user

2004-08-31 14:54  pjgrizel

	* CHANGES, version.txt: Preparing 3.1 release

2004-08-31 11:51  pjgrizel

	* README-Plone.stx, dtml/GRUF_overview.zpt, website/index.html:
	Updated documentation

2004-08-31 11:06  pjgrizel

	* CHANGES, website/index.html: Updated various bits of
	documentation

2004-08-31 10:58  pjgrizel

	* __init__.py: Whoops... fixed a debug error :)

2004-08-31 10:57  pjgrizel

	* LDAPGroupFolder.py, README-LDAP.stx, __init__.py: Added
	documentation about LDAPUF's bug with versions < 2.4Beta3.  Please
	now use LDAPUserFolder >= 2.4Beta3 with GRUF.

2004-08-31 10:18  pjgrizel

	* CHANGES, GroupUserFolder.py: Fixed getUser() bug with
	remote_user_mode

2004-08-31 10:11  pjgrizel

	* CHANGES, GroupUserFolder.py, README.txt, global_symbols.py: Added
	a check in debug mode to prevent adding invalid sources

2004-08-30 18:03  pjgrizel

	* website/index.html: Updated website

2004-08-30 17:43  pjgrizel

	* LDAPGroupFolder.py, README-LDAP.stx: * Documentation update
	
	* Now group-to-role mapping works with LDAPUserFolder

2004-08-04 17:36  pjgrizel

	* GroupUserFolder.py, LDAPUserFolderAdapter.py, README.txt, TODO,
	tests/testGroupUserFolder.py: Updated documentation with
	SimpleUserFolder

2004-08-04 11:11  pjgrizel

	* GRUFUser.py: Now users can safely change their own password

2004-07-23 11:49  pjgrizel

	* GRUFUser.py, LDAPUserFolderAdapter.py, __init__.py,
	tests/testGroupUserFolderAPI.py, tests/testLDAPUserFolder.py:
	Several LDAP fixes

2004-07-20 17:52  pjgrizel

	* TODO: Added a little thing to do to improve perfs

2004-07-20 12:02  pjgrizel

	* GRUFUser.py, GroupUserFolder.py, global_symbols.py,
	tests/GRUFTestCase.py, tests/testGroupUserFolder.py: Fixed
	local-role blocking on allowed() method

2004-07-13 15:07  pjgrizel

	* GroupUserFolder.py, GroupsTool.py: Minor fixes

2004-07-12 18:07  pjgrizel

	* GroupUserFolder.py: Finished implementing local roles blocking

2004-07-12 11:14  pjgrizel

	* GroupUserFolder.py, interfaces/IUserFolder.py,
	tests/GRUFTestCase.py, tests/testGroupUserFolder.py,
	tests/testGroupUserFolderAPI.py: Added code to prepare Plone's
	catalog tool patching to handle gruf security searching issues.

2004-07-09 16:17  pjgrizel

	* CONTRIBUTORS, GRUFUser.py, GroupUserFolder.py, GroupsTool.py,
	doc/GRUF3.0.stx, interfaces/IUserFolder.py, tests/GRUFTestCase.py,
	tests/testGroupUserFolder.py, tests/testGroupUserFolderAPI.py:
	Implemented local roles blocking management on gruf.

2004-06-23 12:23  pjgrizel

	* doc/GRUF3.0.stx: Added GRUF3 release notes

2004-06-23 11:33  pjgrizel

	* CHANGES, TODO, website/index.html, version.txt: Preparing 3.0
	release

2004-06-21 17:27  pjgrizel

	* GRUFUser.py: Allowed optional parameter in getProperty() for
	GRUFUser

2004-06-15 16:09  pjgrizel

	* doc/interview.txt: Added a zopeur.org interview file about GRUF

2004-06-15 12:06  pjgrizel

	* version.txt: Preparing 3.0Beta2 release

2004-06-15 12:04  pjgrizel

	* CHANGES, GroupUserFolder.py, GroupsTool.py, LDAPGroupFolder.py,
	README-Plone.stx, README.txt: Updated documentation

2004-06-14 11:42  pjgrizel

	* global_symbols.py: Closing 'version.txt' file during init...
	oops...

2004-06-11 14:49  pjgrizel

	* GroupUserFolder.py, LDAPGroupFolder.py,
	tests/testLDAPGroupFolder.py: Changed LDAPGroupFolder way of
	identifying underlying LDAPUF, so that it won't break if it's moved
	(or deleted).

2004-06-11 13:34  pjgrizel

	* GroupUserFolder.py: Removed remaining (former) _haveLDAPUF
	implementation

2004-06-11 13:32  pjgrizel

	* GRUFUser.py, GroupUserFolder.py: Fixed bug in group listing
	methods

2004-06-11 11:56  pjgrizel

	* GroupUserFolder.py: Fixed minor Plone interface stuff

2004-06-09 16:01  pjgrizel

	* GroupDataTool.py, GroupsTool.py, interfaces/portal_groups.py,
	tests/testPloneTools.py: Added an isGroup() method on portal_groups

2004-06-09 15:45  pjgrizel

	* GRUFUser.py, GroupDataTool.py, interfaces/IUserFolder.py,
	interfaces/portal_groupdata.py, tests/testPloneTools.py: Now, by
	default, getGroupMembers() doesn't include transitive groups/users.
	 Added a 'getAllGroupMembers()' method to include them anyway.

2004-06-08 17:03  pjgrizel

	* GroupUserFolder.py, TODO, interfaces/IUserFolder.py,
	tests/testGroupUserFolderAPI.py: Added group searching methods

2004-06-08 16:24  pjgrizel

	* GRUFUser.py, GroupUserFolder.py, interfaces/IUserFolder.py,
	tests/GRUFTestCase.py, tests/Log.py,
	tests/testGroupUserFolderAPI.py, tests/testLDAPUserFolder.py: -
	Fixed a minor bug with user deletion - Added a user searching
	interface

2004-06-08 14:34  pjgrizel

	* tests/testPloneTools.py: Added some more tests

2004-06-08 12:26  pjgrizel

	* GroupDataTool.py, GroupUserFolder.py, GroupsTool.py,
	interfaces/portal_groupdata.py, interfaces/portal_groups.py,
	tests/testGroupUserFolderAPI.py, tests/testPloneTools.py: - Fixed
	minor bug in groups affectation in userFolderEditGroup() method -
	Added some more tests for Plone tools

2004-06-08 10:34  pjgrizel

	* GroupUserFolder.py, Log.py, tests/Log.py,
	tests/testPloneTools.py: - Improved test case - Added ways to
	monitor expensive calls in Log.py

2004-06-08 09:56  pjgrizel

	* website/index.html: Updated documentation

2004-06-07 17:08  pjgrizel

	* GRUFUser.py, GroupUserFolder.py: Fixed bug in changePassword
	interface

2004-06-07 16:10  pjgrizel

	* GRUFUser.py, GroupDataTool.py, GroupsTool.py,
	interfaces/IUserFolder.py, interfaces/portal_groupdata.py,
	interfaces/portal_groups.py, tests/testInterface.py,
	tests/testPloneTools.py: Added various tests for GroupDataTool and
	GroupData classes

2004-05-28 16:14  pjgrizel

	* GroupsTool.py, interfaces/portal_groups.py,
	tests/testInterface.py, tests/testPloneTools.py: - Added a few test
	cases for portal_groups - Corrected portal_groups API - Fixed small
	bugs related to this tool

2004-05-28 14:49  pjgrizel

	* GRUFUser.py, GroupDataTool.py, GroupUserFolder.py,
	interfaces/IUserFolder.py, tests/GRUFTestCase.py: Removed a few
	bugs

2004-05-25 11:00  pjgrizel

	* website/index.html: Updated web page

2004-05-25 10:19  pjgrizel

	* cvs2cl.pl: Preparing 3.0Beta1 release

2004-05-19 18:37  pjgrizel

	* GroupsTool.py: Fixed lack in groups tool API

2004-05-19 14:37  pjgrizel

	* GRUFUser.py, TODO: Improved member properties management: now
	works for LDAPUF properties

2004-05-19 11:32  pjgrizel

	* __init__.py: Fixed missing import

2004-05-19 11:14  pjgrizel

	* GRUFUser.py, README-LDAP.stx, __init__.py, dtml/GRUF_groups.zpt,
	dtml/GRUF_users.zpt, interfaces/IUserFolder.py,
	tests/GRUFTestCase.py, tests/testLDAPUserFolder.py,
	tests/testUserAPI.py: Allowed user property mutation with
	LDAPUserFolder backend

2004-05-18 14:32  tesdal

	* __init__.py: Made GRUF start without LDAPUserFolder.

2004-05-18 10:23  pjgrizel

	* CHANGES, CONTRIBUTORS, GRUFFolder.py, GRUFUser.py,
	GroupDataTool.py, GroupUserFolder.py, GroupsTool.py,
	LDAPGroupFolder.py, LDAPUserFolderAdapter.py, README-LDAP.stx,
	README.txt, TODO, __init__.py, global_symbols.py, version.txt,
	dtml/GRUF_groups.zpt, dtml/GRUF_overview.zpt, dtml/GRUF_user.zpt,
	dtml/GRUF_users.zpt, dtml/addLDAPGroupFolder.dtml,
	dtml/groups.dtml, interfaces/IUserFolder.py,
	skins/gruf/gruf_ldap_required_fields.py, tests/GRUFTestCase.py,
	tests/Log.py, tests/testGroupUserFolder.py,
	tests/testGroupUserFolderAPI.py, tests/testInterface.py,
	tests/testLDAPGroupFolder.py, tests/testLDAPUserFolder.py,
	tests/testMultipleSources.py, tests/testPloneInterface.py,
	tests/testUserAPI.py: Merged 3.0Beta1 branch into HEAD. Many many
	many improvements in GRUF core

2004-05-18 09:52  pjgrizel

	* GroupsTool.py, LDAPGroupFolder.py, TODO: Fixed doc and a small
	bug when assigning invalid roles to a group

2004-05-17 18:55  pjgrizel

	* GroupUserFolder.py, dtml/GRUF_users.zpt: Allow users to be
	retreived with getUserNames() if necessary in some ZMI pages.

2004-05-17 17:35  pjgrizel

	* LDAPGroupFolder.py, LDAPUserFolderAdapter.py,
	skins/gruf/gruf_ldap_required_fields.py,
	tests/testLDAPGroupFolder.py: No need anymore to programatically
	map ldap groups to zope roles

2004-05-17 17:08  pjgrizel

	* dtml/groups.dtml: file groups.dtml was initially added on branch
	v2_1_branch.

2004-05-17 17:08  pjgrizel

	* dtml/addLDAPGroupFolder.dtml: file addLDAPGroupFolder.dtml was
	initially added on branch v2_1_branch.

2004-05-17 17:08  pjgrizel

	* CHANGES, CONTRIBUTORS, GRUFUser.py, GroupUserFolder.py,
	LDAPGroupFolder.py, README-LDAP.stx, TODO, __init__.py,
	dtml/GRUF_groups.zpt, dtml/GRUF_user.zpt,
	dtml/addLDAPGroupFolder.dtml, dtml/groups.dtml,
	tests/testUserAPI.py: Fixed some ZMI pages

2004-05-17 15:20  pjgrizel

	* LDAPUserFolderAdapter.py, README-LDAP.stx,
	skins/gruf/gruf_ldap_required_fields.py: Added LDAP required field
	customization support

2004-05-17 15:20  pjgrizel

	* skins/gruf/gruf_ldap_required_fields.py: file
	gruf_ldap_required_fields.py was initially added on branch
	v2_1_branch.

2004-05-17 15:13  pjgrizel

	* README-LDAP.stx: file README-LDAP.stx was initially added on
	branch v2_1_branch.

2004-05-17 15:13  pjgrizel

	* LDAPGroupFolder.py, LDAPUserFolderAdapter.py, README-LDAP.stx,
	README.txt, tests/testLDAPGroupFolder.py: Updated documentation

2004-05-17 11:57  pjgrizel

	* LDAPGroupFolder.py, LDAPUserFolderAdapter.py, TODO,
	tests/GRUFTestCase.py, tests/testGroupUserFolderAPI.py,
	tests/testLDAPGroupFolder.py, tests/testLDAPUserFolder.py: Nested
	groups are now supported in GRUF. Wow ! :)

2004-05-14 16:47  pjgrizel

	* tests/testLDAPGroupFolder.py: file testLDAPGroupFolder.py was
	initially added on branch v2_1_branch.

2004-05-14 16:47  pjgrizel

	* LDAPGroupFolder.py: file LDAPGroupFolder.py was initially added
	on branch v2_1_branch.

2004-05-14 16:47  pjgrizel

	* GRUFUser.py, GroupUserFolder.py, LDAPGroupFolder.py,
	LDAPUserFolderAdapter.py, __init__.py, global_symbols.py,
	tests/GRUFTestCase.py, tests/testGroupUserFolderAPI.py,
	tests/testLDAPGroupFolder.py, tests/testLDAPUserFolder.py: Added
	most of LDAP stuff. The LDAP part is not fully working yet but the
	main code is there and ready to be CVSed :)

2004-05-13 10:44  pjgrizel

	* tests/testLDAPUserFolder.py: file testLDAPUserFolder.py was
	initially added on branch v2_1_branch.

2004-05-13 10:44  pjgrizel

	* GroupUserFolder.py, LDAPUserFolderAdapter.py, __init__.py,
	tests/GRUFTestCase.py, tests/testGroupUserFolderAPI.py,
	tests/testLDAPUserFolder.py, tests/testUserAPI.py: LDAPUserFolder
	support (WITH TESTS)

2004-05-13 10:44  pjgrizel

	* LDAPUserFolderAdapter.py: file LDAPUserFolderAdapter.py was
	initially added on branch v2_1_branch.

2004-05-12 15:31  pjgrizel

	* tests/GRUFTestCase.py: The test case now conforms to GRUF's API
	;)

2004-05-12 12:11  pjgrizel

	* GRUFUser.py, GroupUserFolder.py, version.txt,
	tests/GRUFTestCase.py, tests/testGroupUserFolder.py,
	tests/testInterface.py, tests/testMultipleSources.py,
	tests/testUserAPI.py: Now it's possible to pass parameter to
	constructor when creating sources through python code

2004-05-11 16:30  pjgrizel

	* GRUFUser.py, GroupUserFolder.py, interfaces/IUserFolder.py,
	tests/testInterface.py, tests/testUserAPI.py: Added a few tests and
	fixed a few bugs... (especially the CACHE bugs)

2004-05-07 17:48  pjgrizel

	* GroupUserFolder.py, tests/testInterface.py, tests/testUserAPI.py:
	Now all GRUF methods have a security declaration. This is checked
	in the test case.

2004-05-07 17:29  pjgrizel

	* tests/testInterface.py: file testInterface.py was initially added
	on branch v2_1_branch.

2004-05-07 17:29  pjgrizel

	* GroupUserFolder.py, interfaces/IUserFolder.py,
	tests/GRUFTestCase.py, tests/Log.py, tests/testGroupUserFolder.py,
	tests/testGroupUserFolderAPI.py, tests/testInterface.py,
	tests/testUserAPI.py: Added some tests => GRUF API is completely
	tested now

2004-05-07 16:04  pjgrizel

	* tests/: GRUFTestCase.py, testGroupUserFolder.py,
	testGroupUserFolderAPI.py: Re-organized test case

2004-05-07 16:04  pjgrizel

	* tests/GRUFTestCase.py: file GRUFTestCase.py was initially added
	on branch v2_1_branch.

2004-05-07 15:46  pjgrizel

	* tests/testUserAPI.py: file testUserAPI.py was initially added on
	branch v2_1_branch.

2004-05-07 15:46  pjgrizel

	* GRUFUser.py, GroupUserFolder.py, TODO, version.txt,
	dtml/GRUF_overview.zpt, interfaces/IUserFolder.py,
	tests/testGroupUserFolderAPI.py, tests/testUserAPI.py: Improved
	API. Updated test case accordingly

2004-05-04 23:52  dreamcatcher

	* makefile.in, version.txt: Bump version. Add makefile.

2004-05-04 23:48  dreamcatcher

	* DynaList.py, GRUFFolder.py, GRUFUser.py, GroupDataTool.py,
	GroupUserFolder.py, GroupsTool.py, GroupsToolPermissions.py,
	Installation.py, Log.py, __init__.py, class_utility.py,
	global_symbols.py, Extensions/Install.py, doc/py2htmldoc.py,
	interfaces/IUserFolder.py, interfaces/portal_groupdata.py,
	interfaces/portal_groups.py, skins/gruf/change_password.py,
	tests/Log.py, tests/framework.py, tests/testGroupUserFolder.py,
	tests/testMultipleSources.py, tests/testPloneInterface.py:
	Whitespace cleaning

2004-04-14 02:25  k_vertigo

	* GroupDataTool.py:  - group data were being saved wrapped, which
	caused a memory leak and
	   some other issues. unwrap explictly before saving.

2004-03-24 09:39  pjgrizel

	* GroupUserFolder.py: Fixed bug reported by Christian Theune
	<ct@gocept.com> about GRUF inner folder id

2004-03-21 00:24  shh42

	* tests/__init__.py: Make 'tests' a package.

2004-03-19 16:23  roeder

	* CHANGES, GroupsTool.py: Reindexing new GroupSpace objects

2004-03-04 12:36  pjgrizel

	* GroupUserFolder.py, interfaces/IUserFolder.py,
	tests/testGroupUserFolderAPI.py: Added a few unit tests

2004-03-03 16:29  runyaga

	* version.txt: gruf is at version 2.0 not 2.0a

2004-03-02 18:25  pjgrizel

	* tests/testGroupUserFolderAPI.py: file testGroupUserFolderAPI.py
	was initially added on branch v2_1_branch.

2004-03-02 18:25  pjgrizel

	* GRUFFolder.py, GRUFUser.py, GroupDataTool.py, GroupUserFolder.py,
	GroupsTool.py, global_symbols.py, interfaces/IUserFolder.py,
	tests/testGroupUserFolder.py, tests/testGroupUserFolderAPI.py,
	tests/testPloneInterface.py: Started API refactoring, including
	test plans...

2004-03-02 09:22  pjgrizel

	* version.txt: Re-preparing 2.0 release

2004-03-02 09:13  pjgrizel

	* website/index.html: Updated web page

2004-03-02 09:10  pjgrizel

	* CHANGES, version.txt: Preparing 2.0 release

2004-03-01 16:31  pjgrizel

	* interfaces/IUserFolder.py: Many changes to the interface file

2004-03-01 14:54  pjgrizel

	* GroupUserFolder.py, TODO: Fixed ZMI's overview cache bug

2004-03-01 14:18  tesdal

	* GRUFUser.py, GroupUserFolder.py: Added cache invalidation when
	changing the current user.

2004-03-01 11:18  pjgrizel

	* tests/testGroupUserFolder.py: Added copy/paste tests

2004-03-01 09:46  pjgrizel

	* tests/testGroupUserFolder.py: Upgraded test plan

2004-02-28 23:14  tesdal

	* GRUFUser.py: Further speed improvements.  Cache the results of
	getGroups, getRoles, getUserRoles and getGroupRoles .  Next step
	would be to cache the user object in the userfolder so there is
	only one user object instantiated per request.

2004-02-27 23:08  tesdal

	* GRUFUser.py: Some minor improvements to getRolesInContext, avoid
	unnecessary method calls and so on.

2004-02-27 20:05  tesdal

	* GRUFUser.py, GroupUserFolder.py, tests/testPloneInterface.py:
	Speed improvements and cleanups. No numbers on actual performance
	yet though.  Changed GRUFUser.allowed and GroupUserFolder.unique.

2004-02-27 18:33  pjgrizel

	* GroupUserFolder.py, tests/testGroupUserFolder.py: Fixed bug
	#905669 in SF (user traversal pb)

2004-02-27 18:02  pjgrizel

	* GroupDataTool.py: - Fixed double-group affectation bug - Cleaned
	GRUF's internals usage in GroupDataTool

2004-02-27 17:53  pjgrizel

	* GroupDataTool.py, GroupsTool.py, tests/testPloneInterface.py: -
	Added a minimal test plan for GRUF/Plone interfacing (especially
	for tools) - Added some minor interface changes inside the API

2004-02-27 17:30  pjgrizel

	* interfaces/IUserFolder.py: Fixed interface

2004-02-27 16:03  pjgrizel

	* interfaces/IUserFolder.py: Small fix in the interface file

2004-02-27 15:50  pjgrizel

	* GroupUserFolder.py, interfaces/IUserFolder.py,
	tests/testGroupUserFolder.py, website/index.html: - Added core
	UserFolder API interface - Started coding some interface's methods

2004-02-26 19:49  shh42

	* tests/framework.py: Upgrade framework again

2004-02-26 18:06  shh42

	* tests/: testGroupUserFolder.py, testMultipleSources.py: Remove
	custom login() method to make tests work

2004-02-26 18:05  shh42

	* tests/runalltests.py: Upgrade runalltests.py

2004-02-26 18:04  shh42

	* tests/framework.py: Upgrade framework.py

2004-02-25 15:38  roeder

	* CHANGES, GroupsTool.py: GroupSpaces can now decide on the policy
	regarding the initial group. The old behaviour is still in place,
	in case the proposed interface is not supported by the GroupSpace
	used.

2004-02-25 11:22  roeder

	* TODO: Removed one todo

2004-02-25 11:21  roeder

	* README-Plone.stx: Removed the part on GroupSpace

2004-02-25 11:21  roeder

	* design.txt: Some corrections

2004-02-25 11:20  roeder

	* CHANGES, CONTRIBUTORS: Update

2004-02-25 11:19  roeder

	* __init__.py: No more preparing installation of GroupSpace content
	type

2004-02-25 11:18  roeder

	* Extensions/Install.py: No more slots for GroupSpaces and
	Installation of GroupSpaces removed

2004-02-25 11:17  roeder

	* website/index.html: No more reference to GroupSpace design

2004-02-25 11:12  roeder

	* skins/gruf/GroupSpace.gif, skins/gruf/GroupSpace_add_groups.py,
	skins/gruf/GroupSpace_contents.pt,
	skins/gruf/GroupSpace_contents.pt.metadata,
	skins/gruf/GroupSpace_edit.cpy,
	skins/gruf/GroupSpace_edit.cpy.metadata,
	skins/gruf/GroupSpace_editForm.cpt,
	skins/gruf/GroupSpace_editForm.cpt.metadata,
	skins/gruf/GroupSpace_listing.pt,
	skins/gruf/GroupSpace_listing.pt.metadata,
	skins/gruf/GroupSpace_membersForm.pt,
	skins/gruf/GroupSpace_membersForm.pt.metadata,
	skins/gruf/GroupSpace_remove_members.py,
	skins/gruf/GroupSpaces_summary.pt,
	skins/gruf/listGroupSpaceContentTypes.py,
	skins/gruf/portlet_groups.pt,
	skins/gruf/portlet_groupspaces_changes.pt,
	skins/gruf/validate_GroupSpace_edit.vpy,
	website/GroupSpaceDesign_en.stx, website/GroupSpaceDesign_fr.stx:
	Moving to GrufSpaces

2004-02-25 10:56  roeder

	* GroupSpace.py: Removing GroupSpace

2004-02-24 10:50  pjgrizel

	* CHANGES: Preparing release

2004-02-24 10:48  pjgrizel

	* TODO, version.txt: Preparing 2.0Beta3 release

2004-02-23 13:48  pjgrizel

	* GroupDataTool.py, GroupsTool.py: Fixed "ghost" roles on users
	when deleting a group (Thanks to Seb Potter)

2004-02-22 15:27  pjgrizel

	* skins/gruf/change_password.py: Fixed un bug in password changing
	script, thanks to Seb Bacon

2004-02-20 18:40  pjgrizel

	* GroupUserFolder.py, design.txt, dtml/GRUF_users.zpt,
	tests/runtests_std_zope.sh: - Improved performance with large
	LDAPUserFolder directories - Removed buggy icons in the tree -
	Fixed buggy 'users' form - Added a design explaination file

2004-02-16 15:52  roeder

	* skins/gruf/portlet_groups.pt: No limit on group spaces shown as
	there is no link to a page with all group spaces

2004-01-30 13:15  pjgrizel

	* dtml/GRUF_groups.zpt, dtml/GRUF_user.zpt, dtml/GRUF_users.zpt,
	tests/testGroupUserFolder.py: Fixed 'action' in ZMI screens

2004-01-30 11:30  pjgrizel

	* tests/README: Fixed documentation

2004-01-29 06:11  runyaga

	* GRUFUser.py: attribute access is expensive in python. do it as
	little as possible.  gruf really needs a refactoring *heavily* if
	not a complate rewrite.  great idea.  just rather evolved.

2004-01-20 19:15  roeder

	* skins/gruf/: GroupSpace_contents.pt, GroupSpaces_summary.pt: src
	and alt on all images now

2004-01-20 19:07  roeder

	* GroupUserFolder.py: correcting english in comment

2004-01-20 19:05  roeder

	* skins/gruf/GroupSpaces_summary.pt: Adding missing div end tag

2004-01-20 19:03  roeder

	* skins/gruf/portlet_groups.pt: Correct icon

2004-01-20 19:01  roeder

	* skins/gruf/GroupSpaces_summary.pt: Adding missing div end tag

2004-01-20 18:58  roeder

	* skins/gruf/GroupSpace_listing.pt: Fixing icon

2004-01-20 18:57  roeder

	* skins/gruf/GroupSpace_contents.pt: Fixed alt and src on an image
	tag

2004-01-20 18:43  roeder

	* skins/gruf/portlet_groupspaces_changes.pt: News icon for all
	content that has changed is not good. In addition, this is not the
	style used for example in portlet_recent.

2004-01-15 12:09  pjgrizel

	* GroupUserFolder.py: When creating a user via API which starts
	with group prefix, GRUF now creates a group (see 870731)

2004-01-15 12:05  pjgrizel

	* GroupUserFolder.py: Prevent bug in users overview screen
	(partially fixing 870731)

2004-01-12 10:34  pjgrizel

	* CHANGES, TODO: Updated todo-list

2004-01-07 21:19  brcwhit

	* GroupDataTool.py, GroupSpace.py, GroupsTool.py: Initial commit of
	BRC GroupSpace Implementation

2003-12-23 11:24  shh42

	* GroupsTool.py: Fix removeGroups as (most) string exceptions are
	gone in Zope 2.7

2003-12-22 17:11  pjgrizel

	* website/index.html: Changed website

2003-12-22 17:09  pjgrizel

	* version.txt: Preparing 2.0Beta2 release

2003-12-22 16:24  pjgrizel

	* website/: GroupSpaceDesign_en.stx, GroupSpaceDesign_fr.stx,
	index.html: Updated website and moved documentation files

2003-12-22 16:22  pjgrizel

	* doc/: GroupSpaceDesign_en.stx, GroupSpaceDesign_fr.stx: Moved
	documentation files

2003-12-22 16:14  pjgrizel

	* version.txt, website/index.html: Changed web page and preparing
	2.0 release

2003-12-22 11:35  pjgrizel

	* GroupUserFolder.py: Fixed inituser authentication within GRUF
	(see http://plone.org/collector/1714)

2003-12-22 11:01  pjgrizel

	* GroupUserFolder.py, dtml/GRUF_users.zpt: Now it's possible to set
	a default password when creating users in ZMI

2003-12-22 10:30  pjgrizel

	* GroupsTool.py: Changed default groupworkspaces folder name as
	"groups"

2003-12-20 17:48  odeckmyn

	* README-Plone.stx: Updated README-Plone.stx for Plone 1/2

2003-12-19 21:26  roeder

	* tests/testGroupUserFolder.py: removing a line that breaks the
	unit test

2003-12-19 12:20  pjgrizel

	* doc/GroupSpaceDesign_en.stx: Added english design documentation
	file - thanks Kamon ! :)

2003-12-19 11:02  pjgrizel

	* skins/gruf/folder_localrole_form_plone1.pt: Added Plone1's
	customized localrole_form to allow Plone1 users to continue
	enjoying groups with GRUF2.

2003-12-19 10:54  pjgrizel

	* GroupsTool.py, dtml/configureGroupsTool.dtml: Differenciated
	GroupWorkspaceType from GroupWorkspaceContainerType

2003-12-19 09:38  pjgrizel

	* doc/: DESIGN_FR.stx, GroupSpaceDesign_fr.stx: Renamed design file

2003-12-18 14:53  pjgrizel

	* GroupUserFolder.py: Removed unnecessary debug logs

2003-12-18 11:46  pjgrizel

	* tests/testMultipleSources.py: Fixed small thing in test plan

2003-12-17 16:35  pjgrizel

	* GRUFUser.py, GroupDataTool.py, website/index.html: Fixed some
	stuff to make pref_groups work correctly in Plone

2003-12-17 15:43  pjgrizel

	* GroupDataTool.py: Improved users in a group listing

2003-12-17 13:06  pjgrizel

	* GRUFUser.py: Added a small comment about __getattr__ method

2003-12-17 10:47  pjgrizel

	* GroupUserFolder.py: Switched user and group fetching for (mainly
	LDAP) performance reasons

2003-12-16 18:45  pjgrizel

	* GRUFUser.py, GroupUserFolder.py: Fixed bug in __getattr__ to
	retreive underlying user's properties

2003-12-16 17:28  pjgrizel

	* GroupsTool.py: Added ability to search titles in Groups data

2003-12-16 17:23  pjgrizel

	* README-Plone.stx: Added a very small doc about GroupSpace stuff

2003-12-16 17:16  pjgrizel

	* GRUFFolder.py, GRUFUser.py, GroupUserFolder.py, README.txt,
	__init__.py, global_symbols.py: Changed licencing policy

2003-12-16 17:12  pjgrizel

	* LICENSE.GPL, LICENSE.txt: Switched licencing from GPL to ZPL

2003-12-16 17:07  pjgrizel

	* GroupSpace.py, GroupsToolPermissions.py, Installation.py, TODO,
	__init__.py, global_symbols.py, Extensions/Install.py,
	doc/DESIGN_FR.stx, skins/gruf/GroupSpace.gif,
	skins/gruf/GroupSpaceFolderishType_view.pt.old,
	skins/gruf/GroupSpace_add_groups.py,
	skins/gruf/GroupSpace_contents.pt,
	skins/gruf/GroupSpace_contents.pt.metadata,
	skins/gruf/GroupSpace_edit.cpy,
	skins/gruf/GroupSpace_edit.cpy.metadata,
	skins/gruf/GroupSpace_editForm.cpt,
	skins/gruf/GroupSpace_editForm.cpt.metadata,
	skins/gruf/GroupSpace_listing.pt,
	skins/gruf/GroupSpace_listing.pt.metadata,
	skins/gruf/GroupSpace_membersForm.pt,
	skins/gruf/GroupSpace_membersForm.pt.metadata,
	skins/gruf/GroupSpace_remove_members.py,
	skins/gruf/GroupSpaces_summary.pt,
	skins/gruf/listGroupSpaceContentTypes.py,
	skins/gruf/portlet_groups.pt,
	skins/gruf/portlet_groupspaces_changes.pt,
	skins/gruf/validate_GroupSpace_edit.vpy: * Integrated GroupSpace
	branch into main trunk

2003-12-16 15:38  pjgrizel

	* doc/DESIGN_FR.stx: file DESIGN_FR.stx was initially added on
	branch GroupSpace_branch.

2003-12-16 15:38  pjgrizel

	* DESIGN_FR.stx, GroupSpace.py, Extensions/Install.py,
	doc/DESIGN_FR.stx: Improved installation script (w/ the workflow)

2003-12-16 11:07  pjgrizel

	* GroupSpace.py, TODO, Extensions/Install.py,
	skins/gruf/GroupSpaces_summary.pt: Updated summary form (fixed
	small presentation bug)

2003-12-12 14:09  pjgrizel

	* skins/gruf/GroupSpaces_summary.pt: file GroupSpaces_summary.pt
	was initially added on branch GroupSpace_branch.

2003-12-12 14:09  pjgrizel

	* skins/gruf/portlet_groupspaces_changes.pt: file
	portlet_groupspaces_changes.pt was initially added on branch
	GroupSpace_branch.

2003-12-12 14:09  pjgrizel

	* GroupSpace.py, Extensions/Install.py,
	skins/gruf/GroupSpace_listing.pt,
	skins/gruf/GroupSpaces_summary.pt,
	skins/gruf/listGroupSpaceContentTypes.py,
	skins/gruf/portlet_groups.pt,
	skins/gruf/portlet_groupspaces_changes.pt: Improved skins / slots

2003-12-12 14:09  pjgrizel

	* skins/gruf/listGroupSpaceContentTypes.py: file
	listGroupSpaceContentTypes.py was initially added on branch
	GroupSpace_branch.

2003-12-11 17:48  pjgrizel

	* GroupSpace.py, Extensions/Install.py,
	skins/gruf/portlet_groups.pt: "MyGroupSpaces" box works now

2003-12-11 13:52  pjgrizel

	* Extensions/Install.py, skins/gruf/portlet_groups.pt: Improved
	install script, started working on "my groups" portlet

2003-12-09 17:53  pjgrizel

	* skins/gruf/portlet_groups.pt: file portlet_groups.pt was
	initially added on branch GroupSpace_branch.

2003-12-09 17:53  pjgrizel

	* GroupSpace.py, Extensions/Install.py,
	skins/gruf/GroupSpace_membersForm.pt, skins/gruf/portlet_groups.pt:
	Added group space features

2003-12-08 16:54  pjgrizel

	* skins/gruf/GroupSpace_add_groups.py: file
	GroupSpace_add_groups.py was initially added on branch
	GroupSpace_branch.

2003-12-08 16:54  pjgrizel

	* skins/gruf/GroupSpace_remove_members.py: file
	GroupSpace_remove_members.py was initially added on branch
	GroupSpace_branch.

2003-12-08 16:54  pjgrizel

	* GroupSpace.py, TODO, skins/gruf/GroupSpace_add_groups.py,
	skins/gruf/GroupSpace_membersForm.pt,
	skins/gruf/GroupSpace_remove_members.py: API improvements

2003-12-05 18:06  pjgrizel

	* skins/gruf/GroupSpace_membersForm.pt: file
	GroupSpace_membersForm.pt was initially added on branch
	GroupSpace_branch.

2003-12-05 18:06  pjgrizel

	* skins/gruf/GroupSpace_membersForm.pt.metadata: file
	GroupSpace_membersForm.pt.metadata was initially added on branch
	GroupSpace_branch.

2003-12-05 18:06  pjgrizel

	* GroupSpace.py, Extensions/Install.py,
	skins/gruf/GroupSpace_membersForm.pt,
	skins/gruf/GroupSpace_membersForm.pt.metadata: Added members tab
	form

2003-12-05 16:22  pjgrizel

	* GroupSpace.py, skins/gruf/GroupSpace.gif,
	skins/gruf/GroupSpace_contents.pt: * (very) Basic GroupSpace
	membership API * Changed icon

2003-12-05 16:03  pjgrizel

	* DESIGN_FR.stx: Added a (french) text file to explain GroupSpaces
	design

2003-12-05 16:03  pjgrizel

	* DESIGN_FR.stx: file DESIGN_FR.stx was initially added on branch
	GroupSpace_branch.

2003-12-05 15:58  pjgrizel

	* skins/gruf/GroupSpace_contents.pt: file GroupSpace_contents.pt
	was initially added on branch GroupSpace_branch.

2003-12-05 15:58  pjgrizel

	* skins/gruf/validate_GroupSpace_edit.vpy: file
	validate_GroupSpace_edit.vpy was initially added on branch
	GroupSpace_branch.

2003-12-05 15:58  pjgrizel

	* skins/gruf/GroupSpace.gif: file GroupSpace.gif was initially
	added on branch GroupSpace_branch.

2003-12-05 15:58  pjgrizel

	* skins/gruf/GroupSpace_editForm.cpt.metadata: file
	GroupSpace_editForm.cpt.metadata was initially added on branch
	GroupSpace_branch.

2003-12-05 15:58  pjgrizel

	* skins/gruf/GroupSpace_contents.pt.metadata: file
	GroupSpace_contents.pt.metadata was initially added on branch
	GroupSpace_branch.

2003-12-05 15:58  pjgrizel

	* skins/gruf/GroupSpace_edit.cpy.metadata: file
	GroupSpace_edit.cpy.metadata was initially added on branch
	GroupSpace_branch.

2003-12-05 15:58  pjgrizel

	* skins/gruf/GroupSpace_edit.cpy: file GroupSpace_edit.cpy was
	initially added on branch GroupSpace_branch.

2003-12-05 15:58  pjgrizel

	* skins/gruf/GroupSpace_listing.pt: file GroupSpace_listing.pt was
	initially added on branch GroupSpace_branch.

2003-12-05 15:58  pjgrizel

	* skins/gruf/GroupSpace_editForm.cpt: file GroupSpace_editForm.cpt
	was initially added on branch GroupSpace_branch.

2003-12-05 15:58  pjgrizel

	* skins/gruf/GroupSpaceFolderishType_view.pt.old: file
	GroupSpaceFolderishType_view.pt.old was initially added on branch
	GroupSpace_branch.

2003-12-05 15:58  pjgrizel

	* skins/gruf/GroupSpace_listing.pt.metadata: file
	GroupSpace_listing.pt.metadata was initially added on branch
	GroupSpace_branch.

2003-12-05 15:58  pjgrizel

	* GroupSpace.py, GroupsToolPermissions.py, Installation.py,
	__init__.py, global_symbols.py, Extensions/Install.py,
	skins/gruf/GroupSpace.gif,
	skins/gruf/GroupSpaceFolderishType_view.pt.old,
	skins/gruf/GroupSpace_contents.pt,
	skins/gruf/GroupSpace_contents.pt.metadata,
	skins/gruf/GroupSpace_edit.cpy,
	skins/gruf/GroupSpace_edit.cpy.metadata,
	skins/gruf/GroupSpace_editForm.cpt,
	skins/gruf/GroupSpace_editForm.cpt.metadata,
	skins/gruf/GroupSpace_listing.pt,
	skins/gruf/GroupSpace_listing.pt.metadata,
	skins/gruf/validate_GroupSpace_edit.vpy: Added the GroupSpace
	content type

2003-12-05 15:58  pjgrizel

	* GroupSpace.py: file GroupSpace.py was initially added on branch
	GroupSpace_branch.

2003-12-05 15:58  pjgrizel

	* Installation.py: file Installation.py was initially added on
	branch GroupSpace_branch.

2003-11-30 07:32  runyaga

	* Extensions/Install.py: fix migration code __allow_groups__ is
	very important ;-)

2003-11-13 15:32  yenzenz

	* GroupsTool.py: use Workspace Container Id also as the title of
	the workspace container.

2003-11-06 07:36  redcor

	* GroupsTool.py: when groupworkspace creation was not enabled,
	GroupsToll.removeGroups died

2003-10-28 17:04  runyaga

	* Extensions/Install.py: install now works w/o the use of
	Copy/Paste

2003-10-28 10:37  pjgrizel

	* CHANGES: Updated changes file

2003-10-28 09:54  pjgrizel

	* CONTRIBUTORS, website/index.html, website/tab_overview.png,
	website/tab_sources.png: Updated web pages

2003-10-28 04:57  runyaga

	* Extensions/Install.py: whoops

2003-10-28 04:55  runyaga

	* Extensions/Install.py: remove copy/paste

2003-10-25 20:15  runyaga

	* interfaces/: portal_groupdata.py, portal_groups.py: interfaces
	dont have self args

2003-10-24 14:37  pjgrizel

	* Makefile, version.txt, website/index.html: Preparing 2.0Beta1
	release

2003-10-22 18:36  tesdal

	* GRUFFolder.py, GRUFUser.py, GroupDataTool.py, GroupUserFolder.py,
	class_utility.py, dtml/GRUF_contents.zpt, dtml/GRUF_groups.zpt,
	dtml/GRUF_newusers.zpt, dtml/GRUF_overview.zpt, dtml/GRUF_user.zpt,
	dtml/GRUF_users.zpt, tests/testMultipleSources.py,
	www/down_arrow.gif, www/down_arrow_grey.gif, www/up_arrow.gif,
	www/up_arrow_grey.gif: Merge from v1_3_multiple_sources branch

2003-10-07 12:24  tesdal

	* skins/gruf/queryCatalog.py: Having a queryCatalog that checks
	every object is simply prohibitively expensive and unacceptable.
	Use something like allowedRolesAndUsers instead, and take a look at
	the CatalogTool in Plone if necessary.

2003-10-03 22:23  bmh

	* GroupsTool.py, GroupsToolPermissions.py: 
	- Split ManageGroups permission into AddGroups, ManageGroups, and  
	DeleteGroups

2003-10-02 08:20  pjgrizel

	* GroupUserFolder.py: Fixed typo in getGroupNames() - Thanks to
	robert@redcor.ch

2003-10-01 22:15  pjgrizel

	* __init__.py, tests/testGroupUserFolder.py: Removed unuseful and
	dangerous CMF imports within __init__ and test modules.

2003-09-30 22:16  pjgrizel

	* tests/runtests_std_zope.sh: Added a standard-zope-install test
	shell script: DO NOT MODIFY IT PLEASE.

2003-09-25 01:17  jccooper

	* GRUFUser.py: bugfix: we were losing a user's groups on password
	changes because group roles were being filtered out. Fixed by using
	underlying roles instead of getUserRoles, as per plone bug 1630.
	This fixes said bug: http://plone.org/collector/1630 Thanks to
	panjunyong for the fix.

2003-09-23 23:48  bmh

	* CHANGES, version.txt: 
	- Set version for 1.32 release

2003-09-23 23:46  bmh

	* CHANGES: 
	- Added list of changes for Plone2.0 beta

2003-09-23 23:29  bmh

	* skins/gruf/: folder_localrole_form.pt,
	folder_localrole_form.pt.properties: merge from
	new-group-tools-branch. You may revert this change with the
	pre-new-group-tools-merge tag.
	
	this branch held small additions to the API and addition of
	security to the GroupsTool, as well as some minor changes
	
	(jccooper)

2003-09-23 21:45  jccooper

	* GRUFUser.py, GroupDataTool.py, GroupUserFolder.py, GroupsTool.py,
	GroupsToolPermissions.py, README-Plone.stx, __init__.py,
	dtml/configureGroupsTool.dtml, interfaces/portal_groups.py: merge
	from new-group-tools-branch. You may revert this change with the
	pre-new-group-tools-merge tag.
	
	this branch held small additions to the API and addition of
	security to the GroupsTool, as well as some minor changes

2003-09-23 21:10  jccooper

	* GRUFUser.py: merge from HEAD

2003-09-23 18:51  jccooper

	* interfaces/portal_groups.py: adding option to keep workspaces
	when removing group

2003-09-23 04:18  jccooper

	* skins/gruf/: folder_localrole_form.pt,
	folder_localrole_form.pt.properties: removing the template, since
	it is Plone only and will now live in Plone

2003-09-23 02:45  jccooper

	* GroupsTool.py, GroupsToolPermissions.py, __init__.py: setting up
	permissions on Groups Tool

2003-09-23 02:45  jccooper

	* GroupsToolPermissions.py: file GroupsToolPermissions.py was
	initially added on branch new-group-tools-branch.

2003-09-23 02:44  jccooper

	* interfaces/portal_groups.py: bugfix: stupid indentation error

2003-09-23 00:18  shh42

	* GRUFUser.py: Fixed typo in 'GRUFUser.authenticate' uncovered by a
	test.  How did this ever work?

2003-09-22 21:40  jccooper

	* GroupDataTool.py, GroupsTool.py, README-Plone.stx,
	global_symbols.py, interfaces/portal_groups.py,
	skins/gruf/folder_localrole_form.pt, tests/runtests.sh,
	website/index.html: updates from HEAD

2003-09-22 02:14  bmh

	* skins/gruf/folder_localrole_form.pt: Use groups tool to get group
	list instead of acl_users

2003-09-18 00:01  jccooper

	* GroupsTool.py, interfaces/portal_groups.py: adding methods for
	getting pure users, in the same way GRUF does this

2003-09-18 00:00  jccooper

	* dtml/configureGroupsTool.dtml: minor wording change

2003-09-15 22:10  jccooper

	* GroupsTool.py: adding removal of group workspaces when deleting
	groups

2003-09-14 19:27  ronnix

	* global_symbols.py: Fixed file open mode.

2003-09-11 01:34  bmh

	* GroupDataTool.py: 
	- Specify title in _properties() since SimpleItem alsready sets it.
	   This allows us to use it as a property (it can always be deleted
	if    you don't want it)

2003-08-31 07:58  philikon

	* README-Plone.stx: Reformat plone readme so it's readable.

2003-08-31 02:47  philikon

	* skins/gruf/folder_localrole_form.pt: Improve usability on the
	'Local roles' form. Available groups are listed right away, lists
	are displayed in a tables and the roomy user/group icons have been
	scrapped since they only distracted the user instead of providing
	visual aid.

2003-08-27 22:09  jccooper

	* GroupsTool.py: various bug fixes

2003-08-25 11:34  pjgrizel

	* tests/runtests.sh, website/index.html: 
	Minor fixes

2003-08-18 23:57  jccooper

	* GroupsTool.py: logging statements / fixes for permissions

2003-08-14 01:08  jccooper

	* GroupsTool.py, interfaces/portal_groups.py, website/index.html:
	adding API method for getting a user's groups

2003-08-08 22:28  bmh

	* GRUFUser.py: 
	- Added __getitem__ that attempts to use the underlying user object
	as   a dictionary (works with XUF properties)

2003-08-08 22:26  bmh

	* GroupUserFolder.py: 
	- Use .extend() to build the list of usernames since it works with 
	 other list-like items that don't support '+' like the BTree  
	implementation in XUF

2003-08-06 11:53  pjgrizel

	* website/index.html: Updated contacts list on the webpage

2003-08-02 00:50  jccooper

	* GroupDataTool.py, GroupsTool.py, dtml/configureGroupsTool.dtml,
	interfaces/portal_groupdata.py, interfaces/portal_groups.py: moving
	onto new branch

2003-08-01 23:10  jccooper

	* dtml/configureGroupsTool.dtml: adding ZMI config page for Groups
	Tool

2003-08-01 23:09  jccooper

	* GroupsTool.py: adding ZMI pages for groups tool

2003-08-01 22:07  jccooper

	* GroupDataTool.py, GroupsTool.py, interfaces/portal_groups.py:
	adding permission changing to group workspaces

2003-08-01 20:54  jccooper

	* GroupsTool.py, interfaces/portal_groupdata.py,
	interfaces/portal_groups.py: bug fixing  - adding 'self's to
	interface defs	- removing spurious printlns

2003-07-31 15:07  pjgrizel

	* website/index.html: Fixed web page

2003-07-31 11:49  pjgrizel

	* website/index.html: Fixed web page

2003-07-31 11:04  pjgrizel

	* CHANGES, version.txt, website/index.html: Preparing 1.31 release

2003-07-31 10:55  pjgrizel

	* GRUFFolder.py, GRUFUser.py, GroupUserFolder.py, Log.py, TODO,
	global_symbols.py, dtml/GRUF_audit.zpt, dtml/GRUF_contents.zpt,
	dtml/GRUF_groups.zpt, dtml/GRUF_overview.dtml,
	dtml/GRUF_overview.zpt, dtml/GRUF_users.zpt,
	tests/testGroupUserFolder.py: Merged performance hints from other
	branch

2003-07-31 10:39  pjgrizel

	* dtml/: GRUF_contents.zpt, GRUF_groups.zpt, GRUF_users.zpt:
	Improved management pages

2003-07-31 10:28  pjgrizel

	* GroupUserFolder.py, dtml/GRUF_groups.zpt, dtml/GRUF_users.zpt:
	Improved users and groups view

2003-07-31 10:08  pjgrizel

	* dtml/GRUF_overview.zpt: file GRUF_overview.zpt was initially
	added on branch v1_3_optimization.

2003-07-31 10:08  pjgrizel

	* GroupUserFolder.py, global_symbols.py, dtml/GRUF_audit.zpt,
	dtml/GRUF_contents.zpt, dtml/GRUF_groups.zpt,
	dtml/GRUF_overview.zpt, dtml/GRUF_users.zpt: - Stable optimization
	hints - Improved 'overview' management page with a batch - Improved
	audit speed if no user or group is selected

2003-07-31 03:06  jccooper

	* GroupsTool.py, interfaces/portal_groups.py: rough go at group
	workspaces. no permissions, no web interface

2003-07-30 20:59  pjgrizel

	* GRUFFolder.py, GRUFUser.py, GroupUserFolder.py, Log.py, TODO,
	global_symbols.py, tests/testGroupUserFolder.py: Made various
	optimization hints (WARNING ! Instable commit... wait for the next
	one !)

2003-07-26 21:23  pjgrizel

	* www/up_arrow.gif: file up_arrow.gif was initially added on branch
	v1_3_multiple_sources.

2003-07-26 21:23  pjgrizel

	* www/up_arrow_grey.gif: file up_arrow_grey.gif was initially added
	on branch v1_3_multiple_sources.

2003-07-26 21:23  pjgrizel

	* GroupUserFolder.py, dtml/GRUF_contents.zpt, dtml/GRUF_groups.zpt,
	dtml/GRUF_newusers.zpt, dtml/GRUF_overview.dtml,
	dtml/GRUF_user.zpt, dtml/GRUF_users.zpt, www/down_arrow.gif,
	www/down_arrow_grey.gif, www/up_arrow.gif, www/up_arrow_grey.gif:
	Finished multi-source support both in code and ZMI.

2003-07-26 21:23  pjgrizel

	* www/down_arrow.gif: file down_arrow.gif was initially added on
	branch v1_3_multiple_sources.

2003-07-26 21:23  pjgrizel

	* www/down_arrow_grey.gif: file down_arrow_grey.gif was initially
	added on branch v1_3_multiple_sources.

2003-07-26 21:05  pjgrizel

	* GroupUserFolder.py, TODO: Prevented infinite recursion in
	getUsernames(), thanks to Philipp von Weitershausen
	<philipp@weitershausen.de> The pb. happend with ope 2.7 CVS HEAD
	with Python 2.3c1 and Plone 1.1a2

2003-07-26 10:08  pjgrizel

	* GroupUserFolder.py, dtml/GRUF_contents.zpt: Added user source
	replacement code

2003-07-26 00:23  pjgrizel

	* class_utility.py: file class_utility.py was initially added on
	branch v1_3_multiple_sources.

2003-07-26 00:23  pjgrizel

	* GRUFFolder.py, GroupUserFolder.py, README.txt, __init__.py,
	class_utility.py, dtml/GRUF_contents.zpt,
	tests/testMultipleSources.py: Updated multi-source support

2003-07-24 20:46  pjgrizel

	* LICENSE.GPL, LICENSE.txt: Added licence files

2003-07-24 20:46  pjgrizel

	* GRUFFolder.py, GRUFUser.py, GroupUserFolder.py, __init__.py,
	global_symbols.py, skins/gruf/queryCatalog.py: Fixed minor
	differences in page template definitions Fixed licence
	inconsistency

2003-07-24 10:08  pjgrizel

	* TODO: Updated todo-list

2003-07-24 00:34  pjgrizel

	* TODO: Updated TODO-list

2003-07-24 00:30  pjgrizel

	* TODO: Updated todo-list

2003-07-24 00:27  pjgrizel

	* GRUFFolder.py, GRUFUser.py, GroupDataTool.py, GroupUserFolder.py,
	TODO, tests/testMultipleSources.py: Added code base for multiple
	user sources management Added preliminary test plan for this

2003-07-24 00:27  pjgrizel

	* tests/testMultipleSources.py: file testMultipleSources.py was
	initially added on branch v1_3_multiple_sources.

2003-07-23 17:19  pjgrizel

	* CHANGES, GRUFFolder.py, GRUFUser.py, GroupUserFolder.py, TODO,
	__init__.py, global_symbols.py, version.txt, dtml/GRUF_audit.zpt,
	dtml/GRUF_contents.zpt, dtml/GRUF_groups.zpt,
	dtml/GRUF_newusers.zpt, dtml/GRUF_overview.dtml,
	dtml/GRUF_user.zpt, dtml/GRUF_users.zpt,
	tests/testGroupUserFolder.py, website/index.html: Merged with
	1.21_nested_groups
	
	Preparing 1.3 release.

2003-07-23 17:08  pjgrizel

	* website/: index.html, menu.png, user_edit.png: Updated
	documentation

2003-07-23 16:47  pjgrizel

	* TODO, website/index.html: Updated doc & todo-list

2003-07-23 16:43  pjgrizel

	* dtml/GRUF_user.zpt: Removed "delete" button on individual view as
	the underlying code is not yet done.

2003-07-23 16:41  pjgrizel

	* GRUFUser.py, GroupUserFolder.py, TODO, global_symbols.py,
	dtml/GRUF_audit.zpt, dtml/GRUF_contents.zpt, dtml/GRUF_groups.zpt,
	dtml/GRUF_newusers.zpt, dtml/GRUF_overview.dtml,
	dtml/GRUF_user.zpt, dtml/GRUF_users.zpt: - Improved the ZMI screens
	a lot !
	
	  - Added a tree view for groups / users (in ZMI's left frame)
	
	  - Added a single object view
	
	  - Added links to groups / users everywhere in ZMI so that
	everything
	    can be accessed very quickly
	
	  - Improved performance on several ZMI pages
	
	- Fixed a bug in password generation when non-latin Python is
	installed   (uses now a fixed character set instead of
	string.lowercase)

2003-07-23 16:41  pjgrizel

	* dtml/GRUF_user.zpt: file GRUF_user.zpt was initially added on
	branch v1_21_nested_groups.

2003-07-22 17:23  pjgrizel

	* GroupUserFolder.py, global_symbols.py, dtml/GRUF_contents.zpt,
	dtml/GRUF_groups.zpt, dtml/GRUF_users.zpt: Cleaned management
	screens. Nested groups/roles are now easier to read on edition
	screens.

2003-07-22 10:54  pjgrizel

	* dtml/GRUF_overview.dtml, dtml/GRUF_users.zpt, website/index.html:
	improved overview screen (speed) changed web page a little bit

2003-07-22 00:41  pjgrizel

	* GRUFFolder.py, GRUFUser.py, GroupUserFolder.py, __init__.py,
	dtml/GRUF_groups.zpt, dtml/GRUF_overview.dtml, dtml/GRUF_users.zpt,
	tests/testGroupUserFolder.py: - GRUF SUPPORTS NOW NESTED GROUPS ! -
	Cosmetic fixes on ZMI to match group nesting ability - Cosmetic
	changes on audit legend (uses numbers instead of stupid letters) -
	Speed improvements on ZMI screen - Far better test plan

2003-07-20 21:49  pjgrizel

	* tests/testGroupUserFolder.py: Modified test plan to include
	nested groups testing

2003-07-20 18:17  pjgrizel

	* website/index.html: Added a line in the FAQ

2003-07-20 16:21  pjgrizel

	* GroupUserFolder.py, dtml/GRUF_contents.zpt: Added a form to view
	underlying user folders

2003-07-20 15:49  pjgrizel

	* GroupUserFolder.py, __init__.py: - Improved log message if CMF is
	not there - Put 'Audit' tab before the others to prevent CPU outage
	when there are many users

2003-07-20 04:47  bmh

	* GroupDataTool.py, GroupsTool.py, dtml/explainGroupDataTool.dtml,
	dtml/explainGroupsTool.dtml: 
	- Added overview DTML files (based on the membership/data tool
	pages) - Commented out contents tab since that functionality isn't
	implemented

2003-07-19 20:40  pjgrizel

	* tests/testGroupUserFolder.py: Improved test plan. It's now
	testing (I hope) all the possible user/role cases

2003-07-19 14:10  pjgrizel

	* GroupUserFolder.py, TODO: * Fixed an import bug that prevented
	PageTemplateFile to be imported correctly   when GRUF was installed
	w/o Plone.
	
	* Updated todo-list

2003-07-15 01:45  jccooper

	* GroupsTool.py: adding search capabilties on par with
	MembershipTool to GroupsTool

2003-07-11 10:09  vladoi

	* PatchCatalogTool.py, __init__.py: moved catalogtool patch to
	branch

2003-07-11 09:28  pjgrizel

	* GRUFUser.py, skins/gruf/change_password.py: Put the
	ChangePassword back into the product

2003-07-11 09:08  pjgrizel

	* TODO: Updated todo-list

2003-07-10 17:27  pjgrizel

	* PatchCatalogTool.py, __init__.py: - Removed Plone-specific code
	that has no direct relation to GRUF - Added a try/except around a
	CMF-specific import in __init__

2003-07-10 15:33  vladoi

	* PatchCatalogTool.py: added try/except around the import of
	CMFCore.CatalogTool

2003-07-10 14:35  vladoi

	* skins/gruf/folder_localrole_form.pt: removed "the UI fix", that's
	not GRUF's problem

2003-07-10 12:20  vladoi

	* PatchCatalogTool.py, __init__.py: added patch for
	CatalogTool._listAllowedRolesAndUsers

2003-07-10 12:02  pjgrizel

	* GRUFUser.py: Removed a non-necessary import

2003-07-10 11:59  pjgrizel

	* CHANGES, version.txt, website/index.html: Preparing the 1.21
	release

2003-07-10 11:55  pjgrizel

	* GRUFUser.py, dtml/GRUF_overview.dtml, dtml/GRUF_users.zpt,
	website/index.html: - Cosmetic fixes
	
	- Fixed the collective-748136 bug regarding LDAPUF member
	properties retreiving	within Plone : the __getattr__ method was
	not working correctly

2003-07-10 10:33  vladoi

	* skins/gruf/folder_localrole_form.pt: more UI fixes

2003-07-10 10:18  vladoi

	* skins/gruf/folder_localrole_form.pt: small UI fix

2003-07-09 19:27  pjgrizel

	* GroupUserFolder.py, dtml/GRUF_audit.zpt: Added a legend feature
	on the audit tab. Now very large audit screens can be slightly
	reduced to enable easy printing

2003-07-09 18:44  pjgrizel

	* dtml/GRUF_audit.zpt: Cosmetic fixes on audit view

2003-07-09 18:34  pjgrizel

	* GroupUserFolder.py, README.txt, dtml/GRUF_audit.zpt,
	dtml/GRUF_overview.dtml, website/index.html: - Cosmetic fixes -
	Added a 'printable' feature on security audit

2003-07-09 18:14  pjgrizel

	* website/index.html: Updated web page

2003-07-09 17:48  pjgrizel

	* GRUFUser.py, GroupUserFolder.py, Makefile, doc/GRUFLogo.png,
	doc/folder_contents.png, doc/index.html, doc/menu.png,
	doc/py2htmldoc.py, doc/tab_audit.png, doc/tab_groups.png,
	doc/tab_overview.png, doc/tab_users.png, dtml/GRUF_groups.zpt,
	dtml/GRUF_newusers.zpt, dtml/GRUF_users.zpt, website/GRUFLogo.png,
	website/IWLogo.jpg, website/folder_contents.png,
	website/index.html, website/menu.png, website/tab_audit.png,
	website/tab_groups.png, website/tab_overview.png,
	website/tab_users.png: - Moved the website info to website/ - Added
	apidoc support in doc/ - Added a try/except around User.__getattr__
	to try to retreive attributes anyway, even if the underlying UF
	overrides __getattr__ - Updated doc - Cleaned ZMI screens

2003-07-09 14:53  pjgrizel

	* CHANGES, CONTRIBUTORS, TODO, version.txt, doc/index.html:
	Preparing the 1.2 release. Yo !

2003-07-09 14:46  pjgrizel

	* GRUFUser.py, GroupUserFolder.py, README.txt, TODO,
	doc/GRUFLogo.png, doc/folder_contents.png, doc/index.html,
	doc/menu.png, doc/tab_audit.png, doc/tab_groups.png,
	doc/tab_overview.png, doc/tab_users.png, dtml/GRUF_audit.zpt,
	dtml/GRUF_groups.zpt, dtml/GRUF_newusers.zpt,
	dtml/GRUF_overview.dtml, dtml/GRUF_users.zpt,
	dtml/GroupUserFolder_overview.dtml, dtml/roles.png: Added pretty
	management screens
	
	Added useful (and some less useful) API methods
	
	Fixed a few minor bugs regarding group prefix management

2003-07-02 10:28  pjgrizel

	* CHANGES, TODO, version.txt: Preparing 1.1 release

2003-06-27 21:23  pjgrizel

	* GroupDataTool.py, GroupUserFolder.py, GroupsTool.py, TODO,
	Extensions/Install.py: 
	- Fixed a <1.1 import incompatibility (jcc, can you please have a
	look at this ?)
	
	- Added a workaround for a security weakness of CMF (see
	getLocalRolesForDisplay() method)
	
	- Now GRUF works with CMFQuickInstallerTool for Plone 1.0.3

2003-06-26 21:35  pjgrizel

	* cvs2cl.pl: added this perl script to generate change logs

2003-06-26 21:33  pjgrizel

	* version.txt: Updated version file

2003-06-26 21:29  pjgrizel

	* GRUFFolder.py, GRUFUser.py, GroupUserFolder.py,
	tests/testGroupUserFolder.py: 
	- Applied security (this is a VERY IMPORTANT modification)
	
	- Removed CMF<1.4 password changing hack (which wasn't working
	anyway ! :))

2003-06-26 20:42  pjgrizel

	* GRUFUser.py, GroupUserFolder.py,
	skins/gruf/folder_localrole_form.pt, tests/testGroupUserFolder.py:
	- Prevented groups from logging
	
	- Fixed problems in Plone's LocalRole form: group prefix was
	mangled in   the form's checkbox values

2003-06-26 19:28  pjgrizel

	* Extensions/Install.py: * Fixed bugs in install procedure
	
	* Cosmetic changes in install procedure

2003-06-26 18:04  pjgrizel

	* GroupsTool.py, tests/testGroupUserFolder.py: Prepared the test
	plan framework

2003-06-26 17:18  runyaga

	* Extensions/Install.py: use OFS.Folder not CMF-based Folders. 
	also have to commit subtransaction to set tmp acl_users into its
	container (and give it _p_jar attr)

2003-06-26 17:17  runyaga

	* __init__.py: icons were set wrong (expecing CMFGroups?)

2003-06-26 15:36  pjgrizel

	* CONTRIBUTORS, GroupDataTool.py, GroupsTool.py, INSTALL.txt,
	Log.py, README-Plone.stx, __init__.py, tool.gif,
	interfaces/.cvsignore, interfaces/__init__.py,
	interfaces/portal_groupdata.py, interfaces/portal_groups.py:
	Included groups-tool-branch ! Wow ! :-)

2003-06-26 15:31  pjgrizel

	* CONTRIBUTORS, GroupsTool.py, INSTALL.txt, Log.py,
	README-Plone.stx, __init__.py: - Updated text files
	
	- Made jcc & br modifications less dependent on Plone. GRUF is also
	meant to work without Plone.

2003-06-26 12:59  pjgrizel

	* GroupUserFolder.py, TODO, tests/testGroupUserFolder.py: - Updated
	API
	
	- Updated test plan
	
	- Updated TODO-list

2003-06-26 02:35  jccooper

	* GroupDataTool.py, GroupsTool.py, interfaces/portal_groupdata.py,
	interfaces/portal_groups.py: Further work on adding the
	portal_groups tool for CMF/Plone integration.
	
	Should do everything except for
	
	 - search
	 - deal with group workspaces

2003-06-19 15:53  pjgrizel

	* GroupUserFolder.py, tests/Log.py, tests/README,
	tests/framework.py, tests/runalltests.py, tests/runtests.sh,
	tests/testGroupUserFolder.py: * Fixed a bug in _doAddGroup
	
	* Added a test plan

2003-06-19 13:07  pjgrizel

	* GroupUserFolder.py: Added group management API

2003-06-18 18:54  pjgrizel

	* GRUFUser.py, GroupUserFolder.py: Fixed minor bugs in
	changePassword method

2003-06-18 15:45  pjgrizel

	* GRUFUser.py: * Fixed bug in __getattr__ that prevented
	acquisition to work

2003-06-18 14:52  pjgrizel

	* GRUFUser.py: * Added a hack to make CMF's password changing
	method work
	
	* Added a way to access the uderlying user object's methods from a
	GRUF User

2003-06-14 19:34  bmh

	* README-Plone.stx: Added information about Group tools

2003-06-13 16:25  pjgrizel

	* __init__.py: Removed hairy (commented) code

2003-06-13 16:16  bmh

	* interfaces/portal_groups.py: file portal_groups.py was initially
	added on branch groups-tool-branch.

2003-06-13 16:16  bmh

	* interfaces/portal_groupdata.py: file portal_groupdata.py was
	initially added on branch groups-tool-branch.

2003-06-13 16:16  bmh

	* interfaces/__init__.py: file __init__.py was initially added on
	branch groups-tool-branch.

2003-06-13 16:16  bmh

	* interfaces/.cvsignore: file .cvsignore was initially added on
	branch groups-tool-branch.

2003-06-13 16:16  bmh

	* GroupsTool.py: file GroupsTool.py was initially added on branch
	groups-tool-branch.

2003-06-13 16:16  bmh

	* tool.gif: file tool.gif was initially added on branch
	groups-tool-branch.

2003-06-13 16:16  bmh

	* GroupDataTool.py, GroupsTool.py, __init__.py, tool.gif,
	interfaces/.cvsignore, interfaces/__init__.py,
	interfaces/portal_groupdata.py, interfaces/portal_groups.py: 
	- Added portal_groups and portal_groupdata tool interfaces - Added
	GroupsTool implementing portal_groups interface - Added
	GroupDataTool implementing portal_groupdata interface

2003-06-13 16:16  bmh

	* GroupDataTool.py: file GroupDataTool.py was initially added on
	branch groups-tool-branch.

2003-06-12 11:06  pjgrizel

	* README-Plone.stx, README.txt, TODO: Updated documentation

2003-06-10 17:25  pjgrizel

	* GRUFFolder.py: Fixed a typo in GRUFFolder that leaded to a
	condition inversion

2003-06-10 17:09  pjgrizel

	* GRUFFolder.py, GroupUserFolder.py: Fixed methods signature
	inconsistancy

2003-06-05 19:02  pjgrizel

	* GroupUserFolder.py, dtml/GRUF_audit.zpt: * Added handling of
	default 'R' and 'W' permissions in Plone * Improved User Interface
	* (dramatically) improved speed * Added ability to view folder
	state when used with Plone objects

2003-06-05 15:47  pjgrizel

	* GroupUserFolder.py, dtml/GRUF_audit.zpt: Added an "Audit" tab to
	ZMI for GRUF to allow site administrators having an instant view of
	a small set of permissions for roles, groups and users.

2003-05-19 14:12  pjgrizel

	* skins/gruf/folder_localrole_form.pt: Bug fix : Forgot tabindex
	mechanism.

2003-05-16 06:30  zworkb

	* GRUFUser.py: added 'getUserRoles' to GRUFUser that returns the
	user roles without group roles

2003-05-14 16:29  pjgrizel

	* Makefile: Fixed typo in Makefile (reference to the former
	ingeniweb sourceforge project)

2003-05-14 16:25  pjgrizel

	* CHANGES, version.txt: Updated admin files in order to release
	1.0RC1

2003-05-14 13:55  pjgrizel

	* DynaList.py, GRUFFolder.py, GRUFUser.py, GroupUserFolder.py,
	TODO: * Added getUnwrappedUser() and getUnwrappedGroup() method to
	get real User objects from the underlying UserFolders. This allows
	using specific method created by some UserFolders (for example
	getProperty() from LDAPUserFolder's User objects) * Updated our
	todo-list * Code cleaning

2003-05-12 17:52  pjgrizel

	* README-Plone.stx: Updated Plone README instructions (there may be
	typos) to explain more clearly the Memberdata and Membership tools
	issue - and the workaround.

2003-05-09 09:31  pjgrizel

	* README.txt: Added a clarification line in README file

2003-05-08 08:35  runyaga

	* GRUFFolder.py, GRUFUser.py, GroupUserFolder.py, __init__.py,
	skins/gruf/getUsersInGroup.py: lots of code indententation cleanup
	and making lines be no longer than 80 characters
	
	put a doc string on getGroupPrefix
	
	add a getUsersInGroup(id) FSPythonScript
	
	made quite a few commment that I hope PJ can look at.. I would like
	to clean this codebase up before relying on it

2003-05-07 16:31  pjgrizel

	* GRUFUser.py: Fixed a bug in getId() that prevented group ids to
	be reported correctly.	This bug made getRolesInContext() on groups
	returning non-acquired local role information.

2003-05-05 06:08  kteague

	* skins/gruf/folder_localrole_form.pt: last checkin had 442 extra
	lines of cut-n-pasted TAL.

2003-05-05 03:31  kteague

	* skins/gruf/folder_localrole_form.pt: Added i18n and merged in the
	i18n from the Plone folder_localrole_form.pt.

2003-05-05 02:05  runyaga

	* skins/gruf/folder_localrole_form.pt.properties: added title

2003-05-05 00:29  jimroepcke

	* Extensions/Install.py: tiny textual improvement, allow migrate
	call directly instead of just from install method

2003-05-05 00:21  kteague

	* INSTALL.txt: Fixed typo.

2003-05-05 00:14  kteague

	* __init__.py, Extensions/Install.py: Initial import of migration
	functions for Plone. These functions have only been tested with the
	standard UserFolder, but should theoretically work with other user
	folders.

2003-05-04 07:59  kteague

	* skins/gruf/defaultGroup.gif: Less halo, more crispness.

2003-05-04 04:23  jimroepcke

	* GRUFUser.py, GroupUserFolder.py,
	skins/gruf/folder_localrole_form.pt: fixes to group ui

2003-05-04 02:39  jimroepcke

	* GroupUserFolder.py: last checkin was corrupted, fixing

2003-05-04 02:34  jimroepcke

	* skins/gruf/folder_localrole_form.pt: last checkin was corrupted,
	fixing

2003-05-04 01:51  jimroepcke

	* GroupUserFolder.py, skins/gruf/defaultGroup.gif,
	skins/gruf/folder_localrole_form.pt: finished group local role
	connection and display

2003-04-16 15:30  syt

	* debian/: changelog, config, control, copyright, postinst, prerm,
	rules, templates, watch: add debian files

2003-04-13 17:24  panjunyong

	* GroupUserFolder.py: fixed a type error

2003-04-08 02:58  zworkb

	* GRUFUser.py: added method 'getGroupUsers' that lists the user
	objects belonging to the group

2003-04-07 15:08  panjunyong

	* skins/gruf/folder_localrole_form.pt: fix another local role name
	I18N bug

2003-04-07 14:56  panjunyong

	* skins/gruf/folder_localrole_form.pt: fix localrole name bug in
	I18N environment.

2003-03-31 16:16  pjgrizel

	* CHANGES, Makefile, product.txt, version.txt: Updated
	"administrative" files

2003-03-31 16:13  pjgrizel

	* GRUFUser.py, GroupUserFolder.py: Removed bug introduced in
	GroupUserFolder.py 1.4 that made authenticate() method returning a
	non-wrapped user object. Thus, when logging in, roles and groups
	were set as if we were in GRUF.Users.acl_users object (with groups
	appearing as roles).

2003-03-04 11:10  pjgrizel

	* GroupUserFolder.py, README.txt: Added comment about GRUF with
	SimpleUserFolder and corrected a little docstring error.

2003-02-25 17:11  pjgrizel

	* GroupUserFolder.py: Added a filter in getUsers() (and such)
	functions to prevent None objects to be returned back.

2003-02-25 16:57  pjgrizel

	* GroupUserFolder.py: Protected the 'authenticate()' wraper to
	prevent infinite recursions when there's no acl_users in Users.

2003-02-25 16:31  pjgrizel

	* GroupUserFolder.py, INSTALL.txt: Fixed a lack in
	GroupUserFolder.py that prevented a user folder - overloaded
	'authenticate()' method to be called instead of
	BasicUser.authenticate().  Now, GRUF passes along authenticate()
	calls to the underlying Users.acl_users object.

2003-02-25 11:58  pjgrizel

	* GroupUserFolder.py, dtml/GroupUserFolder_overview.dtml: Added
	"getPureUsers" and "getPureUserNames" methods to return a list of
	pure User objects (ie. without groups).
	
	Modified Overview tab to list only pure users.

2003-02-24 10:24  pjgrizel

	* GRUFUser.py: Fixed a bug that caused getUserName() returned
	'group_group_xxx' when called under certain conditions.

2003-02-21 11:37  magnusheino

	* __init__.py, Extensions/Install.py, Extensions/__init__.py: added
	Install.py to install skin (should it convert userfolder too?)

2003-02-21 03:53  runyaga

	* skins/gruf/folder_localrole_form.pt: add plone
	folder_localrole_form.pt

2003-02-21 01:50  runyaga

	* GroupUserFolder.py: by default add default acl_users folders to
	acl_users.Groups and .Users... so that Group User Folder works *out
	of hte box*

2003-02-20 02:29  runyaga

	* CHANGES, CONTRIBUTORS, DynaList.py, GRUFFolder.py, GRUFUser.py,
	GroupUserFolder.py, Log.py, Makefile, PRODUCT_NAME,
	README-Plone.stx, README.txt, TODO, __init__.py, global_symbols.py,
	refresh.txt, version.txt, dtml/GRUFFolder_main.dtml,
	dtml/GroupUserFolder_overview.dtml, www/GRUFGroups.gif,
	www/GRUFUsers.gif, www/GroupUserFolder.gif: initial import of
	ingeniwebs GroupUserFolder

2003-02-20 02:29  runyaga

	* CHANGES, CONTRIBUTORS, DynaList.py, GRUFFolder.py, GRUFUser.py,
	GroupUserFolder.py, Log.py, Makefile, PRODUCT_NAME,
	README-Plone.stx, README.txt, TODO, __init__.py, global_symbols.py,
	refresh.txt, version.txt, dtml/GRUFFolder_main.dtml,
	dtml/GroupUserFolder_overview.dtml, www/GRUFGroups.gif,
	www/GRUFUsers.gif, www/GroupUserFolder.gif: Initial revision

