Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Children Display

Debugging

Run the Subject API diagnostics from GSH.  Also use the Subject API diagnostics in "misc" in the UI (if Grouper starts... if there is a subject API problem it is severe for Grouper).

Code Block
GrouperSession.startRootSession();
new edu.internet2.middleware.grouper.grouperUi.serviceLogic.SubjectSourceDiagnostics().assignSourceId("SMUPerson_DEV").assignSubjectId("empl1").assignSubjectIdentifier("netid@school.edu").assignSearchString("em").subjectSourceDiagnosticsFromGsh()
===> 
SUCCESS: Found subject by id in 37ms: 'empl1'
         with SubjectFinder.findByIdAndSource("empl1", "SMUPerson_DEV", false)
SUCCESS: Subject id in returned subject matches the subject id searched for: 'empl1'
WARNING: No subject found by identifier in 14ms: 'netid@school.edu'
         with SubjectFinder.findByIdentifierAndSource("netid@school.edu", "SMUPerson_DEV", false)


Note, to debug your SubjectAPI configuration, set this in the log4j.properties.  Also use the Subject API diagnostics in "misc" in the UI.  

Code Block
log4j.logger.edu.internet2.middleware.subject.provider = DEBUG
log4j.logger.edu.vt.middleware.ldap = DEBUG

...

If you are using a JDBC source, you can use the p6spy sql driver, set the spy.properties to specify the underlying driver and the log file name (in 2.5 we need to revisit this)

Number of sources

Decide how many sources you need.  It should be the minimal number that you can do.  For people, it should be one.  If you dont have one single source, consider working on that initiative.  Having multiple subjects in Grouper that represent the same person will lead to problems (e.g. seeing what someone has access to).  You might end up with a source for people and a source for service principals.


Choosing Identifiers for Subjects

...