Forum OpenACS Q&A: Response to How to get an instance url from a package key?

I can get the package_id from the package_key, so that's no problem. But I can't find any function in site_node that will return a url. When I use site_node_closest_ancestor_package_url, it only looks in the current branch.

root/
|
-------foo/
|
|
-------bar/

As far as I can tell, if package foo is mounted at /foo, and package bar is mounted at /bar, and I run this code:

[site_node_closest_ancestor_package_url -package_key foo]
from the page /bar/testpage.tcl, I get back a null result. If I run the same code from /foo/testpage.tcl, I get back "/foo/".

What I'm trying to do is write code for a package which will be run by the aa-test package, from the context of aa-test. So, given a package_key, I just want to know if it's installed, if it's mounted, and what its url is. If it's mounted more than once, I don't really care which one I get (though maybe I should, so that a test can be directed at a specific mount - but aren't all the mounts pointing to the same thing?).