Skip to Content.
Sympa Menu

grouper-dev - Draft Minutes: Grouper-Dev call 9-July-2008

Subject: Grouper Developers Forum

List archive

Draft Minutes: Grouper-Dev call 9-July-2008

Chronological Thread 
  • From: Emily Eisbruch <>
  • To:
  • Subject: Draft Minutes: Grouper-Dev call 9-July-2008
  • Date: Sat, 12 Jul 2008 09:14:37 -0400

**Grouper Call 9-Jul-08***


Tom Barton, U. Chicago (chair)
Gary Brown, Bristol U.
Shilen Patel, Duke
Kathryn Huxtable, Independent
Dave Donnelly, Stanford
Chris Hyzer, U. Penn
Tom Zeller, U. Memphis
Steve Olshansky, Internet2
Emily Eisbruch, Internet2 (scribe)

***New Action Items***

[AI] {TomB} will send Chris an example of a functional case for hooks.

[AI] {Kathryn} will do background research on a messaging system to be used as a test/example case for hooks.

[AI] {Chris} will write an explanation of how hooks will be declared.

[AI] {TomB} will contact TomZ to discuss the audit sketch.

[AI] {Chris} will echo back the comments he
received in the discussion about handling the id and uuid columns

**Carryover Action Items**

[AI] {TomZ} will investigate using a relational method of representing changes for the audit/change log.

[AI] {All interested} Review the Grouper and I2MI-Common roadmaps, and discuss on the list, with a particular focus on whether the loader should be included in Grouper 1.4.



Shilen reported on GRP-114 status and depth of composite groups (

- The original issue of GRP-114 (the grouper_memberships.parent_membership column does not always get populated correctly) has been resolved.

- However, a new problem was discovered with how depths and memberships types are recorded when composite groups are involved. Shilen is going to work to fix these issues. Composite depth will be set to -1. For existing installations that have 0 as composite depth, this will need to be converted in a future upgrade.

*Grouper Shell*

What Grouper Shell updates are needed for Grouper 1.3.1 or 1.4.0?

Chris reported that all grouper subprojects will require updates (addition of a context string) to set the context for hooks. This is because a hook might be different in different environments, such as in the UI versus in the Grouper Shell versus in ldappc.

*GRP 140*

Chris reported that GRP-140 (calling some setters stored the data to the database inside the setter) is fixed. Notes:

- For the fix to take affect, the new property:grouper.setters.dont.cause.queries must be set to TRUE. Then store must be called.

- There was discussion of putting this option in config and calling it “pre-1.5 commit.” It was decided instead to add a comment to the properties template.

*GRP 132*

Chris discussed GRP-132 (improve the way DDL and database upgrades work)

The problems with the way DDL is handled are: 1) If something is database specific, a script is required. 2) When schema export is run, diffs don’t run easily.

Chris suggested a new design (currently being used in Grouper Loader), in which a table stores two pieces of data:
1) the DDL type (API or some extension) and
2) what version of the DDL is being used.
Grouper checks this table to be sure the version of database is up to date with the version of the API or extension. If it's not up to date, it an upgrade script will be generated. Grouper would create those scripts as part of the elease process.

It was decided that Chris will improve the way DDL and database upgrades work and show the group how it works. An item to be decided is what should be logged and what should be automated.

*xml-import/export and subject sources*

Gary will work on a bug fix for GRP-139 for Grouper 1.3.1.

The issue is: when attempting to export a database, and the subject API is unable to resolve a subject and then just fails, and XML generation doesn’t complete. There is a question of what should xml-exporter do when there is an error; some people might want xml-exporter to carry on despite the error. Perhaps this should be configurable so users can decide how they want this handled.

*Hooks Status*

Chris reported that low-level hooks have been implemented, and he requested use cases for hooks.

[AI] TomB will send Chris an example of a functional case for hooks.

TomB suggested leveraging hooks rather than audit for Kathryn’s work on ldappc.

TomB proposed using off the shelf messaging software in ldappc for incremental notification /group update capability. This would have the benefit of providing an example of how to use hooks. (Tom noted that the Kuali project has done a lot of testing and evaluating of things like this. Service Mix is one product Kuali has looked at. )

[AI] {Kathryn} will do background research on a messaging system to be used as a test/example case for hooks.

Chris noted that a low-level hook fires for every membership change, but a high level hook does not.


There are some concerns about using hooks to implement audit capability, especially regarding the sequencing and levels of hooks.

[AI] {Chris} will write an explanation of how hooks will be declared.

TomZ will develop some Grouper audit functionality in Java and create test cases.

[AI] {TomB} will contact TomZ to discuss the audit sketch.


Chris supports eliminating the ID column and keeping the UUID column. The new UUID would be generated by hibernate.

The question was raised: would it break a site that uses UUID externally, if the old and new UUIDs are in a different format? The solution might be the "grandfathering in" of UUIDs that have been generated so far.

[AI] Chris will echo back what he heard on UUID.

Next call: Wed 23-Jul-08 Noon EDT.

Emily Eisbruch, Technology Transfer Analyst

office: +1-734-352-4996 | mobile: +1-734-604-5562

Internet2 Workshops
Hands-on. Brains-on.

Archive powered by MHonArc 2.6.16.

Top of Page