Visokio website     Downloads     Video tutorials     KnowledgeBase  
Remote URL-hosted IOKs in Mobile Server (2.9 Plus) - Visokio Forums
Remote URL-hosted IOKs in Mobile Server (2.9 Plus)
  •     steve November 24, 2015 12:18PM
    From 2.9 Plus, Omniscope Mobile Server now supports integration with external servers for hosting the IOK files behind each report, as an advanced option to be used instead of or as well as the sharing folder. For example, you might use a document management server such as Alfresco.

    To enable this feature, open the Server UI and configure "Omniscope Web Server > Config > Advanced > Remote URL pattern". The remote URL to the desired IOK file itself is specified as an encoded element within the URL visited externally in the browser. This is best explained by example; see below.


    This is currently in a 2.9 Plus hotfix, and will be integrated into the main 2.9 Plus build pending external testing. Download here:

    Those with pre-alpha access can get the 3.0 variant hotfix here:


    Remote IOK example URL

    For example, let's say your IOK file is hosted on a document management server. Let's pretend this IOK download URL from our demo server is as such. (It doesn't matter the technology, as long as the URL is accessible without restriction to the Mobile Server process, server-side, and results in an IOK file as a binary stream):

    Remote URL Pattern option value

    This option must be set (i.e. non-empty) to enable this feature. The option itself defines what remote URLs are valid. (Mobile Server will make server-side HTTP requests to URLs specified in incoming HTTP requests, and if exposing this to the outside world, you'll want to make sure Mobile Server can't be maliciously instructed to make REST API query requests on your internal systems.)

    This option is a regular expression which must match against the remote IOK URL (after it has been decoded from the external URL "PARAM"), e.g.:


    External URL visited in browser

    Assuming your Mobile Server's main page is "http://yourserver/", the external URL would be "http://yourserver/PARAM/" where PARAM is the URL-encoded remote URL. Use to encode a URL by hand.


    This is what the end-user would see, unless you are using a reverse proxy to hide the URL or provide custom integration and security.

    A note about security

    Server permissions that take effect depend on the default folder configuration in the server, and if you are using folder.xml files in the sharing folder, these also take effect. You can in fact use "http://yourserver/path/in/sharing/folder/PARAM/" to load an external URL but apply the folder permissions from "WEBROOT/path/in/folder/folder.xml" where WEBROOT is the configured sharing folder.

    If your server is exposed externally, be warned. Any URL which matches the regular expression will result in Mobile Server executing a server-side HTTP "GET" request to that URL. Use this only with a carefully restricted regular expression, or on private servers, or servers that are secured with HTTPS and mandatory user authentication.

    Headless server configuration

    If editing a headless server's config.xml, "Remote URL pattern" is found here:
    <schedulerConfig> ...
    <mobilewebserver ... remoteUrlPattern="https\:\/\/omniscope\.me\/.*" ... >


It looks like you're new here. If you want to get involved, click one of these buttons!

Sign In Apply for Membership