Configuration
You can override the default configuration of Cockpit using a central configuration file
located in app/cockpit/scripts/config.js
. The following configuration options are
available:
Logo and Header Color
You can change the visual aspects of Cockpit. The user stylesheet file is located in
app/cockpit/styles/user-styles.css
. This file contains CSS which is loaded into Cockpit
and can override the standard styles.
/* hides the Camunda logo */
.app-banner svg {
display: none;
}
.app-banner {
/* hides the "Camunda Cockpit" text */
text-indent: 200vw;
/* put your logo */
background-image: url(./path/to/the/logo.png);
/* sets the width to match the logo's width */
width: 80px;
}
/* changes the header top border color */
.Header {
border-top-color: blue !important;
}
Note: you can also change the app name (Cockpit) and vendor (Camunda)
by changing the app/cockpit/scripts/config.js
configuration file as follow:
export default {
// …
app: {
name: 'Operations',
vendor: 'Company'
},
}
Localization
Cockpit can be localized. Camunda maintains English and German translation files. You can find and download community maintained translation files at the Camunda webapp translations repository.
The localization of Cockpit is contained in the app/cockpit/locales/
directory. This
directory contains a separate localization file for every available language. The file name
consists of the language code and the suffix .json
(e.g., en.json
).
Cockpit uses a locale file corresponding to the language settings of the browser. You can
set the availableLocales
property in the configuration file to provide a list of available
locales. Every locale which is contained in this list must have a locale file in the locales
directory with the corresponding language code.
If the browser uses a language which is not available, Cockpit uses the locale which is
defined via the fallbackLocale
property in the configuration file:
export default {
// …
"locales": {
"availableLocales": ["en", "de"],
"fallbackLocale": "en"
}
}
To create a new localization for Cockpit, copy the provided language file, translate it and save it as new localization file with the corresponding language code. To make the new translation available, add it to the list of available locales in the configuration file.
Custom Scripts
Cockpit allows you to include arbitrary JavaScript files. This allows you to extend Cockpit with custom code. The script file might contain a custom frontend module as described in Cockpit Plugins - Structure of a Frontend Module.
Add your files to the customScripts
property of the app/cockpit/scripts/config.js
file:
export default {
// …
customScripts:
['custom-module/module.js']
};
This includes a custom-module/module.js
file. The path is relative to the app/cockpit
folder in the Camunda webapp .war file.
You can find a complete example about how to use customScripts
to develop a Cockpit Plugin in the CIB seven examples repository.
Legacy Custom Scripts
Custom Scripts created for CIB seven.13 or earlier can be included using the requireJsConfig
property to the app/cockpit/scripts/config.js
. You can include these custom scripts using the custom requireJS configuration.
export default {
// …
requireJsConfig: {
// names of angular modules defined in your custom script files.
// will be added to the 'cam.cockpit.custom' as dependencies
ngDeps: ['my.custom.module'],
// RequireJS modules to load.
deps: ['custom-ng-module'],
// RequreJS path definitions
paths: {
'custom-ng-module': '../custom-ng-module/script'
}
}
}
For more details about legacy Plugins, check out the legacy Plugin documentation. Please note that this link will take you to the documentation of Camunda 7.13 .
BPMN Diagram Viewer (bpmn.js)
The diagram viewer (bpmn.js) can be either customized by moddle extensions or
additional modules. To extend the BPMN diagram viewer
of Cockpit, a bpmnJs
property must be added to the app/cockpit/scripts/config.js
file.
Additional Modules
To add modules, the additionalModules
property needs to be specified, where each module is registered with its path. The path is relative to the app/cockpit
folder in the .war file of the Camunda Webapp.
export default {
// …
bpmnJs: {
additionalModules: [
'my-custom-module/module'
]
}
}
You can find an example on how to add an additional bpmn.js module to Cockpit in the CIB seven examples repository.
Moddle Extensions
The BPMN moddle can be extended by adding a moddleExtensions
property. Each moddle extension has a unique name (key)
and a path (value) to the JSON file of the moddle extension. The path is relative to the app/cockpit
folder in the
.war file of the Camunda Webapp. The suffix .json
of the file is added automatically and must not be specified.
export default {
// …
bpmnJs: {
moddleExtensions: {
camunda: 'my-custom-moddle/camunda'
}
}
}
skipCustomListeners and skipIoMappings Flags
You can configure the skipCustomListeners and the skipIoMappings flag globally for cockpit by adding a skipCustomListeners
or skipIoMappings
property in app/cockpit/scripts/config.js
:
export default {
skipCustomListeners: {
default: true, // default value for skipCustomListeners is true
hidden: false // skipCustomListeners checkbox is not hidden
},
skipIoMappings: {
default: true, // default value for skipIoMappings is true
hidden: false // skipIoMappings checkbox is not hidden
}
};
By default (if not configured), the flag value is true
. However, you can set the default value of the flag (true | false
)
in the default
property in the configuration.
Moreover, the checkbox to enable/disable the option is by default not hidden in Cockpit. You can set this behaviour by configuring the property
hidden
(true | false
) in the configuration. If the hidden
value is configured to be false, then the checkbox
will be hidden everywhere in Cockpit.
Runtime Activity Instance Metrics (Process Definition)
export default {
runtimeActivityInstanceMetrics: {
display: true
}
};
By default the activity instance statistics are displayed for the runtime view of the process definition.
Hence, the default value of the display
flag is true
. If the statistics shouldn’t be displayed initially process definition runtime view is opened, the display
option needs to be set to false
.
In any case does the toggle button allow to display/remove the statistics on demand.
Historic Activity Instance Metrics
export default {
historicActivityInstanceMetrics: {
adjustablePeriod: true,
//select from the default time period: day, week, month, complete
period: {
unit: 'day'
}
}
};
By default, the adjustablePeriod
flag value is true
. Setting it to false disables the ability in the process definition history view to manually select the time period for which the activity instances are displayed.
the unit
property of period
allows to specify the default timer period for which the activity instance badges are supposed to be shown.
Here it is possible to select form the range of values: today
, week
,month
,complete
;
Default Filter for the Historic Process Instances Search
export default {
defaultFilter: {
historicProcessDefinitionInstancesSearch: {
lastDays: 5,
event: 'started'
}
}
};
A default filter can be applied for the historic process instances search on the historic process definition view. Like this, it is possible to reduce the amount of instances which are being retrieved at the same time.
It is configurable, for how many days in the past instances are queried based on the start or the end time of historic process instances.
- The property
lastDays
specifies the numeric amount of days in the past based on the current time - The property
event
can be either set to ‘started’ or ’ended’
Change CSRF Cookie Name
The default name of the CSRF Cookie is XSRF-TOKEN
. When using other applications within the
same-origin, the CSRF mechanisms could interfere with each other. To avoid the name conflict, you
can change the name of the CSRF cookie in the config.js
file as follows:
export default = {
// …
csrfCookieName: 'MY-XSRF-TOKEN'
};
Note: Please make sure to change the CSRF cookie name also on server-side.
Disable Welcome Message for new Users
First-time visitors are shown a message directing them to the camunda welcome page. If you do
not want this message to be shown, you can disable it by adjusting the config.js
as follows:
export default = {
// …
disableWelcomeMessage: true
};
Note: This does only affect the Cockpit login page. For other webapps, you need to adjust the corresponding config file as well.
User Operation Log Annotation Length
The default maximum length of a User Operation Log annotation is 4000 characters. Some databases have smaller limits. You can change the maximum allowed input length in the config.js
file as follows:
export default = {
// …
userOperationLogAnnotationLength: 4000
};
Note: This does only affect the Cockpit Operation Log. For the Admin Operation Log, check out the Admin Configuration.
Preview Deployed Embedded Forms
You can view a preview of embedded forms and other HTML files in the Cockpit deployment view. If the HTML has embedded <script>
tags, they will be executed, which may have unintended side-effects. You can disable this feature if you don’t trust your deployed HTML files in the config.js
file as follows:
export default = {
// …
previewHtml: false
};