Skip to Content.
Sympa Menu

grouper-dev - Draft Minutes: Grouper Call 18-Mar-09

Subject: Grouper Developers Forum

List archive

Draft Minutes: Grouper Call 18-Mar-09

Chronological Thread 
  • From: Emily Eisbruch <>
  • To: Grouper Dev <>
  • Subject: Draft Minutes: Grouper Call 18-Mar-09
  • Date: Mon, 23 Mar 2009 12:32:15 -0400

Grouper Call 18-Feb-09**


Tom Barton, U. Chicago (Chair)
Shilen Patel, Duke
Chris Hyzer, U. Penn
Tom Zeller, U. Memphis
Ann West, EDUCAUSE/Internet2  
Steve Olshansky, Internet2    
Emily Eisbruch, Internet2 (scribe)

Action Items

 [AI] (TomB) will start a wiki page on attribute framework for Grouper.


*Major items for Grouper 1.5*

  . namespace transition support (group/stem move and copy)
  . phase 1 audit (user but not point in time?)
  . phase 1 notification (experimental implementation)
  . attribute framework (infrastructure for basic role management)
  . enhanced ldappc (needs further defining)

Target date for Grouper 1.5 release: end of April or beginning of May.

*User Auditing*

Chris reported that user auditing took more time than expected, but that work is almost wrapped up. 

*Attribute Framework*

This enhancement that would provide framework for simple role/privilege management. This is not well defined yet. The idea is:

1. Attributes should be attachable to any of the primary objects: groups, memberships and stems

2. There should be a richer set of attribute types. Grouper currently has strings and lists that can be attached to groups by ad hoc means. Goal is to have multi-valued strings. 

Attribute framework infrastructure work is provisionally in Grouper 1.5, but it could possibly wait until Grouper 1.6.

Chris: attributes are now global. Would like them to have more specification.  

Shilen: Use attributes for start data and end date for memberships?  

TomB: yes, this attribute framework could be used with hooks to do aging of groups.

Chris:  This attributes approach is good for users, but built-in Grouper attributes should use more of a big tent approach (there are issues with columns of tables linked to columns of tables).

[AI] (TomB) will start a wiki page on attribute framework for Grouper.

*Notification and Sequencing Issues*

For notification, Chris originally wanted to use triggers. After investigation, he concluded that an API approach would be more efficient than trigger-based notification.  

What is the best approach to serializing events? In what order did changes occur to the database? Sometimes things will happen at same millisecond, though rarely where one depends on the other. 

Penn uses an Oracle sequence to handle this.

Memphis uses timestamp and UUID. When there is a small window of time, it’s OK to just know 3 or 4 events happened at that time.

TomB: Will this be the same in 5 years? Order within a millisecond won’t matter? Important to get right outcome if events are replayed.

TomZ: What about locking and threads?

Chris has been laying the groundwork for hibernate locking. Every table will have a column called hibernateVersion#. But Chris is waiting for Shilen’s GroupLastUpdated to be ready before the hibernate locking can be effective. The plan is to make hibernate locking optional it can optionally be turned off. Hibernate locking can help with problem of two things happening at the same millisecond.  


TomB and TomZ will talk offline what to do with ldappc for Grouper 1.5.  Gary and TomZ had talked about an enhanced ldappc being a much larger set of code.

*Namespace Transition*

Name history is only outstanding question. Should aliases or previous names be used in name history? 

Shilen: Plan is that GroupFinder.findByName will return results based on the current and previous names. 

Chris expressed goal to keep things consistent between web services and API.

TomZ: We shouldn’t assume one particular behavior or preference for name history  

TomB: Concerned about complexity of this approach. We should solve the problem in the infrastructure. Too many unmade decisions can be a problem.

TomZ: windows users understand about copying or renaming.

  • Add a previousName column to Grouper groups table. 
  • Give user option of whether previousName will be populated or not when they do a move. (Default is yes)
  • GroupFinder.findByName will find names by their previous and current name.
  • Nothing except those methods will find a previous name.
  • Shilen will add Help to gsh for findByName and findByCurrentName.
  • In web services, Chris will add fields for currentname and previousname. 
  • A copy is a new object and will remove previous names. 

*Next Call*

Next Call:  Wed., 1-Apr-09 at noon ET 

Emily Eisbruch, Technology Transfer Analyst
office: +1734-352-4996 | mobile +1-734-730-5749

Spring 2009 Internet2 Member Meeting
April 27-29, Arlington, Virginia

  • Draft Minutes: Grouper Call 18-Mar-09, Emily Eisbruch, 03/23/2009

Archive powered by MHonArc 2.6.16.

Top of Page