This article only applies to the Classic JOC Interface

The Classic JOC user interface is entering retirement:

FEATURE AVAILABILITY ENDING WITH RELEASE 1.11

The JOC Cockpit user interface replaces the Classic JOC interface:

FEATURE AVAILABILITY STARTING FROM RELEASE 1.11

See the JOC Cockpit - Features Article as a starting point for links to articles about configuring the JOC Cockpit.

JobScheduler Operations Center

The JobScheduler Operations Center (JOC) is used to monitor and control the jobs, job chains and orders.
You open JOC in a browser with the URL:

  http://[scheduler_host]:[scheduler_port] (e.g. http://localhost:4444) 

where scheduler_host and scheduler_port are the hostname and the TCP port number of the JobScheduler.

Configuration via custom.js

The configuration file custom.js for JOC is stored in the ./config/operations_gui directory.

For releases < 1.3.9 you find the custom.js in the ./config/html directory.

In the custom.js are some variables which are defaults when the site is loaded but can be overwritten via cookies.

The custom.js of version 1.3.9 contains the following variables:

Cookie Behavior

Possible values are true and false.

If false then almost all following variables are stored in cookies, so that these settings are only default values and will be overwritten via the cookies.

If true then only filters are read from cookies whereat the defined correspondent filters in this file have priority.

 _disable_cookie_settings = false;

Language

Set the interface language.
A language file scheduler_lang_sos_lang.js_ (i.e. scheduler_lang_ru.js for Russian) must exist.

The language files are stored in the ./operations_gui directory beside the ./bin directory.

For releases < 1.3.9 you will find the language files in the ./config/html directory.

If this value is empty then no language files are included and English is used.

At the time of writing (December 2014) 'de' (German), 'fr' (French) and 'ru' (Russian) are supported.

 _sos_lang                = '';

If you want a user-defined language setting then check the example below.

Automatically Refresh

Possible values are true and false.
If true then the periodical page refresh is active.

 _update_periodically     = false;

Interval between the periodical page refresh in seconds.

 _update_seconds          = 5;

Views

You can switch between the tabs 'jobs', 'job_chains', 'process_classes' and 'last_activities' as the starting view.

 _show_card               = 'jobs';

For some tabs you can set the default view mode (list or tree).

 _view.jobs               = 'list';
 _view.job_chains         = 'list';

Checkboxes, Radios and Selectboxes

You can specify which checkboxes are checked (true) or unchecked (false).

 _checkbox_states.show_tasks_checkbox            = true;
 _checkbox_states.show_job_chain_orders_checkbox = true;
 _checkbox_states.show_job_chain_jobs_checkbox   = false;
 _checkbox_states.show_order_history_checkbox    = false;
 _checkbox_states.show_task_error_checkbox       = false;
 _checkbox_states.show_error_checkbox            = false;

You can specify the value of some radio buttons.

The possible values for last_activities_radios are 'all', 'orders' and 'tasks'.

 _radio_states.last_activities_radios = 'all';

You can specify the values of some selectboxes.

The possible values for show_jobs_select are 'all', 'standalone' and 'order'.

The possible values for jobs_state_select are 'all', 'running', 'stopped', 'running_or_stopped' and 'other'.

 _select_states.show_jobs_select      = 'all';
 _select_states.jobs_state_select     = 'all';

Number of Displayed Orders or Tasks

You can limit the number of orders that are displayed for job chains if the checkbox show orders is checked.

 _max_orders              = 10;

You can limit the number of orders and tasks that are displayed in the last activities tab.

 _max_last_activities     = 30;

Number of History Entries

Per default the last 50 entries are displayed from the order history and the last 10 entries from the task history respectively.

 _max_order_history       = 50;
 _max_task_history        = 10;

Timeout for Terminate

In the top menu you find an item terminated with timeout. Here you set the timeout in seconds.

 _terminate_timeout       = 60;

Default for 'Start at'

In start task/order dialogs the start time can be set to equal now per default. You can omit this.

 _start_at_default_is_now = true;

Start Task Unforced Now

Enables the additional job menu item Start task unforced now.

 _start_next_period_enabled  = false;

Debug Level

Possible values are 0-9.

A new window will open to write the debug information. A pop-up blocker should allow this.

 _debug_level             = 0;

Additional URLs In Extras Menu

You can add arbitrary URLs to the pop-up menu of the Extras button in the form:

 _extra_urls[ 'display name' ] = 'url';

For an example see below.

Aliases

You can set an URL mapping for the remote JobSchedulers if e.g. an Apache proxy configuration is used.

For more information about proxy configuration see How to operate JOC with an Apache Proxy.

Set an alias like this:

 _url_aliase[ 'remote_host:remote_port' ] = 'url';

Timezones

JOC display all timestamps in the local time of that host where you open the browser.

Since JobScheduler Release 1.8 a selectbox can used to switch between different timezones.

You can add timezones in the form:

_timezones[ 'display name' ] = 'timezone';

See here the supported time zones in JOC.

Example:

_timezones[ 'my company in Berlin' ] = 'Europe/Berlin';

 

With the variable _timezone_preselected you can set the time zone which is used when JOC starts.

