grouper-dev - notifications / change log
Subject: Grouper Developers Forum
List archive
- From: Chris Hyzer <>
- To: "" <>
- Subject: notifications / change log
- Date: Fri, 8 May 2009 01:41:29 -0400
- Accept-language: en-US
- Acceptlanguage: en-US
Hey,
I have started work on grouper notifications. Per discussions at the member
meeting, here is the current design (actually, not everything here was
discussed... :) ):
- Have a change_log table of changes in Grouper (this is similar to my
previous thought, though there wont be a row for each consumer)
- Generally there will be a row inserted for each insert/delete/columnChange
in a grouper table (not including other auditing tables etc)
- Will have a way to customize which events get inserted into the change log,
and which don't
- Change log entries will have a millis since 1970 column, which orders the
entries. I will probably put a second column which will by default be blank
which can be changed into a database specific sequence/index if the
institution desires
- There wont be a uuid for each row so that we can do "insert...select..."
queries easily. For instance of you rename a group, or to efficiently insert
effective memberships
- I still think we can have a "notification" table which keeps track of
consumers, and their last successfully consumption timestamp (if they are
registered for Grouper to keep track). Though this is obviously lower
priority
- Consumers will not delete from the table. There will be a job which
deletes old data (sites configure their definition of "old")
- We will try to give as much information as possible so that it doesn't need
to be queried. i.e. for memberships we can keep the following information on
an update:
- membershipId
- ownerId (group or stem id)
- ownerName (group or stem name)
- memberId
- subjectId
- sourceId
- field name
- field type
- membershipType (effective/immediate/composite)
- fieldNameChanged
- oldValue
Those are fields specific to membership updates, common fields are:
- createdOn (millis since 1970)
- sequenceNumber (optional)
- changeLogTypeId (uuid reference to grouper_change_log_type, which says
this is a membership entry, and an update)
- contextId (to tie back to who did it, from where, with what, etc)
Let me know if you have feedback. I will put this into the wiki soon.
Thanks,
Chris
- notifications / change log, Chris Hyzer, 05/08/2009
Archive powered by MHonArc 2.6.16.