- Allow users to move or copy a group or set of groups from one stem to another.
- Allow users to move or copy an entire stem from one stem to another.
- For moves, optionally allow users to create an alias -- https://wiki.internet2.edu/confluence/display/GrouperWG/Grouper+aliases
- Expose functionality in Grouper WS.
- Expose functionality in GSH.
- Expose functionality in Grouper UI.
- Expose functionality in Grouper Client.
- For a move, the group and stem UUIDs should remain the same. However, the name and display name attributes will need to be updated. The parent stem will also need to be updated for the group or stem being moved.
- For a move, validate that the user has admin privileges to all groups and stem privileges to all stems.
- For a copy, validate that the user has read privileges to all groups.
- If a group that's moving is a factor of a composite, it should continue to be a factor after the move. However, if you're copying a group that's a factor of a composite, the new group will not be a factor.
- For a move, all access privileges, naming privileges, attributes, and custom lists should be moved. Also, after a group move, populate the name_history attribute of the group with the old group name.
- For a copy, allow users to choose which memberships, privileges, and custom attributes to copy. If the group being copied has aliases, those aliases should not be copied. Also, the name_history attribute should not be copied.
- LDAP-PC should apply these namespace changes to LDAP in an efficient manner. I'm not sure how LDAP-PC would currently react to these changes, so that's something that may need to be looked at.