You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Description

Group save will insert or update a group's uuid, extension, display name, or description (with restrictions).  Note: the group displayName and extension are not used in a groupSave.  That information is used from the group name, and displayExtension.

Features

  • Can pass SaveMode which is INSERT, UPDATE, or INSERT_OR_UPDATE (default)
  • If the stem doesnt exist, the call will fail
  • Lookup group to edit by group lookup (by name or uuid)
  • Returns group, can be detailed or not
  • Can actAs another user

Group save Lite service

  • Accepts one group to save
  • Documentation: SOAP (click on groupSaveLite), REST (click on groupSaveLite)
  • For REST, the request can put data in query string (in URL or request body)
  • REST request (colon is escaped to %3A): PUT /grouper-ws/servicesRest/v1_3_000/groups/aStem%3AaGroup
  • (see documentation above for details): Request object, response object
  • Response codes
  • Samples (all files with "Lite" in them, click on "download" to see file)

Group save service

  • Accepts multiple groups to save
  • This will persist (insert/update/delete) types, attributes, composites from detail
  • Documentation: SOAP (click on groupSave), REST (click on groupSave)
  • REST request (colon is escaped to %3A): PUT /grouper-ws/servicesRest/v1_3_000/groups
  • (see documentation above for details): Request object, response object
  • Response codes overall, response codes for each assignment
  • Returns an overall status, and a status for each assignment
  • Samples (all files without "Lite" in them, click on "download" to see files)

FAQ

  • 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>
    
  • No labels