10 Web GUI interface

The MOSEK OptServer provides a minimalistic web interface that allows to

  • monitor and terminate jobs and
  • grant or revoke access tokens,

The web interface can be activated setting the options enable-management or enable-login (see Sec. 9 (Configuration) ). By default is not active.

10.1 Login page

When the user opens the web interface a login page is shown. The user must input its user name and in order to be authenticated. See Sec. 8 (Security) for further details.


Fig. 3 A screenshot of the login page.


The OptServer does not keep trace of login attempts.

If the login is successful the user is presented with a minimal login page.


Fig. 4 A screenshot of the main page.

10.2 Job list page

Selecting the All Jobs or My Jobs link from the left sidebar for administrators and submitters respectively, the job list page is visualize. It provides information about jobs and for submitters the possibility to post a new job.

An example of how the page looks like is in Fig. 5.


Fig. 5 A screenshot of the job list page.

10.2.1 The Job List

The list contains all jobs that have been submitted by the user if it a submitter, or all users for administrators. For each job the following information are available

  • Job ID: a unique job id,
  • Description: the submitted file name,
  • Owner: the user that submit the job (left blank if anonymous),
  • Status: whether the job is running, complete with success or something went wrong,
  • Submitted: when the job has been submitted,
  • Duration: the overall duration of the job.

For each job two buttons are available that will provide additional information directly from the solver execution:

  • Log: shows the solver log for that job,
  • Solution: the solution for the job.


Log and Solution are displayed in a new window.

10.2.2 Job List Filter

To navigate among the submitted jobs OptServer provides a simple search tool that combines criteria from two fields:

  • Filter Search : Entries in the text search box are matched against values in the columns “Job ID”, “Descripion”, “Owner” and “Status”. If the string is a substring in any of those fields the row is a match.

  • Date Search : The entry should either be a single data or a date range (“start .. end”). A date is written as

    December 21 2012 12:45:00
    2012-12-21 12:45:00

    and the various parts can be left out, i.e. the following are valid

    Dec 21 2012 meaning Dec 21 2012 00:00:00
    2012 meaning Jan 1 2012 00:00:00

    Ranges are specified with the .., and either end can be left blank to indicate no bound, e.g.

    Dec 21 2012 .. meaning Dec 21 2012 00:00:00 until now
    .. -2012 meaning anything before Jan 1 2012 00:00:00
    2011..2012 meaning anything bwteen Jan 1 2011 and Jan 1 2012

Some examples follow

All jobs submitted in May 2016

In the Date Search field enter

May .. 2016

All jobs submitted by users with name john

In the Filter Text field input


All failed jobs

In the Filter Text field input


10.2.3 Job submission

If the user is a submitter it can directly submit a job in asynchronous mode using the GUI.

10.2.4 Job Status

The possible job statuses are listed in Table 1.

Table 1 Status keys.
Status key Description
submitted The job has just been submitted, waiting to run.
running The job is currently running.
failed The solver did not terminated correctly.
done The solver terminated correctly with a response code.

Details follow.

Status submitted

The submitted status indicates that the job has been received and stored. It is in the process to be executed.


OptServer does not provide any queing system. Therefore a job is never waiting for execution.

Status running

A job is running when the solver has been started but not yet terminated.

Status failed

The failed status indicates that something wrong has happened. Two scenarios apply:

  1. The running script returned an error before the solvr could start.
  2. The solver did started, but it terminated unexpectedly and providing no error code. This is the situation for instance in which a serious bug leads to a segmentation fault. The log may provide useful information on the reason the crash happend.


Please consider making a bug report whenever a job fails.

Status done

Whenever the job terminates in a nice and controlled way it is flagged as done. This does not imples the optimization has been successful, but only that the solver has terminated its execution and returned a response code. To distinguish among the different scenarios OptServer also provides the solver response code, which clearly informs the user how and why the solver stopped.

For example

The log contains more detailed information.

10.3 User Page

In this page OptServer list its users, organized in a sortable table that report

  • the username
  • the full name,
  • the email and
  • the roles.

To get more information about the roles see Sec. 8 (Security).

In this page administrators can:

  • list the OptServer users,
  • delete/create users and
  • update user information.

An example of how the page looks like is in Fig. 6.


Fig. 6 A screenshot of the user page.

Add New User

A new user can be add using the form on top of the page. Compulsory fields are

  • Login,
  • Password.

A user is by default neither an administrator nor a submitter.

Modify an Existing User

Administrators can modify the user information by editing the relevant fields directly in the user list: just click with mouse pointer and edit!

Delete an Existing User

An existing user can be delete only by an administrator. This operation will not completely wipe out the user from the OptServer:

  • the job submitted by the user will still be listed,
  • all temporary files stored (problems and their log and solutions) will not be deleted.


If a new user with the same login name is created, it will take over all date from the deleted user!