Skip to Content.
Sympa Menu

grouper-users - Re: [grouper-users] Creating composite groups with Grouper Web Services

Subject: Grouper Users - Open Discussion List

List archive

Re: [grouper-users] Creating composite groups with Grouper Web Services


Chronological Thread 
  • From: Julio Polo <>
  • To: "Edenfield, Dusty" <>
  • Cc: "" <>
  • Subject: Re: [grouper-users] Creating composite groups with Grouper Web Services
  • Date: Thu, 13 Apr 2017 10:11:38 -1000
  • Ironport-phdr: 9a23:v3wlJRKxvXHoiuVwgdmcpTZWNBhigK39O0sv0rFitYgeI/rxwZ3uMQTl6Ol3ixeRBMOAuqwC0rqd6vy9EUU7or+5+EgYd5JNUxJXwe43pCcHRPC/NEvgMfTxZDY7FskRHHVs/nW8LFQHUJ2mPw6arXK99yMdFQviPgRpOOv1BpTSj8Oq3Oyu5pHfeQtFiT68bL9oMRm7rgrdutQZjIZiN6081gbHrnxUdupM2GhmP0iTnxHy5sex+J5s7SFdsO8/+sBDTKv3Yb02QaRXAzo6PW814tbrtQTYQguU+nQcSGQWnQFWDAXD8Rr3Q43+sir+tup6xSmaIcj7Rq06VDi+86tmTgLjhTwZPDAl7m7Yls1wjLpaoB2/oRx/35XUa5yROPZnY6/RYc8WSW9HU81MVSJOH5m8YpMNAOoPPehWoYrzqUYQoxSiHgSjHv/jxyVSi3PqwaE30eIsGhzG0gw6GNIOtWzZotHoNKcWUOC1y7TDwy/Eb/NS3jf29Y/FchI8ofGIXLJwdtHcyUk1GALLlFqQqI3lMymL2esQrmiW9uxtXv+hhW4grgF+uDmvxsE0h4jHiI8Z0FfE9T92wIotJN24TlJ7bsC+EJtWqS6aK5V6Ttk8TG51pSY20rIGuZ+nfCgK1ZQo3ATTZOCAc4iN5B/oSeWfIS9giX57eb+zmxS//E2uyuD/Tca4zFNHoyVZntXQq3wA0gDc5tSGR/Z4+0qtxyiD2BrV5+pZO047j7DbJIQkwrMolpocr0DDHijulUXzlqCWd0Ek9vGp6+Tgfrnqv5CdO5Fqhg7kKKgulcu/AeM3MggKQWeX4/iz1Lrm/UHhQbVKiOM5krXBvZzEJMkXuqy0Dgpb0osg8BmzEzKr3dsEkXUbMV5IfQ6Ig5ToNlzLJf30E+mzjE60nDdu3f/GP7nhApvXLnjElbfsZbR961NYyAoyytBS/JJUBasPIf3pW0/xtcbUAQEkPAyp2+rnEsly1psCWWKTBa+UKKzSsUWP5uIyO+mDepUVtC/gK/g++fHul2Q5lEQZfamoxpsXdGu4Eup8L0WYZ3rsnskOEX0MvgUgUOzmlkeOXiBOaHavDOoA4WRxJY6rC4nCS4ShxPStwTynD9ceMmxbEUydV3rkeoOKWvoIZAqVI9MnnTUYWLOhDYItyEf9mhX9zu9FM+7V/WUgspbknIx3+unSkjky/CN9DsXb3m2QGTIn1lgUTiM7ifgs6Xd2zU2OhO0h26RV

I can't verify whether the lite API supports composites (http://anonsvn.internet2.edu not responding), but the non-lite definitely does.  Here's an example using REST/XML (change the Grouper version in the URI to match yours):

POST /grouper-ws/servicesRest/xml/v2_2_002/groups

