The `downloadUrl` is the URL that Portal uses to get the data. The values in `otherQueryStringArgs` are appended to the URL that points to the Portal's `ProxyController`. So `otherQueryStringArgs` is information for the Portal rather than whatever service provides the data.

`downloadUrl` and `downloadFilename` are also always required in this context (for any download), while `otherQueryStringArgs` is a way to pass any extra arbitrary fields that the Portal might need (as it does when downloading a list of URLs). It is essentially optional when calling this `showIfNeeded` function depending on what type of download it is.

Does that help at all?