I haven’t been playing with Groove Web Services for long, but progress so far is encouraging. I’ve written C# and Perl versions of an agent that monitors a Groove discussion forum, watching for references to URLs. When it sees a message containing an URL, it fetches that Web page and stores it in a Files repository. Then it updates the message, in situ, to indicate that the referenced page was retrieved and is stored locally.
“Local” is a funny word in this context, though. The C# and Perl programs talk to a local SOAP listener which mediates access to the Groove engine. But of course, as soon as a file is stored in the repository belonging to my instance of the shared space, it synchronizes to yours too. Script locally, publish globally. Except, of course, this isn’t global; the scope is precisely the virtual team invited into the space.
None of this will make Steve happy, mind you. He’ll want to be notified on his BlackBerry when an item of interest is added to the repository. What’s more, he’ll want to be able to e-mail a message into the discussion forum and have its arrival trigger the fetching of a file into the archive.