Uploaded image for project: 'Jackrabbit Oak'
  1. Jackrabbit Oak
  2. OAK-4003

Add support for Group-Membership actions

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.2.19, 1.6.0
    • core
    • None
    • Patch

    Description

      djaeggi, as discussed today it would be cool to provide an extension for the user/group actions that allowed to hook in additional processing/verification upon update of group membership.

      initial thoughts to be discussed and verified for feasibilty:

      • create GroupAction interface extending AuthorizableAction (to not blow up the original interface with operations that only affect groups)
      • add 2 methods for addMember(s) and removeMember(s) each to cover both the add/removal by Authorizable and by multiple memberIds

      The actions should be called after having successfully processed the modification and (in case on manipulation by ID) should only report those members that have been added/removed (see API contract of membership-update by ids).

      Methods could e.g. look something like

          void onMemberAdded(Group group, Authorizable member, Root root, NamePathMapper namePathMapper) throws RepositoryException;
          
          void onMembersAdded(Group group, Iterable<String> memberIds, Iterable<String> failedIds, Root root, NamePathMapper namePathMapper) throws RepositoryException;
      
         void onMemberRemoved(Group group, Authorizable member, Root root, NamePathMapper namePathMapper) throws RepositoryException;
          
          void onMembersRemoved(Group group, Iterable<String> memberIds, Iterable<String> failedIds, Root root, NamePathMapper namePathMapper) throws RepositoryException;
      

      Attachments

        Issue Links

          Activity

            People

              dominique.jaeggi Dominique Jäggi
              angela Angela Schreiber
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: