When you define UrlMap, you should remember, that Caché uses Regular expressions. So, you can just put (?i) before Url, to make regular expression case insensitive

XData UrlMap [ XMLNamespace = "http://www.intersystems.com/urlmap" ]
{
<Routes>
    <Route Url="(?i)/user" Method="POST" Call="User"/>
    <Route Url="(?i)/emailactivation" Method="POST" Call="EmailActivation" />
    <Route Url="(?i)/login" Method="POST" Call="Login"/>
</Routes>
}

command WRITE, outputs $listbuild in binary format, if you would use ZWRITE, it would show you $lb

I've just made variable from your output

USER>zzdump val

0000: 02 01 04 01 61 61 04 01 4A 4A                           ....aa..JJ
USER>zwrite val
val=$lb("","aa","JJ")

Just read the documentation and you will get everything needed to work with $listbuild

With Studio, you will have only one option, is to store sources from server's side. Any Studio plugin works in Caché, and this code could decide where to store code. But developers should also have access to the same folder. If you have authorization on your Caché server, it will be quite easy to split settings and storing sources on disk for every developer.

But If you would choose Atelier, you should not care about it. Atelier all changes store on client's side. And no matter how many developers works on one server.

How about to add basic authorization to WRC.

Now it is not possible to download some distributive from WRC in one command in Linux. In first, you should send login and password as a form, save cookies after some redirects. And then it will be possible to download with this cookies. And this command looks so big.

wget -qO /dev/null --keep-session-cookies --save-cookies /dev/stdout --post-data="UserName=$WRC_USERNAME&Password=$WRC_PASSWORD" 'https://login.intersystems.com/login/SSO.UI.Login.cls?referrer=https%253A//wrc.intersystems.com/wrc/login.csp' \
 | wget -O - --load-cookies /dev/stdin "https://wrc.intersystems.com/wrc/WRC.StreamServer.cls?FILE=/wrc/distrib/$cache-lnxrhx64.tar.gz" \
 | tar xvfzC - . 

I would expect to see a much easiest way.

​curl -u $WRC_USERNAME:$WRC_PASSWORD https://wrc.intersystems.com/wrc/WRC.StreamServer.cls\?FILE\=/wrc/distrib/$cache-lnxrhx64.tar.gz
 | tar xvfzC - .

Is it possible to do it, or maybe you can recommend some other way?

And also, will be good to get some API, where I could ask for link to latest version, or for some particular major version, e.g. 2017.1, and for particular platform. So, I could use it to download latest version. 

Would be much better, if InterSystems will add OpenSearch to their documentation. And I think it will be enough only for the public version. And in this case, it will be supported in all modern browsers, without installation anything external.

Something like this.

<?xml version="1.0"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
 <ShortName>InterSystems docs latest</ShortName>
 <Description>InterSystems Ensemble Documentation latest Version</Description>
 <Url type="text/html" method="get" template="https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.SearchPageZen.cls?KEY=&KeyWord={searchTerms}"/>
</OpenSearchDescription>