Here you can use one of the keys from the above specified time zones. Further there are the keys 'local' for the local time of the browser and 'JobScheduler' for the time zone in which the JobScheduler works.

_timezone_preselected = 'my company in Berlin';

 

Hide some function or force a confirm

This feature is available since JobScheduler Release 1.8

In JOC you see functions e.g for start a job or an order etc. (see JOC - Basic Functions List).

Some of these function can be hidden or you can force a confirm before the execution.

_hide.terminate_jobscheduler = false;
_hide.pause_jobscheduler     = false;
_hide.continue_jobscheduler  = false;
_hide.restart_jobscheduler   = false;
_hide.stop_job_chain         = false;
_hide.unstop_job_chain       = false;
_hide.stop_job_chain_node    = false;
_hide.unstop_job_chain_node  = false;
_hide.skip_job_chain_node    = false;
_hide.unskip_job_chain_node  = false;
_hide.start_job              = false;
_hide.stop_job               = false;
_hide.unstop_job             = false;
_hide.set_job_run_time       = false;
_hide.kill_running_task      = false;
_hide.remove_enqueued_task   = false;
_hide.end_or_continue_or_suspend_tasks_of_api_job = true;
_hide.end_task_of_api_job    = true;
_hide.start_order            = false;
_hide.add_order              = false;
_hide.reset_order            = false;
_hide.set_order_state        = false;
_hide.suspend_order          = false;
_hide.resume_order           = false;
_hide.remove_order           = false;
_hide.remove_blacklist_order = false;
_hide.remove_setback         = false;
_hide.set_order_run_time     = false;
_hide.add_schedule           = false;
_hide.modify_schedule        = false;
_confirm.terminate_jobscheduler = false;
_confirm.pause_jobscheduler     = false;
_confirm.continue_jobscheduler  = false;
_confirm.restart_jobscheduler   = false;
_confirm.stop_job_chain         = false;
_confirm.unstop_job_chain       = false;
_confirm.stop_job_chain_node    = false;
_confirm.unstop_job_chain_node  = false;
_confirm.skip_job_chain_node    = false;
_confirm.unskip_job_chain_node  = false;
_confirm.start_job              = false;
_confirm.stop_job               = false;
_confirm.unstop_job             = false;
_confirm.set_job_run_time       = false;
_confirm.kill_running_task      = false;
_confirm.remove_enqueued_task   = true;
_confirm.end_or_continue_or_suspend_tasks_of_api_job = false;
_confirm.end_task_of_api_job    = false;
_confirm.start_order            = false;
_confirm.add_order              = false;
_confirm.reset_order            = false;
_confirm.set_order_state        = false;
_confirm.suspend_order          = false;
_confirm.resume_order           = false;
_confirm.remove_order           = true;
_confirm.remove_blacklist_order = false;
_confirm.remove_setback         = false;
_confirm.set_order_run_time     = false;
_confirm.add_schedule           = false;
_confirm.modify_schedule        = false;

Filters

For more information see How to store filters persistently that would not disappear after cleanup of cookies.

You can set filters for jobs, job chains and orders like this:

 _job_filter[ 'filter name' ]       = 'regular expression';
 _job_chain_filter[ 'filter name' ] = 'regular expression';
 _order_filter[ 'filter name' ]     = 'regular expression';

or use

 _project_filter[ 'filter name' ]   = 'regular expression';

which is effective for jobs, job chains and orders simultaneously.

A selectbox will be displayed with the filter names.
To specify which selectbox option is selected you can use

 _active_job_filter                 = 'name of the filter';
 _active_job_chain_filter           = 'name of the filter';
 _active_order_filter               = 'name of the filter';

or

 _active_project_filter             = 'name of the filter';

User-defined Configuration via my_custom.js

While the configuration file custom.js (see above) for JOC is always processed, you can create an additional configuration file, i.e. my_custom.js, to overwrite the settings from custom.js.

The file my_custom.js is processed when you type the URL:

 http://[scheduler_host]:[scheduler_port]/index.html#my_custom 

The name of the user-defined configuration file is arbitrary and has to be stored in the same directory as custom.js.
You can add multiple files as given in the following example 1.

Example 1

The language of JOC is per default English, however, some users want JOC in, for example, Russian or in French.
Create the file ru.js with the content:

 _sos_lang  = 'ru';

and create the file fr.js with the content:

 _sos_lang = 'fr';

After this JOC will display text in Russian if you type:

 http://[scheduler_host]:[scheduler_port]/index.html#ru

or:

 http://[scheduler_host]:[scheduler_port]/#ru) 

and in French if you type:

 http://[scheduler_host]:[scheduler_port]/index.html#fr

or:

 http://[scheduler_host]:[scheduler_port]/#fr. 

You can extend the example by using _extra_urls (see Example 2 below).

Example 2

After completing Example 1 above, add the following to the custom.js file:

 _extra_urls['english']  = 'http://[scheduler_host]:[scheduler_port]/index.html';
 _extra_urls['russian']  = 'http://[scheduler_host]:[scheduler_port]/index.html#ru';
 _extra_urls['french']   = 'http://[scheduler_host]:[scheduler_port]/index.html#fr';

If you now call JOC, you will find links for selecting the language in the right top Extras menu.

FAQs

See also: