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: GAIL JOY DUNMIRE <>
  • To: Shilen Patel <>
  • Cc:
  • Subject: Re: [grouper-users] How to fiiter the group members list in UI
  • Date: Wed, 20 Apr 2016 20:12:27 -0400 (EDT)

Shilen,

Thank you very much. This explains more how it is working. I didn't realize that the search was only using one field. It would be helpful to add your answer to the documentation and use the same example through out the document.

Gail


From: "Shilen Patel" <>
To: "<gjd2@psu. edu>" <>,
Cc: "Christopher J. Hubing" <>
Sent: Wednesday, April 20, 2016 3:24:37 PM
Subject: Re: [grouper-users] How to fiiter the group members list in UI

>> 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