Results and Deliverables 

Current Tasks

I. Draft API specifications for the most commonly used group management functions using Swagger 2.0

  • Our initial assumption was that the three most basic group management calls were: 
    • Is this person a member of this group?

    • List the members of a group

    • List all the groups for which a given person is a member

 

 

 

U Dub’s eight most heavily used Group ops

Chris Hyzer’s top three group operations

1) isMember (or hasMember)

1) isMember (or hasMember)

2) getMembers (of a group)

2) getMembers (of a group)

7) get/search Groups (of a member)

3) getGroups (of a member)

3) getGroup

 
4) putGroup 

5) getAllMembers (of a group)

 
6) putAllMembers (of a group) 

8) put/delete member to/from Group

 

II. Draft the data schema for the group entity itself

III. Define APIs needed to support a RESTful subject source for use by Grouper

Prior Work on Group Management APIs

  • VOOT2 protocol from SURFnet
    • Maarten Kremers confirmed that VOOT2 is only about GETs.

    • VOOT2 protocol expressed as valid swagger2.  See VOOT2 swagger yaml used for input into editor.swagger.io (to obtain resulting swagger API documentation

  • SCIM: See both the Protocol Specification RFC7644  and Core Schema Specification RFC7643. Marlena Erdos comment: Quite rich group operations for read (and search) and write, quite fully documented -- and quite low level. Applies to a client contacting a server (natch, but this in contrast to Grouper)


  • FYI, Group Mgt used in some research communities:
    • VOMS - Virtual Organization Management Service.  Used by the international Grid and Open Science Grid communities.  Uses X.509 attribute certificates.

Resources 

 

  • No labels