Finally had more time to work on the unAPI copy / Atom paste implementation in unalog. At this point, unalog will examine a "robust" jsondidl object [1] saved with a unalog entry for alternate unAPI-formats, will provide links back out to them (with proper attributes rel="alternate" and type="[mimetype as per unapi]" on the anchors), and will display a small image for every saved entry if the entry contains at least one image of size 100x100 or smaller. Here's a screenshot:
I've tweaked the jsondidl model and the output from OPA [3] (and updated the version running at opa.onebiglibrary.net [4]) to now also include attributes "url" and "unapi_source" on resources. "unapi_source" is a direct link back to the unAPI URL from which the resource (in its specific format) came. "url" is a direct link to the original URL to which OPA redirects for unAPI format redirects. This allows unalog to both (a) provide links back to unalog users to the unAPI service for every format, and (b) render an item directly from its source link if that source link is public, rather than having to bounce back through the unAPI service.
Perhaps unalog should publish that image to the world right from its own stored copy. But, I'm not sure if that's a good idea... I don't want people using unalog.com to republish arbitrary data objects -- especially images -- for which they might not have the rights to do so. Users *themselves* should be able to see their own saved data, and maybe small groups of their friends or colleagues (unalog's had public and private groups since early 2004, so that shouldn't be hard to implement). But not arbitrary users looking at other users' images. But then again, there's nothing wrong with one user being given unAPI links back to an image; if the user can obtain rights to see the source data, they can navigate to it for themselves.
Working on this raises tons of issues. Here's a working list.
Not to mention that I still need to drop everything for a few days to completely rewrite the unalog "save this page/link" screen to incorporate all these features for pages with unAPI URIs and microformats, to newly bundle all the data up into a jsondidl via javascript and paste via Atom, among other things.
But first, let us retell the story of Exodus...
Links:
[1] http://onebiglibrary.net/project/mpeg21-didl-in-json-sorta
[2] http://flickr.com/photos/dchud/125958261/
[3] http://onebiglibrary.net/taxonomy/term/5
[4] http://opa.onebiglibrary.net/