...
Code Block |
---|
gsh 0% grouperSession = GrouperSession.startRootSession(); edu.internet2.middleware.grouper.GrouperSession: 552eb161e98f47c4b98876528e36a409,'GrouperSystem','application' //create a new external subject gsh 1% externalSubject = new ExternalSubject(); edu.internet2.middleware.grouper.externalSubjects.ExternalSubject: gsh 2% externalSubject.setIdentifier("abcd@school.edu"); gsh 3% externalSubject.setInstitution("My Institution"); gsh 4% externalSubject.setName("My Name"); gsh 5% externalSubject.setEmail("a@b.c"); gsh 6% externalSubject.store(); //assign an attribute gsh 7% externalSubject.assignAttribute("jabber", "e@r.t"); true //find the object to edit it gsh 8% externalSubject = GrouperDAOFactory.getFactory().getExternalSubject().findByIdentifier("abcd@school.edu", true, null); edu.internet2.middleware.grouper.externalSubjects.ExternalSubject: uuid: 759cf0f0b6874cef886a4f3138244125, identifier: abcd@school.edu, name: My Name, description: My Name - My Institution, //search by subject in grouper by the subject api gsh 9% subject = SubjectFinder.findByIdentifier("abcd@school.edu", true); subject: id='759cf0f0b6874cef886a4f3138244125' type='person' source='grouperExternal' name='My Name' gsh 10% subject.getName(); My Name //edit the external subject gsh 11% externalSubject.setName("My Name2"); gsh 12% externalSubject.store(); //find by any substring of the subject gsh 14% subject = SubjectFinder.findAll("naMe2 mY INSTITUTION").iterator().next(); subject: id='759cf0f0b6874cef886a4f3138244125' type='person' source='grouperExternal' name='My Name2' //note that all attributes are exposed by the subject api gsh 15% subject.getAttributeValue("jabber"); e@r.t //delete the external subject gsh 16% externalSubject.delete(); //note its not there gsh 17% subject = SubjectFinder.findByIdentifier("abcd@school.edu", false); //recalculate descriptions (e.g. if the format has changed) gsh 18% ExternalSubject.internal_daemonCalcFields(); 24 gsh 19% |
Self service screen
...
The fields below can be customized per institution, as well as the text, look and feel, etc. Some applications might require a lot of user data, and others do not need as much data about the user. It would be nice to have a lot of data, e.g. so the application can use the data (e.g. email address), and so we can have descriptive person pickers, though it is a little risky since the data is user entered and unvetted.
...