<WsRestGroupSaveRequest>
 <wsGroupToSaves>
  <WsGroupToSave>
   <wsGroupLookup>
    <groupName>path:to:your:composite</groupName>
   </wsGroupLookup>
   <wsGroup>
    <name>path:to:your:composite</name>
    <detail>
     <hasComposite>T</hasComposite>
      <leftGroup>
            <name>path:to:your:group-A</name>
      </leftGroup>
     <compositeType>complement</compositeType>
      <rightGroup>
            <name>path:to:your:group-B</name>
      </rightGroup>
    </detail>
   </wsGroup>
  </WsGroupToSave>
 </wsGroupToSaves>
</WsRestGroupSaveRequest>

-julio

On Thu, Apr 13, 2017 at 9:45 AM, Edenfield, Dusty <> wrote:

We are trying to make composite groups happen using Grouper Web Services Lite.  I’ve found the GroupSaveLiteRequest class but I’m not sure how to make this work with Rest.  We want to make a composite group (group A – group B = group C) using the API.  Has anyone done this and would be kind enough to share a sample?

 

 

This is the part of the wiki that makes me think this is possible….

How can I make a group which has a manual membership list and requires users to be faculty student or staff? 
First off, you need permission to view the facultyStudentStaff group, if it is not public. Note, the composite arguments shouldnt be necessary, but until it is fixed, use them and it will work. This makes a group, a system of record group (where the manual entries go), and the overall group is a composite intersection of the manual group and the facultyStudentStaff group.What does that look like in a soap request?  (note, fields which arent used need to be there, due to axis bug.  Note you need to enable "requireGroups" in your grouper.properties

  <?xml version='1.0' encoding='UTF-8'?>

  <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">

    <soapenv:Body>

      <ns1:groupSave xmlns:ns1="http://soap.ws.grouper.middleware.internet2.edu/xsd">

        <ns1:clientVersion>v1_4_002</ns1:clientVersion>

        <ns1:wsGroupToSaves>

          <ns1:wsGroup>

            <ns1:description>

              test group with requiring active facultyStudentStaff

            </ns1:description>

            <ns1:detail>

              <ns1:attributeNames>requireAlsoInGroups</ns1:attributeNames>

              <ns1:attributeValues>penn:community:facultyStudentStaff</ns1:attributeValues>

              <ns1:compositeType>intersection</ns1:compositeType>

              <ns1:hasComposite>T</ns1:hasComposite>

              <ns1:leftGroup>

                <ns1:description></ns1:description>

                <ns1:displayExtension></ns1:displayExtension>

                <ns1:displayName></ns1:displayName>

                <ns1:extension></ns1:extension>

                <ns1:name>penn:community:facultyStudentStaff</ns1:name>

                <ns1:uuid></ns1:uuid>

              </ns1:leftGroup>

              <ns1:rightGroup>

                <ns1:description></ns1:description>

                <ns1:displayExtension></ns1:displayExtension>

                <ns1:displayName></ns1:displayName>

                <ns1:extension></ns1:extension>

                <ns1:name>test:isc:astt:chris:myGroup_systemOfRecord</ns1:name>

                <ns1:uuid></ns1:uuid>

              </ns1:rightGroup>

              <ns1:typeNames>requireInGroups</ns1:typeNames>

            </ns1:detail>

            <ns1:displayExtension>My test group</ns1:displayExtension>

            <ns1:extension>myGroup</ns1:extension>

            <ns1:name>test:isc:astt:chris:myGroup</ns1:name>

          </ns1:wsGroup>

          <ns1:wsGroupLookup>

            <ns1:groupName>test:isc:astt:chris:myGroup</ns1:groupName>

          </ns1:wsGroupLookup>

        </ns1:wsGroupToSaves>

        <ns1:actAsSubjectLookup>

          <ns1:subjectId></ns1:subjectId>

        </ns1:actAsSubjectLookup>

        <ns1:txType></ns1:txType>

        <ns1:includeGroupDetail>T</ns1:includeGroupDetail>

      </ns1:groupSave>

    </soapenv:Body>

  </soapenv:Envelope>

 





Archive powered by MHonArc 2.6.19.

Top of Page