Skip to Content.
Sympa Menu

grouper-users - Re: [grouper-users] PSP - adding an extra attribute

Subject: Grouper Users - Open Discussion List

List archive

Re: [grouper-users] PSP - adding an extra attribute


Chronological Thread 
  • From: David Langenberg <>
  • To: Jeff McCullough <>
  • Cc: "" <>
  • Subject: Re: [grouper-users] PSP - adding an extra attribute
  • Date: Thu, 3 Oct 2013 09:59:52 -0600

Hi Jeff,

Would you please up logging to debug & send the results?

Thanks

Dave


On Wed, Oct 2, 2013 at 3:41 PM, Jeff McCullough <> wrote:
Hi Dave,

I'm getting closer. When I make changes to the displayName (displayExtension is attribute that changes) PSP is seeing the change, and starts to process it. Here are the log entries below. PSP is looking for changes with displayExtension and is supposed to put those into the displayName attribute in LDAP. I've confirmed the DataConnectors, AttributeDefinition, and pso attribute I added are working by swapping the attributes (description <-> displayExtension/displayName). I've even tried just switching the pso attribute definitions to confirm that it wasn't updating the LDAP attribute that was the issue. In that case the grouper description is loaded into the LDAP displayName. That leaves some lookup issue within grouper itself, but I don't see what it is. Any ideas?

Jeff

------------------
2013-10-02 14:24:00,078: [DefaultQuartzScheduler_Worker-3] INFO  PspChangeLogConsumer.processChangeLogEntry(566) -  - PSP Consumer 'psp' - Change log entry 'ChangeLogEntry[timestamp=2013-10-02 14:23:07.962,sequence=685319,category=group
,actionname=updateGroup,contextId=ee5269ebf43d4a2a9fe17dcb9b02e4d1,id=a7e7fd636f314fbe9fa4464f31440517,name=edu:berkeley:app:calmessages:deans,parentStemId=f175cea0b6b741d185ca2cb3059d9dbd,displayName=edu:berkeley:app:Cal Messages:Deans
 2,description=5 description,propertyChanged=displayExtension,propertyOldValue=Deans 1,propertyNewValue=Deans 2]'
2013-10-02 14:24:00,078: [DefaultQuartzScheduler_Worker-3] INFO  Psp.execute(980) -  - Psp 'psp' - Calc CalcRequest[id=change_log_sequence_number:685319,requestID=2013/10/02-14:24:00.078,returnData=data]
2013-10-02 14:24:00,078: [DefaultQuartzScheduler_Worker-3] INFO  Psp.execute(984) -  - Psp 'psp' - Calc XML:
<psp:calcRequest xmlns:psp='http://grouper.internet2.edu/psp' requestID='2013/10/02-14:24:00.078' returnData='data'>
  <psp:id ID='change_log_sequence_number:685319'/>
</psp:calcRequest>

