Friday, October 12, 2007

Pygmybrowse revisited

As yet another example of avoiding what I should really be doing, a quick note about a reworked version of PygmyBrowse (see earlier posts here and here). Last September I put together a working demo written in PHP. I've now rewritten it entirely in Javascript, apart from PHP script that returns information about a node in a classification. For example, this link returns details about the Animalia in ITIS.

You can view the new version live. Going "view source" in your browser will show you the code. It's mostly a matter of Javacsript and CSS, with some AJAX thrown in (based on the article Dynamic HTML and XML: the XMLHttpRequest object on Apple's ADC web site).

One advantage of making it entirely in Javascript is that it can be easily integrated into web sites that don't use PHP. As an example, David Shorthouse has inserted a version into the species pages in The Neartic Spider database (for example, visit the page for Agelena labyrinthica and click on the little "Browse tree" link).


David Shorthouse said...

Thanks for the nod, Rod. Your version of PygmyBrowse opens up a whole suite of potential applications. I'm still producing local XML files to feed the tree. However, Dave Martin (GBIF, Web Services guru) has been feverishly duplicating this and also has a beta web service available. By cleverly using a combination of GBIF web services, it is entirely possible to have an embeddable classification tree in one's web offerings whose branch or leaf node URLs are auto-magically changed to point to local resources. That's what's in the works now anyway...

Simon Rycroft said...

We've now created this as a Drupal module. Naturally it uses Drupal's taxonomy system for the classification which, when combined with our taxonomy_import module that is capable of importing from uBio it makes it pretty powerful and very simple. Check out an example on Chris Borrow's dung beetle site.

Rod Page said...

Simon, this looks nice. One minor quibble. I personally find the resizing of the DIV containing the Pygmybrowser to be a bit disconcerting (I might be alone in this). What if the DIV had a fixed size, so that the items below the browser weren't shunted up and down?

It's a pity the dung beetle classification is so flat (it's really just a big fan from the node Scarabaeinae) as it doesn't really benefit much from the Pygmybrowse approach.

Does Drupal's taxonomy module make it easy to get the number of children of each node? This would help users get a sense of which genera are most diverse.

So for the "yes, but" -- I've learnt from a master.

David Shorthouse said...

It is a bit disconcerting to have content on the page jump up & down. My fix for this on The Nearctic Spider Database was to float the div on the page and fade out the background. It's not too bad in Chris Borrow's site because the tree is in a panel off to the side but if there tree were in the middle of the page, having the whole page's contents jump up & down when nodes are expanded/collapsed would indeed be a visual frustration.

sexy said...