Using a search query instead of a Uri in a URL
Recently I wanted to link to a Record using the external ID, not the Uri or the number. This was from a customised WeDrawer page so I could have done a search to find the Uri and then used that, but I didn't want that extra step. A little reflection (and poking around in the code) and I realised that I could use the external id in the URL after all.
If it was a search
A search by external id would look like this, problem was I want to open the actual record page, not a list of one record.
/WebDrawer/record?q=recExternal:abc123
As a URL
As long as a search returns only one result then you can substitute the query for the Uri in the URL, as long as you can compose the query without using a colon (colons are reserved characters in URLs). So below I use equals instead of colon to either open the details page or go directly to the document via the external id.
http://localhost/WebDrawer/record/recExternal=abc123 http://localhost/WebDrawer/record/recExternal=abc123/file/document
Note
As is my habit I use the internal name for the search clause (recExternal) not the name (external) to minimise the possibility of breakages due to either custom captions or use of different languages.