Skip to Content.
Sympa Menu

grouper-dev - web services update

Subject: Grouper Developers Forum

List archive

web services update

Chronological Thread 
  • From: Chris Hyzer <>
  • To: Grouper Dev <>
  • Subject: web services update
  • Date: Wed, 19 Mar 2008 04:24:43 -0400
  • Accept-language: en-US
  • Acceptlanguage: en-US



I still haven’t committed my latest changes… don’t worry, those of you who have started using it will soon enough be able to refactor your code. J

Below is the current state of my local code.





This is what I have done so far:


1.       Add in source id wherever subject id is

(example rest url would be:

another option to make things a bit easier on me  (and you?) would be to pack these in, so it could be something like: 

2.       Implemented the XHTML / XML / JSON parser/generator for Lite/REST (note the input can be different than output):

3.       Implemented the get members Lite/REST web service.  The others should not be high effort now that one is done

4.       Added versioning.  The client must pass in the version of the web service that they developed against.  This ensures we can be more backwards compatible.  This is referred to as “client version”.  The server will respond with its current version.  If the version is not supported the request will fail.  All old versions should be supported, but if you have a client newer than the server (not sure why this would happen), it will fail.

5.       Re-organized packages to avoid monolithic packages, renamed some classes

6.       Add intelligent actAsSubject.  Now each user who can act as subject can be assigned a group of users who they can act as.  Or you can do the all-powerful too

7.       Some inputs are returned to you, e.g. if you are looking for memberships of a group, the group object is returned

8.       Summary of request is returned (one string of all inputs)

9.       Warnings are returned (e.g. if XHTML has some suspicious elements/attributes)

10.   Refactor common object types.  E.g. there is a GroupLookup, a Group, and a GroupDetail.  Anything that returns a Group can also return the detail portion if it is requested.  This also allows the same outputs as inputs.  E.g. view a group gets the group object, and saveGroup takes the group object

11.   Simple methods (and rest/lite) return the nonsimple result type with one element in array.  This is because the nonsimple has fields in it that I didn’t want to put in the simple.  Anyways, it isn’t that big of a deal.

12.   Encapsulated the response met info into a common WsResultMeta object

13.   Added transactions to all web services that are writable and take multiple arguments

14.   Removed createStemsIfNotExist

15.   For member/membership services, added “field” (list) param

16.   Find groups / stems can now use the query API in grouper where you can query by type, attribute, AND / OR / MINUS etc

17.   Added composite info to GroupResult

18.   Made the subject result compatible with the up and coming subject API where the attributes are configured on server of what to return, but can be requested for extended attributes (configured on server), or client can request certain attributes

19.   Privileges changed systemAllowed to viewAllowed

20.   Standardize the error handling

21.   Maybe other things Im not recalling…


Still left to do:

1.       Update the saveGroup / privileges

2.       Get rid of attribute method since that can be accessed in the new saveGroup via groupDetail

3.       Add in find subject service

4.       Add in change subjectid service

5.       Add in Rampart

6.       Unit test

7.       Add findGroups/stems in Rest/Lite

8.       Implement all other Lite services

9.       Filter getMember by privileges

10.   Stop working on web services and do UI work



  • web services update, Chris Hyzer, 03/19/2008

Archive powered by MHonArc 2.6.16.

Top of Page