Saturday, March 04, 2006

Technosophia unapi support

Technosophia by Michael J. Giarlo is also unapi compliant, see his post, and a screenshot below:

Friday, March 03, 2006

keep list of unapi server (and lanudry list ;-)

Any serious validation should use Ed Summers's excellent validator , although I may still update information in this page (2006-03-08)

while playing with unapi_link script, I notice some unapi site are not 100% unapi compliant, and actually reveal some interesting questions about unapi itself. Before edsu has a test tool running, I need keep a record and to repeat Alan Kent's philosphy "Nothing like airing dirty laundry to get people to clean up their act! :-)". I will try to keep the list up-to-date. A common pitfall list is also created below.

Notice I am doing manual testing, so I apologize for any fault at my side.

1) quaedam

a) a trailing "?" in unapi link. (notice the spec said no trailing ?)
b) request to a dissemination doesn't return right value


4) wikid
client-side xslt render is required. not sure how to handle this, because we cannot expect all client has an xslt rendering ability, I would like to say unapi server must explicitly support HTML page.

4) opa
4.1) doesn't return json in formats request.
4.2) no site formats list, I think unapi should clarify relationship between site and individual formats list. The wording of OAI-PMH is more precise: "If this argument (identifier) is omitted, then the response includes all metadata formats supported by this repository." In this case I think an empty list is correct. In particular, I think unapi can be cleaner by following how to deal with ListMetadataFormats in OAI-PMH.

5) unapi_link
need handle relative path in unapi link.

Notice is also has a page explicitly exposing unAPI links.
canarydatabase export

7) evergreen
it doesn't work with unapi_link, still looking for the reason.

Common pitfalls

1) use href instead of xhref in UNAPI link
2) The trailing "?" is explicitly forbidden in unAPI spec.

Please leave a comment or send me an email if any question

Thursday, March 02, 2006

UTF-8 character ”RIGHT DOUBLE QUOTATION MARK, or ” or ” or UTF-8 e2809d.

This takes me a while staring at the screen and figure out the problem.

In one web page I am testing, the RIGHT DOUBLE QUOTATION MARK (unicode 0x201d); character is used to quote attributes, instead of plain quote (unicode 0x22). the problem is that these character looks terribly similar, and usually in debug tool you don't realize the differences.

Anyhow it takes me hour to figure out the problem, so perhaps better record the steps here.

1) use "od -ax" find utf-8 value of this character e2809d.

2) get the unicode 0x201d by following formula in [] to get its unicode value.

3) search the unicode either in "Character Map" of redhat, or search it in the web []

Tuesday, February 28, 2006

pubmed and citeseer also unapi-enabled by opa

It's hard to catch Dan's speed of adding more unapi-enabled sites []. I am talking about all these OAI-PMH repositories -- perhaps I can turn nearly obsolete DP9 to unapi-compliant, which will be easier than writing several hundreds greasymonkey script.

Anyhow, I have added citeseer and pubmed, these are very similar to previous amazon script. Citeseer has some trick with their identifiers (e.g. and refers same article), but it seems to be working now.

See a screenshot for pubmed below:

and citeseer

To try it out for citeseer:

1. Install greasemonkey, restart firefox, come back here, etc
2. Install citeseer_opa.user.js
3. Install unapi_link.user.js
4. Visit a citeseer page, such as

Notice the sequence of operation is important.

To try it out for pubmed:

1. Install greasemonkey, restart firefox, come back here, etc
2. Install pubmed_opa.user.js
3. Install unapi_link.user.js
4. Visit a pubmed page, such as

Notice the sequence of operation is important.

Sunday, February 26, 2006

unapi-enabled with OPA proxy.

I put together an unapi-enabled amazon page, it uses Dan's OPA-0.1 server as proxy [].

Again I am following Dan's previous Amazonmixer script [,

See a screenshot below:

To try it out:

1. Install greasemonkey, restart firefox, come back here, etc
2. Install amazon_opa.user.js
3. Install unapi_link.user.js
4. Visit an amazon book page, such as

Notice the sequence of operation is important.

so I did nothing new but to demonstrate the system can work ;-) There is a small problem with list of metadata formats supported at a site, since OPA 0.1 returns an empty list for the site. In this version I use listformats response from first available URI. I think we still need a little clarification between listformats for a site and an identifier.