Hi Matt,
You would need to implement your service contract. In particular the the URL service contract. Or maybe just look at how DavB implemented it on this site. You can checkout the CVS of this site openacs.org-dev.
Sorry I am a bit busy can't explain on further. Here are useful links
https://openacs.org/doc/search/guidelines.html
Since ETP uses CR you will need to implement only the 'datasource' and 'url'. Others are already taken cared of, no need for the triggers.
I suggest that you check out the ETP CVS code of this site. Then cut and paste it into your code. You can also drop by the IRC channel and look for DavB.