#27: Karabo URI Scheme

URI Format Details

The URI is currently supporting 3 applications: The Karabo GUI karabo-gui, the karabo-cinena and the karabo-theatre. Currently only the karabo-cinema option has a wizard to help link generation.

Wikipedia currently has a well written page on URIs, https://en.wikipedia.org/wiki/Uniform_Resource_Identifier

According to the IETF RFC 2396 definitions, the Karabo GUI follows these specs:

  • protocol : karabo

  • path : gui, cinema, theatre

  • query : options varies depending on the path

karabo-cinema format

If a URI’s format follows this pattern:

karabo://cinema?domain=TOPIC1&scene_uuid=this-is-not-an-uuid

will open the Karabo Cinema with domain set to TOPIC1 and scene_uuid set to this-is-not-an-uuid.

For the cinema, the options are:

  • domain: The project domain of the scene to be opened (Mandatory).

  • scene_uuid: The uuid of the scene to be opened (Mandatory).

  • username: The username to be selected, i.e. the access level (Optional).

  • host: The GUI server host (Optional).

  • port: The GUI server port (Optional).

karabo-theatre format

In the theatre path, in most cases, the url will be encoded. For example, this link:

karabo://theatre?scene_id=COMPONENT%2FTYPE%2FMEMBER%7CSCENEname

Will open a karabo-theatre pointing to the device generated scene: SCENEname of the device COMPONENT/TYPE/MEMBER.

The options for theatre are:

  • scene_id: The identifier of the scene from a device (Mandatory).
    note: / and | symbols need to be urlencoded, for example COMPONENT/TYPE/MEMBER|SCENEname encodes to COMPONENT%2FTYPE%2FMEMBER%7CSCENEname

    use this online helper as a sandbox https://meyerweb.com/eric/tools/dencoder/

  • username: The username to be selected, i.e. the access level (Optional).

  • host: The GUI server host (Optional).

  • port: The GUI server port (Optional).

karabo-gui format

If a URI follows this format:

karabo://gui

The link will open the registered GUI client if the application is registered. It currently has no optional arguments.