Skip to Content.
Sympa Menu

grouper-users - composite value for the description attribute of person subjects?

Subject: Grouper Users - Open Discussion List

List archive

composite value for the description attribute of person subjects?


Chronological Thread 
  • From: Dominique Petitpierre <>
  • To:
  • Subject: composite value for the description attribute of person subjects?
  • Date: Tue, 16 Feb 2010 16:30:10 +0100
  • Organization: University of Geneva

Hello,

On the Grouper Wiki I noticed that some sites display a composite
value for each person subject members of a group, e.g.

Michael Christopher Hyzer (chyzer, 12345678) Pennpay, Staff

This is very informative and helps group managers to avoid confusion
between homonyms.

It is possible to construct a "description" attribute from many source
fields with a SQL query when the JDBC source adapter is used, but I
did not find a simple way to configure Grouper to do this when using
the JNDI source adapter, and adding a new attribute on the LDAP side
is not a practical option.

This was discussed on grouper-users some time ago in the following
thread (item 3.):
https://mail.internet2.edu/wws/arc/grouper-users/2008-07/msg00032.html

Chris Hyzer <
>
mentionned
(cf.
https://mail.internet2.edu/wws/arc/grouper-users/2008-07/msg00035.html):

| Or we could make a change request to allow multiple fields in this
| config or the media.properties one...

and "GW Brown, Information Systems and Computing" <
>
added
(cf https://mail.internet2.edu/wws/arc/grouper-users/2008-07/msg00039.html):

| Rather than add UI configuration through media.properties, having
| 'virtual attributes' in the Subject API may be preferable so that
| any Subject API client can use the same mechanism to combine
| attributes.

It would be a useful feature for sites that use the JNDI source
adapter for the Subject API.

- Has this been done? I.e. is there a way to specify a composite value
for the description attribute when using the JNDI source adapter?


Not finding a way to configure it I followed the advice to modify the
JSP code for the Admin UI (and the java code for the new Lite UI), to
display the "name" and "subjectId" Grouper attributes in addition to
the "description" attribute:

diff grouper-ui-1.5.1/webapp/WEB-INF/jsp/subjectView.jsp{.01,}
12c12
< /></c:if><c:if test="${empty inLink}"><span class="<c:out
value="${viewObject.subjectType}"/>Subject"></c:if><c:out
value="${viewObject[mediaMap[attrKey]]}" /><c:if test="${empty
inLink}"></span></c:if>
---
> /></c:if><c:if test="${empty inLink}"><span class="<c:out
> value="${viewObject.subjectType}"/>Subject"></c:if><c:if
> test="${viewObject.subjectType=='person'}"><c:out
> value="${viewObject['description']} (${viewObject['name']},
> ${viewObject['subjectId']})" /></c:if><c:if
> test="${viewObject.subjectType!='person'}"><c:out
> value="${viewObject[mediaMap[attrKey]]}" /></c:if><c:if test="${empty
> inLink}"></span></c:if>

This displays the person subjects in the Admin UI as
description (name, subjectId)
e.g.
Michael Christopher Hyzer (chyzer, 12345678)

diff
grouper-ui-1.5.1/java/src/edu/internet2/middleware/grouper/ui/util/GrouperUiUtils.java{.01,}
1006c1006,1011
< label = subject.getDescription();
---
> if ("person".equals(subject.getType().getName())) {
> label = subject.getDescription() + " (" + subject.getName() + ")";
> } else {
> label = subject.getDescription();
> }
>

and this displays the person subjects in the Lite UI as
description (name)
e.g.
Michael Christopher Hyzer (chyzer)

- Is this workaround reasonable? (i.e. will it work in all cases and
not break anything)?

- Should "webapp/WEB-INF/jsp/subjectSearchResultView.jsp" also be
modified? (It does not seem to be used anywhere.)


Currently this workaround is limited to use only the three Grouper
attributes defined in the subject API source.xml configuration file
(SubjectID_AttributeType, Name_AttributeType,
Description_AttributeType).

- Is there a way to use the other attributes declared in source.xml
(e.g <attribute>employeeType</attribute>) in this JSP or java code?

In any case, modifying source code instead of configuring in
properties or xml files might not be very stable across releases and I
hope that the feature discussed above will be available!

Best regards,
Dominique
--
Mr Dominique Petitpierre, Dominique.Petitpierre(at)unige.ch
Division Informatique, University of Geneva, Switzerland



Archive powered by MHonArc 2.6.16.

Top of Page