2013-10-02 14:24:00,127: [DefaultQuartzScheduler_Worker-3] INFO  Psp.execute(1009) -  - Psp 'psp' - Calc CalcResponse[id=change_log_sequence_number:685319,status=success,requestID=2013/10/02-14:24:00.078,pso=PSO[psoID=PSOIdentifier[id='
cn=edu:berkeley:app:calmessages:deans,ou=campus groups,dc=berkeley,dc=edu',targetID=ldap,containerID=<null>]]]
2013-10-02 14:24:00,128: [DefaultQuartzScheduler_Worker-3] INFO  Psp.execute(1011) -  - Psp 'psp' - Calc XML:
<psp:calcResponse xmlns:psp='http://grouper.internet2.edu/psp' status='success' requestID='2013/10/02-14:24:00.078'>
  <psp:id ID='change_log_sequence_number:685319'/>
  <psp:pso entityName='group'>
    <psoID ID='cn=edu:berkeley:app:calmessages:deans,ou=campus groups,dc=berkeley,dc=edu' targetID='ldap'/>
  </psp:pso>
</psp:calcResponse>

2013-10-02 14:24:00,128: [DefaultQuartzScheduler_Worker-3] INFO  PspChangeLogConsumer.processChangeLogEntry(573) -  - PSP Consumer 'psp' - Change log entry 'ChangeLogEntry[timestamp=2013-10-02 14:23:07.962,sequence=685319,category=group
,actionname=updateGroup,contextId=ee5269ebf43d4a2a9fe17dcb9b02e4d1]' Finished processing. Elapsed time 0:00:00.050

------------------------


On Oct 1, 2013, at 9:18 AM, David Langenberg <> wrote:

Hi Jeff,

Sure, you can add that object class.  In your psp-resolver.xml you will find several object class definitions.  You'll see things like this

<dc:Attribute id="staticStemObjectclass">
            <dc:Value>top</dc:Value>
            <dc:Value>organizationalUnit</dc:Value>
        </dc:Attribute>

just add another <dc:Value>

Dave


On Mon, Sep 30, 2013 at 5:17 PM, Jeff McCullough <> wrote:
Hi Dave,

One more question if I may. For our standard group schema, we don't have a displayName attribute. We will either need to change our schema or use the extensibleObject Object class to add it. I'm wondering if it is possible to change the config files such that PSP can add the extensibleObject Object class before it adds the displayName attribute? Is it a code change? Easy to add or not?

Thanks,
Jeff

On Sep 26, 2013, at 4:40 PM, David Langenberg <> wrote:

Yes, that looks like it should do the trick.

Dave


On Thu, Sep 26, 2013 at 5:28 PM, Jeff McCullough <> wrote:
Hi Dave,

Thank you for your quick reply. Just to confirm. 

In psp-resolver I want to add:

<!-- The value of the group "displayName" attribute is the group displayName. -->
  <resolver:AttributeDefinition
    id="groupDisplayName"
    xsi:type="ad:Simple"
    sourceAttributeID="displayName">
    <resolver:Dependency ref="GroupDataConnector" />
    <resolver:Dependency ref="UpdateGroupDisplayNameChangeLogDataConnector" />
  </resolver:AttributeDefinition>

 <!-- Returns change log attributes representing the changing of a group's description. -->
  <resolver:DataConnector
    id="UpdateGroupDisplayNameChangeLogDataConnector"
    xsi:type="psp-grouper-changelog:ChangeLogDataConnector">
    <!-- The AND filter matches both child filters. -->
    <grouper:Filter xsi:type="grouper:AND">
      <!-- The ChangeLogEntry filter matches change log entries with the given category and action. -->
      <grouper:Filter
        xsi:type="psp-grouper-changelog:ChangeLogEntry"
        category="group"
        action=""updateGroup"" />
      <!-- The ChangeLogExactAttribute filter matches change log entries with the given attribute and value. -->
      <grouper:Filter
        xsi:type="psp-grouper-changelog:ChangeLogExactAttribute"
        name="propertyChanged"
        value="displayName" />
    </grouper:Filter>
  </resolver:DataConnector>


And in psp.xml

I add:

   <!-- The ldap group "displayName" attribute. -->
    <attribute
      name="displayName"
      ref="groupDisplayName" />

Thank you,
Jeff


On Sep 26, 2013, at 3:57 PM, David Langenberg <> wrote:

Hi Jeff,

In the psp-resolver.xml you would define the displayName attribute just like the name ones.  Then in the psp.xml in the <pso id="group"> tag you'd add another <attribute> element which references the displayName attribute.

<attribute name="displayName" ref="groupDisplayName" />

Assuming in psp-resolver you defined the displayName as groupDisplayName.

Dave



On Thu, Sep 26, 2013 at 4:44 PM, Jeff McCullough <> wrote:

I would like possibly add another attribute to the ones that PSP provisions in LDAP. For example, along with the Grouper "name" being used for the LDAP group cn, I'd like to have the Grouper displayName attribute provisioned as an LDAP displayName. I see in the documentation that I can easily switch from using Grouper "name" to displayName, but I'd like to add the displayName as an extra attribute. If possible, what would I need to add to the psp-resolver.xml?

Thanks,
Jeff




--
David Langenberg
Identity & Access Management
The University of Chicago




--
David Langenberg
Identity & Access Management
The University of Chicago




--
David Langenberg
Identity & Access Management
The University of Chicago




--
David Langenberg
Identity & Access Management
The University of Chicago



Archive powered by MHonArc 2.6.16.

Top of Page