Skip to Content.
Sympa Menu

grouper-users - Re: [grouper-users] How to fiiter the group members list in UI

Subject: Grouper Users - Open Discussion List

List archive

Re: [grouper-users] How to fiiter the group members list in UI


Chronological Thread 
  • From: Shilen Patel <>
  • To: GAIL JOY DUNMIRE <>, "" <>
  • Cc: "Christopher J. Hubing" <>
  • Subject: Re: [grouper-users] How to fiiter the group members list in UI
  • Date: Wed, 20 Apr 2016 19:24:37 +0000
  • Accept-language: en-US
  • Authentication-results: psu.edu; dkim=none (message not signed) header.d=none;psu.edu; dmarc=none action=none header.from=duke.edu;
  • Spamdiagnosticmetadata: NSPM
  • Spamdiagnosticoutput: 1:23

>> 1. Not using the searchAttribute1 field when in the UI group member list.

Is it populated in the members table?  Though note that the purpose of having multiple fields is to potentially limit who can query what attributes.  The search is just going to use one.  You can have it so that some users use searchAttribute0 and others use searchAttribute1.  I'm guessing what you really want to do is use a virtual attribute to combine both name and userid into searchAttribute0.


>> 2. Does not populate the sortAttribute1 field on the grouper members table.

<init-param>
        <param-name>sortAttribute1</param-name>
        <param-value>DESCRIPTION</param-value>
</init-param>

"DESCRIPTION" is not configured as a subject attribute.    Try:

<init-param>
        <param-name>subjectAttributeCol11</param-name>
        <param-value>DESCRIPTION</param-value>
</init-param>
<init-param>
        <param-name>subjectAttributeName11</param-name>
        <param-value>description</param-value>
</init-param>


>> 3. From the sources.xml where or what are the subjectAttributes used?

It ends up basically populating the attributes of the subject, e.g. subject.getAttributes(), which is used in many places including the sort and search fields.

>> 4. For the code below in grouper.properties is this correct when not using ldap as the subject source?

             member.search.defaultIndexOrder=0,1

I'm guessing you don't really want "1" in there?

>> 5. What is considered an external subjects? Is this when using a jdbc adaptor to an external subject source? 


Thanks!

- Shilen


From: GAIL JOY DUNMIRE <>
Date: Tuesday, April 19, 2016 at 10:59 AM
To: "" <>
Cc: "Dunmire, Gail" <>, "Christopher J. Hubing" <>
Subject: [grouper-users] How to fiiter the group members list in UI

I am not able to configure grouper to do the group member filter correctly. It is only doing the filter on the searchAttribute0 field in the grouper members table.  I have some questions below. I have provided code from the configuration files also.

Questions:
1. Not using the searchAttribute1 field when in the UI group member list.
2. Does not populate the sortAttribute1 field on the grouper members table.
3. From the sources.xml where or what are the subjectAttributes used?
4. For the code below in grouper.properties is this correct when not using ldap as the subject source?
5. What is considered an external subjects? Is this when using a jdbc adaptor to an external subject source?

Sources.xml code:

<init-param>
       <param-name>subjectIdCol</param-name>
       <param-value>SUBJECT_ID</param-value>
</init-param>
<init-param>
        <param-name>nameCol</param-name>
        <param-value>NAME</param-value>
</init-param>
<init-param>
        <param-name>descriptionCol</param-name>
        <param-value>DESCRIPTION</param-value>
</init-param>
<init-param>
<!-- search col where general searches take place, lower case -->
        <param-name>lowerSearchCol</param-name>
        <param-value>DESCRIPTION_LOWER</param-value>
</init-param>
<init-param>
<!-- optional col if you want the search results sorted in the API (note, UI might override) -->
        <param-name>defaultSortCol</param-name>
        <param-value>DESCRIPTION</param-value>
</init-param>
<init-param>
<!-- col which identifies the row, perhaps not subjectId -->
        <param-name>subjectIdentifierCol0</param-name>
        <param-value>USERID</param-value>
</init-param>
<!-- now you can count up from 0 to N of attributes for various cols -->
<init-param>
        <param-name>subjectAttributeCol0</param-name>
        <param-value>USERID</param-value>
</init-param>
<init-param>
        <param-name>subjectAttributeName0</param-name>
        <param-value>userid</param-value>
</init-param>
<init-param>
        <param-name>subjectAttributeCol1</param-name>
        <param-value>NAME</param-value>
