Hi Chris,

As mentioned on irc, I think having both of these (notification for
read-oriented API calls, and relationship-level change notification)
would be good, but I want to see what other people think too.  Some
thoughts:

For notification of read-oriented calls, it'd be nice to have a way to
turn on/off either API-A or API-M oriented messages across the board.
Admins may be only interested in paying the performance price of one
or the other.

For notification of relationship-level (err.. statement-level)
changes, currently apps can subscribe to the appropriate RELS-*
changes, but as you point out, determining the diffs is difficult
because you have to look at the previous revision, and if it's a purge
operation, that's not available.

Implementation-wise, there is already an area in the code where the
triple differences between one rev and the other (of a Fedora object
in general) are known: the resource index update code.  See
updateTripleDiffs in
http://fedora-commons.svn.sourceforge.net/viewvc/fedora-commons/fedora/trunk/server/src/main/java/fedora/server/resourceIndex/ResourceIndexImpl.java?revision=8082&view=markup

Although this problem (communicating diffs) is general and not
restricted to RDF, I think it's fair for the Fedora repository to be
format-aware in this case because we've already acknowledged RELS-* as
special citizens of the core repository.

- Chris

On Tue, Jul 28, 2009 at 6:09 PM, Chris Beer<chris_b...@wgbh.org> wrote:
> Following up on Mike Park's messaging thread, I'd like to also suggest the 
> addition of relationship-level notifications (in addition to the API-M level 
> messages).
>
> The drawback of API-M messages is capturing updates to the RELS-EXT/INT when 
> they are modified by modifiyDatastream rather than the add/purgeRelationship 
> methods. In some circumstances, it isn't even possible to reconstruct 
> (through set operations or otherwise) what changes took place (as when the 
> versioning is disabled).
>
> At the most basic level, this could support (or, at least simplify) 
> maintaining external triplestores or similar. It seems like this isn't too 
> difficult given the current setup, but probably results in additional mass 
> purge + recreate operations.
>
> My immediate use case is  domain-specific implications for specific 
> relationships (like collection membership, content model assertions, or even 
> state-based triples) that could trigger workflow processes (whenever an 
> object is added to collection X, notify A; whenever an object asserts it is 
> an archival video, start an encoding process to create a new proxy copy; etc) 
> .
>
> Thoughts? To me, it seems a little too different than API-based messages to 
> be an easy addition, but it also seems like it'd really help streamline some 
> applications, especially as more people start developing workflow processes 
> around Fedora.
>
> Thanks,
> Chris Beer
> Web Developer
> WGBH Interactive
> ------------------------------------------------------------------------------
> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
> trial. Simplify your report design, integration and deployment - and focus on
> what you do best, core application coding. Discover what's new with
> Crystal Reports now.  http://p.sf.net/sfu/bobj-july
> _______________________________________________
> Fedora-commons-developers mailing list
> Fedora-commons-developers@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/fedora-commons-developers
>

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Fedora-commons-developers mailing list
Fedora-commons-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fedora-commons-developers

Reply via email to