= Metadata Notifications to Remote Targets = || '''Date''' || 2010/10/16 || || '''Contact(s)''' ||[http://wiki.osgeo.org/wiki/User:Josegar Jose Garcia] & [http://wiki.osgeo.org/wiki/User:Heikki Heikki Doeleman]|| || '''Status''' || Proposed for vote || || '''Assigned to release''' || 2.7.x || || '''Resources''' || resources made available through Kingdom of Sweden || == Overview == A function in !GeoNetwork that can push notifications about metadata inserts, updates and deletes, to configurable remote destinations. === Proposal Type === * '''Type''': Kernel, GUI Change * '''App''': !GeoNetwork * '''Module''': since when do we have modules ? === Links === * '''Documents''': * '''Email discussions''': * '''Other wiki discussions''': === Voting History === * Vote proposed by [http://wiki.osgeo.org/wiki/User:Heikki Heikki Doeleman] on 16-Oct-2010, result was +1 / -n (m non-voting members). ---- == Motivations == In !GeoNetwork 3.x, the !GeoNetwork CSW/ebRIM interface creates ebRIM registry objects about ISO19139 metadata. It is kept up-to-date by a mechanism that sends a message from "legacy" !GeoNetwork to the CSW/ebRIM application, everytime a metadata is inserted, deleted or updated in !GeoNetwork. Now, the Kingdom of Sweden wants to have a very similar function to push this info to some remote servlet they use. This proposal aims to make this a generally available option in !GeoNetwork. == Proposal == The metadata-push-mechanism implemented in !GeoNetwork 3.x is moved forward to !GeoNetwork 2.7.x. It is also modified a bit such that the notifications are sent to a configurable (through the GUI) list of remote destinations (rather than to a single destination specified in config.xml). Another modification is that the result of the notifications is tracked and in case of failure, tried once per 24 hours until it succeeds or until the failed notification target is removed. The interface used by the notification pusher is: {{{ Parameters: action: update/delete uuid: uuid for metadata XMLFile: metadata content (only required in update action) The Update action is used to create or update metadata records. This has to be managed by the remote service. The remote service is expected to return an appropiate HTTP error code if some exception happens. HTTP Post is used to communicate with the remote services. }}} Failed notifications (identified by error HTTP status) are registered and tried again once every 24h until either the notification push succeeded or an Administrator user removes the remote target destination from !GeoNetwork's configuration. Administrator users can configure zero or more destinations when logged in. Destinations can be enabled or disabled, if disabled no notifications are sent. When a destination is created and enabled, all the metadata created previously is notified to the new destination by the same process that manages the retry of failed notifications. The configuration page looks like this: [[Image(screen.png)]] === Backwards Compatibility Issues === None known == Risks == None known == Participants == * [http://wiki.osgeo.org/wiki/User:Josegar Jose Garcia] * [http://wiki.osgeo.org/wiki/User:Heikki Heikki Doeleman]