</init-param>
<init-param>
        <param-name>subjectAttributeName1</param-name>
        <param-value>name</param-value>
</init-param>
<init-param>
        <param-name>subjectAttributeCol2</param-name>
        <param-value>LGNAME_LAST</param-value>
</init-param>
<init-param>
        <param-name>subjectAttributeName2</param-name>
        <param-value>lgname_last</param-value>
</init-param>
<init-param>
        <param-name>subjectAttributeCol3</param-name>
        <param-value>LGNAME_FIRST</param-value>
</init-param>
<init-param>
        <param-name>subjectAttributeName3</param-name>
        <param-value>lgname_first</param-value>
</init-param>
<init-param>
        <param-name>subjectAttributeCol4</param-name>
        <param-value>PFNAME_LAST</param-value>
</init-param>
<init-param>
        <param-name>subjectAttributeName4</param-name>
        <param-value>pfname_last</param-value>
</init-param>
<init-param>
        <param-name>subjectAttributeCol5</param-name>
        <param-value>PFNAME_FIRST</param-value>
</init-param>
<init-param>
        <param-name>subjectAttributeName5</param-name>
        <param-value>pfname_first</param-value>
</init-param>
<init-param>
        <param-name>subjectAttributeCol6</param-name>
        <param-value>JOB_TITLE</param-value>
</init-param>
<init-param>
        <param-name>subjectAttributeName6</param-name>
        <param-value>job_title</param-value>
</init-param>
<init-param>
        <param-name>subjectAttributeCol7</param-name>
        <param-value>DEPARTMENT</param-value>
</init-param>
<init-param>
        <param-name>subjectAttributeName7</param-name>
        <param-value>department</param-value>
</init-param>
<init-param>
        <param-name>subjectAttributeCol8</param-name>
        <param-value>AFFILIATION</param-value>
</init-param>
<init-param>
        <param-name>subjectAttributeName8</param-name>
        <param-value>affiliation</param-value>
</init-param>
<init-param>
        <param-name>subjectAttributeCol9</param-name>
        <param-value>ACCESS_ACCOUNT</param-value>
</init-param>
<init-param>
        <param-name>subjectAttributeName9</param-name>
        <param-value>access_account</param-value>
</init-param>
<init-param>
        <param-name>subjectAttributeCol10</param-name>
        <param-value>EMAIL</param-value>
</init-param>
<init-param>
        <param-name>subjectAttributeName10</param-name>
        <param-value>email</param-value>
</init-param>
<init-param>
        <param-name>sortAttribute0</param-name>
        <param-value>NAME</param-value>
</init-param>
<init-param>
        <param-name>sortAttribute1</param-name>
        <param-value>DESCRIPTION</param-value>
</init-param>
<init-param>
        <param-name>searchAttribute0</param-name>
        <param-value>NAME</param-value>
</init-param>
<init-param>
        <param-name>searchAttribute1</param-name>
        <param-value>USERID</param-value>
</init-param>



grouper.properties code:                                                          
# Search and sort strings for internal users (use default)
        internalSubjects.searchAttribute0.el = ${subject.name},${subject.id}
        internalSubjects.sortAttribute0.el = ${subject.name}
## Member sort and search
        member.search.defaultIndexOrder=0,1
        member.sort.defaultIndexOrder=0
#search and sort strings added to member objects
    externalSubjects.searchAttribute0.el = ${subject.name},${subjectUtils.defaultIfBlank(subject.getAttributeValue("institution"), "")},${subjectUtils.defaultIfBlank(subject.getAttributeValue("identifier"), "")},${subject.id},${subjectUtils.defaultIfBlank(subject.getAttributeValue("email"), "")}
    externalSubjects.sortAttribute0.el = ${subject.name}
    externalSubjects.sortAttribute1.el = ${subjectUtils.defaultIfBlank(subject.getAttributeValue("identifier"), "")}
    externalSubjects.sortAttribute2.el = ${subjectUtils.defaultIfBlank(subject.getAttributeValue("institution"), "")}

grouper-ui.properties
#### Member sorting and searching
# Whether to enable member sorting using sort attributes stored in Grouper.
    member.sort.enabled=true

# Whether to use default sorting only and not allow users to specify which sort attribute to use.
    member.sort.defaultOnly=false

# Whether to enable member searching using search attributes stored in Grouper.
    member.search.enabled=true







Archive powered by MHonArc 2.6.16.

Top of Page