Preferences Listing
The following preference settings are available for the various application features. To use them in your settings file, remember to prefix each setting with the package name.
eg. for the ‘drop_failed_archives’ preference in the ‘trends.databrowser3’ section (package name ‘org.csstudio.trends.databrowser3’) add a line like:
org.csstudio.trends.databrowser3/drop_failed_archives=true
- org.csstudio.archive[source]
- org.csstudio.archive/url = jdbc:mysql://localhost/archive?rewriteBatchedStatements=true
RDB URL for archived data
Oracle example url=jdbc:oracle:thin:user/password@//172.31.73.122:1521/prod
PostgreSQL example url=jdbc:postgresql://localhost/archive
MySQL example
- org.csstudio.archive/user = archive
RDB user and password Some applications also provide command-line option to override.
- org.csstudio.archive/password = $archive
- org.csstudio.archive/schema =
Schema name. Used with an added “.” as prefix for table names. For now this is only used with Oracle URLs and ignored for MySQL
- org.csstudio.archive/timeout_secs = 0
Timeout [seconds] for certain SQL queries Fundamentally, the SQL queries for data take as long as they take and any artificial timeout just breaks queries that would otherwise have returned OK few seconds after the timeout. We’ve seen Oracle lockups, though, that caused JDBC to hang forever because the SAMPLE table was locked. No error/exception, just hanging. A timeout is used for operations other than getting the actual data, for example the channel id-by-name query which _should_ return within a shot time, to catch that type of RDB lockup. timeout_secs=120 With PostgreSQL, the setQueryTimeout API is not implemented, and calling it results in an exception. Setting the timeout to 0 disables calls to setQueryTimeout.
- org.csstudio.archive/use_array_blob = true
Use a blob to read/write array samples?
The original SAMPLE table did not contain an ARRAY_VAL column for the array blob data, but instead used a separate ARRAY_VAL table. When running against an old database, this parameter must be set to false.
- org.csstudio.archive/write_sample_table = sample
Name of sample table for writing
- org.csstudio.archive/max_text_sample_length = 80
Maximum length of text samples written to SAMPLE.STR_VAL
- org.csstudio.archive/use_postgres_copy = false
Use postgres copy instead of insert
- org.csstudio.archive/equivalent_pv_prefixes = ca, pva
Channel names use a prefix ca://, pva://, loc://, … to select the type of PV or network protocol. The preference setting
org.phoebus.pv/default=ca
determines the default type when no prefix is provided.
With EPICS IOCs from release 7 on, the PVs “xxx”, “ca://xxx” and “pva://xxx” all refer to the same record “xxx” on the IOC.
The archive configuration stores the PV name as given. It is used as such when connecting to the live data source, resulting in “ca://..” or “pva://..” connections as requested. Samples are written to the archive under that channel name.
This archive engine preference setting establishes one or more prefixes as equal when importing an engine configuration. For example, assume
equivalent_pv_prefixes=ca, pva
When adding a PV “pva://xxx” to the configuration, we check if the archive already contains a channel “xxx”, “ca://xxx” or “pva://xxx”. If any of them are found, the -import will consider “pva://xxx” as a duplicate.
When importing a PV “pva://xxx” into a sample engine configuration that already contains the channel “ca://xxx” or “xxx”, the channel will be renamed, so that engine will from now on use “pva://xxx”.
When importing a PV “pva://xxx” into a configuration that already contains a different engine setup with the channel “ca://xxx” or “xxx”, the channel will by default rename unchanged, so “ca://xxx” or “xxx” will remain in their original engine setup, “pva://xxx” will be skipped.
When using -import with the additional -steal_channels option, the existing “…xxx” channel will be renamed to “pva://xxx” and moved to the imported engine configuration.
When equivalent_pv_prefixes is empty, any PV name is used as is without looking for equivalent names. So “xxx”, “ca://xxx” and “pva://xxx” can then all be imported as separate channels, which is likely wrong because it would simply store data from the same underlying record more than once.
This default should be the most practical setting when adding EPICS 7 IOCs and starting to transition towards “pva://..”. Existing “xxx” or “ca://xxx” channels can thus be renamed to “pva://xxx” while retaining their sample history.
Note that the data browser has a similar equivalent_pv_prefixes setting to search for a channel name in several variants.
- org.csstudio.archive/log_trouble_samples = 86400
Seconds between log messages for Not-a-Number, futuristic, back-in-time values, buffer overruns 24h = 24*60*60 = 86400
- org.csstudio.archive/log_overrun = 86400
- org.csstudio.archive/write_period = 30
Write period in seconds
- org.csstudio.archive/max_repeats = 60
Maximum number of repeat counts for scanned channels
- org.csstudio.archive/batch_size = 500
Write batch size
- org.csstudio.archive/buffer_reserve = 2.0
Buffer reserve (N times what’s ideally needed)
- org.csstudio.archive/ignored_future = 86400
Samples with time stamps this far ahead of the local time are ignored 24*60*60 = 86400 = 1 day
- org.csstudio.archive.ts[source]
- org.csstudio.archive.ts/user = report
User and password for reading archived data
- org.csstudio.archive.ts/password = $report
- org.csstudio.archive.ts/timeout_secs = 120
Timeout [seconds] for certain SQL queries, 0 to disable timeout. Fundamentally, the SQL queries for data take as long as they take and any artificial timeout just breaks queries that would otherwise have returned OK a few seconds after the timeout. A timeout is used for operations other than getting the actual data, for example the channel id-by-name query which _should_ return within a short time.
- org.csstudio.archive.ts/fetch_size = 10000
JDBC Statement ‘fetch size’: Number of samples to read in one network transfer. Speed tends to increase with fetch size. On the other hand, bigger numbers can result in java.lang.OutOfMemoryError.
- org.csstudio.display.builder.editor[source]
Widget types to hide from the palette
Comma separated list of widget types that will not be shown in the palette. Existing displays that use these widgets can still be edited and executed, but widgets do not appear in the palette to discourage adding them to new displays.
Hiding widgets where representation has not been imported because of dependencies
- org.csstudio.display.builder.editor/new_display_template = examples:/initial.bob
GUI Menu action Applications / Display / New Display opens the following template
- org.csstudio.display.builder.editor/undo_stack_size = 50
Size of undo stack. Defaults to 50 if not set.
- org.csstudio.display.builder.model[source]
- org.csstudio.display.builder.model/class_files = examples:classes.bcf
Widget classes One or more *.bcf files, separated by ‘;’ Defaults to built-in copy of examples/classes.bcf
- org.csstudio.display.builder.model/color_files = examples:color.def
Named colors One or more *.def files, separated by ‘;’ Defaults to built-in copy of examples/color.def
- org.csstudio.display.builder.model/font_files = examples:font.def
Named fonts One or more *.def files, separated by ‘;’ Defaults to built-in copy of examples/font.def
- org.csstudio.display.builder.model/macros =
Global macros, used for all displays.
Displays start with these macros, and can then add new macros or overwrite the values of these macros.
Format: Entries where the XML tag name is the macro name, and the XML content is the macro value. The macro name must be a valid XML tag name: * Must start with character * May then contain characters or numbers * May also contain underscores E.g.
macros=<EXAMPLE_MACRO>Value from Preferences</EXAMPLE_MACRO><TEST>true</TEST>
- org.csstudio.display.builder.model/read_timeout = 10000
Timeout [ms] for loading files: Displays, but also color, font, widget class files
- org.csstudio.display.builder.model/cache_timeout = 60
Timeout [sec] for caching files loaded from a URL
- org.csstudio.display.builder.model/legacy_font_calibration = 1.01
‘BOY’ *.opi files provide the font size in ‘points’. All other positions and sizes are in ‘pixels’. A point is meant to represent 1/72th of an inch. The actual on-screen size display settings. Plugging a different monitor into the computer can potentially change the DPI settings of the graphics driver, resulting in different font sizes. The display builder uses fonts in pixels to avoid such changes.
When reading legacy display files, we do not know the DPI scaling that was used to create the display. This factor is used to translate legacy font sizes from ‘points’ into ‘pixel’:
legacy_points = pixel * legacy_font_calibration
- The test program
org.csstudio.display.builder.representation.swt.SWTFontCalibation
can be used to obtain the factor when executed on the original platform where the legacy display files were created.
When loading legacy files, _increasing_ the legacy_font_calibration will result in _smaller_ fonts in the display builder
- org.csstudio.display.builder.model/max_reparse_iterations = 5000
Maximum re-parse operations
When reading legacy *.opi files and for example finding a “TextUpdate” widget that has no <pv_name>, it will be changed into a “Label” widget and then re-parsed. If more than a certain number of re-parse operations are triggered within one ‘level’ of the file (number of widgets at the root of the display, or number of childred for a “Group” widget), the parser assumes that it entered an infinite re-parse loop and aborts.
- org.csstudio.display.builder.model/with_comments = false
Create display file with comments?
- org.csstudio.display.builder.model/skip_defaults = true
When writing a display file, skip properties that are still at default values?
- org.csstudio.display.builder.model/enable_saved_on_comments = false
Add a comment containing the date, time, and username when saving an OPI in the Display Editor.
- org.csstudio.display.builder.model/org.csstudio.display.builder.model/enable_svg_rendering_resolution_factor = false
Enable the “SVG Rendering Resolution Factor” widget property to the Symbol and Picture widgets. This functionality can enable a sharper image when zooming in, at the expense of a quadratic increase in memory consumption. E.g., by setting the SVG rendering resolution factor to 2.0, an SVG can be rendered at twice the width and twice the height, but the memory required to represent the image grows by a factor of four.
- org.csstudio.display.builder.representation[source]
# Representation Tuning
The representation ‘throttles’ updates to widgets. When a widget requests an update, a little accumulation time allows more updates to accumulate before actually performing the queued update requests on the UI thread.
An update delay then suppresses further updates to prevent flooding the UI thread.
Update runs that last longer than a threshold can be logged
- org.csstudio.display.builder.representation/update_accumulation_time = 20
Time waited after a trigger to allow for more updates to accumulate
- org.csstudio.display.builder.representation/update_delay = 100
Pause between updates to prevent flooding the UI thread
- org.csstudio.display.builder.representation/performance_log_period_secs = 5
Period in seconds for logging update performance
- org.csstudio.display.builder.representation/performance_log_threshold_ms = 20
UI thread durations above this threshold are logged
- org.csstudio.display.builder.representation/plot_update_delay = 250
Pause between updates of plots (XY, lines) Limit to 250ms=4 Hz
- org.csstudio.display.builder.representation/image_update_delay = 250
Pause between updates of image plots Limit to 250ms=4 Hz
- org.csstudio.display.builder.representation/tooltip_length = 200
Length limit for tool tips Tool tips that are too long can be a problem on some window systems.
- org.csstudio.display.builder.representation/embedded_timeout = 5000
Timeout for load / unload of Embedded Widget content [ms]
- org.csstudio.display.builder.representation.javafx[source]
- org.csstudio.display.builder.representation.javafx/inc_dec_slider = true
When clicking on the ‘slider’ widget ‘track’, should the value increment/decrement, matching the behavior of EDM, BOY, …? Otherwise, jump to the clicked value right away.
- org.csstudio.display.builder.representation.javafx/tooltip_delay_ms = 250
How does mouse need to hover until tool tip appears?
- org.csstudio.display.builder.representation.javafx/tooltip_display_sec = 30
Once displayed, how long does the tool tip remain visible?
Note that for historic reasons tool tips are also influenced by the property org.csstudio.display.builder.disable_tooltips. When true, tool tips are disabled.
- org.csstudio.display.builder.representation.javafx/pick_on_bounds = false
Determines whether the mouse can interact with the bounds of the symbol widget. If false, interaction is limited to the visible area of the element.
- org.csstudio.display.builder.runtime[source]
- org.csstudio.display.builder.runtime/python_path =
Search path for Jython scripts used by the display runtime. Note that format depends on the OS. On UNIX systems, path entries are separated by ‘:’, on Windows by ‘;’. python_path=/home/controls/displays/scripts:/home/fred/my_scripts
- org.csstudio.display.builder.runtime/pv_name_patches = \\{"longString":true\\}"@@^="([a-zA-Z]+)"@loc://str$1("$1")
PV Name Patches
Translate PV names based on regular expression pattern and replacement
Format: pattern@replacement@pattern@replacement
Setting must contain a sequence of pattern & replacement pairs, all separated by ‘@’.
The regular expression for the pattern can includes “( )” groups, which are then used in the replacement via “$1”, “$2”, ..
If the item separator character ‘@’ itself is required within the pattern or replacement, use ‘[@]’ to distinguish it from the item separator, i.e.
[@]work@[@]home
will patch “be@work” -> “be@home”
Patches are applied in the order they’re listed in the preference, i.e. later patches are applied to names already patched by earlier ones.
Example: Remove PVManager’s longString modifier, ‘some_pv {“longString”:true}’ -> ‘some_pv’ turn constant formula into constant local variable, ‘=42’ -> ‘loc://const42(42)’ as well as constant name into constant local var, ‘=”Fred”’ -> ‘loc://strFred(“Fred”)’
- org.csstudio.display.builder.runtime/update_throttle = 250
PV update throttle in millisecs 250ms = 4 Hz
- org.csstudio.display.builder.runtime/probe_display = examples:/probe.bob
“Probe Display” Added to context menu for ProcessVariables, invoked with macro PV set to the PV name. When left empty, the “Probe Display” context menu entry is disabled.
- org.csstudio.display.builder.runtime/default_zoom_factor = 100
Default zoom factor (percentage) of display runtime window
- org.csstudio.display.converter.edm[source]
- org.csstudio.display.converter.edm/auto_converter_dir =
Path to the directory where the auto-converter will generate auto-converted files. May include system properties like $(user.home). Target directory must be in the file system. The folder is created if it doesn’t exist.
When left empty, the auto-converter is disabled.
- org.csstudio.display.converter.edm/auto_converter_strip =
Path (prefix) that will be stripped from the original EDM file name before converting. When empty, the complete path will be stripped.
- For example, assume we need to convert
/path/to/original/vacuum/segment1/vac1.edl
With an empty auto_converter_strip, this will be converted into {auto_converter_dir}/vac1.edl
With auto_converter_strip=/path/to/original, it will be converted into {auto_converter_dir}/vacuum/segment1/vac1.edl
- org.csstudio.display.converter.edm/colors_list =
EDM colors.list file Must be defined to use converter. May be a file system path or http:/.. link
- org.csstudio.display.converter.edm/font_mappings = helvetica=Liberation Sans,courier=Liberation Mono,times=Liberation Serif,.*=Liberation Sans
Font mappings
Format: EDMFontPattern=DisplayBuilderFont,Pattern=Font,… EDMFontPattern is regular expression for the name used by EDM
Patterns are checked in the order in which they’re listed in here, so a catch-all “.*” pattern should be at the end
- org.csstudio.display.converter.edm/edm_paths_config =
Path to text file that lists EDM search paths. May be a file system path or http:/.. link.
In the file, each line in the text file contains a path, which may be a file system path or a http:// link. When trying to open an *.edl file, converter will try each path in the order listed in the file. Lines starting with “#” are ignored.
When the edm_paths_config is left empty, the converter won’t find files.
- org.csstudio.display.converter.edm/stp_path_patch_pattern =
Pattern and replacement for patching paths to *.stp (StripTool) files
‘Shell Command’ buttons in EDM that invoke a command of the form
StripTool /some/path/to/plot.stp
are converted into ActionButtons which open the /some/path/to/plot.stp file. Data Browser will then open the file when the action is invoked.
The following regular expression pattern and replacement can be used to patch /some/path/to/plot.stp. By default, both are empty, so the path remains unchanged.
Example for transforming all absolute paths into a web location:
stp_path_patch_pattern=^(/) stp_path_patch_replacement=https://my_web_server/stripcharts$1
Note how the pattern may include group markers (..) and the replacement can reference them via $1, $2, …
- org.csstudio.display.converter.edm/stp_path_patch_replacement =
- org.csstudio.display.converter.edm/strip_close_button = true
Strip “close” buttons which are not needed in Phoebus tabs and windows
- org.csstudio.javafx.rtplot[source]
- org.csstudio.javafx.rtplot/shady_future = 128, 128, 128, 128
Coloring used to shade plot region beyond ‘now’ in time-based plots. RGBA (all values 0..255) Painted on on top of grid, before traces are drawn.
Half-transparent, average of black & white, works for both white and black backgrounds
If you prefer a rose-colored future shady_future=255, 128, 128, 25
If you prefer to not highlight the plot region beyond ‘now’ shady_future=128, 128, 128, 0
- org.csstudio.scan.client[source]
- org.csstudio.scan.client/host = localhost
Name of host where scan server is running
- org.csstudio.scan.client/port = 4810
TCP port of scan server REST interface
- org.csstudio.scan.client/poll_period = 1000
Poll period [millisecs] of the scan client (scan monitor, plot, …)
- org.csstudio.scan.ui[source]
- org.csstudio.scan.ui/monitor_status = false
Show scan monitor status bar?
- org.csstudio.trends.databrowser3[source]
- org.csstudio.trends.databrowser3/use_auto_scale = false
Default auto scale value Possible values are: true to enable the automatic calculation of the min/max Y-axis, or false to use min/max fixed values.
- org.csstudio.trends.databrowser3/time_span = 3600
Default time span displayed in plot in seconds
- org.csstudio.trends.databrowser3/scan_period = 0.0
Default scan period in seconds. 0 for ‘monitor’
- org.csstudio.trends.databrowser3/update_period = 3.0
Default plot update period in seconds
- org.csstudio.trends.databrowser3/live_buffer_size = 5000
- org.csstudio.trends.databrowser3/line_width = 2
Default line width
- org.csstudio.trends.databrowser3/opacity = 40
- Opacity of ‘area’
0%: Area totally transparent (invisible)
20%: Area quite transparent
100%: Area uses solid color
- org.csstudio.trends.databrowser3/trace_type = AREA
Default trace type for newly created traces. Allowed values are defined by org.csstudio.trends.databrowser3.model.TraceType: AREA, ERROR_BARS, SINGLE_LINE, AREA_DIRECT, SINGLE_LINE_DIRECT, SQUARES, …
- org.csstudio.trends.databrowser3/archive_fetch_delay = 500
Delay in milliseconds that delays archive requests when the user moves the time axis to avoid a flurry of archive requests while interactively zooming and panning
- org.csstudio.trends.databrowser3/concurrent_requests = 1000
Number of concurrent archive fetch requests. When more requests are necessary, the background jobs will wait until the previously submitted jobs complete, to limit the number of concurrent requests.
Ideally, the number can be high, but to limit the number of concurrent requests to for example an RDB, this value can be lowered.
Note that this does not apply to ‘exporting’ data in spreadsheet form, where data for N channels is still collected by reading from N concurrent archive readers.
- org.csstudio.trends.databrowser3/plot_bins = -3
Number of binned samples to request for optimized archive access. Negative values scale the display width, i.e. -3 means: 3 times Display pixel width.
- org.csstudio.trends.databrowser3/urls = jdbc:mysql://localhost/archive|RDB*xnds://localhost/archive/cgi/ArchiveDataServer.cgi
Suggested data servers Format: <url>*<url>|<name> List of URLs, separated by ‘*’. Each URL may be followed by an “|alias”
RDB URLs jdbc:mysql://localhost/archive
Archive Appliance pbraw://arcapp01.site.org:17668/retrieval
Channel Archiver Network Data Server xnds://localhost/archive/cgi/ArchiveDataServer.cgi
Channel Archiver index file (binary) or index.xml (list of indices) cadf:/path/to/index cadf:/path/to/index.xml
- org.csstudio.trends.databrowser3/archives = jdbc:mysql://localhost/archive|RDB*xnds://localhost/archive/cgi/ArchiveDataServer.cgi
Default data sources for newly added channels Format: Same as ‘urls’
- org.csstudio.trends.databrowser3/use_default_archives = false
When opening existing data browser plot, use archive data sources specified in the configuration file (original default) or ignore saved data sources and instead use the preference settings?
- org.csstudio.trends.databrowser3/drop_failed_archives = true
If there is an error in retrieving archived data, should that archive data source be dropped from the channel? This is meant to avoid needless queries to archives that cannot be accessed. Note that archive data sources which clearly report a channel as “not found” will still be dropped. This option only configures if data sources which return an error (cannot connect, …) should be queried again for the given channel.
- org.csstudio.trends.databrowser3/equivalent_pv_prefixes = ca, pva
With EPICS IOCs from release 7 on, the PVs “xxx”, “ca://xxx” and “pva://xxx” all refer to the same record “xxx” on the IOC.
When the plot requests “pva://xxx”, the archive might still trace that channel as “ca://xxx” or “xxx”. Alternatively, the archive might already track the channel as “pva://xxx” while data browser plots still use “ca://xxx” or just “xxx”. This preference setting instructs the data browser to try all equivalent variants. If any types are listed, just “xxx” without any prefix will also be checked in addition to the listed types.
The default of setting of “ca, pva” supports the seamless transition between the key protocols.
When equivalent_pv_prefixes is empty, the PV name is used as is without looking for any equivalent names.
- org.csstudio.trends.databrowser3/archive_rescale = STAGGER
Re-scale behavior when archived data arrives: NONE, STAGGER
- org.csstudio.trends.databrowser3/time_span_shortcuts = 30 Minutes,-30 min|1 Hour,-1 hour|12 Hours,-12 hour|1 Day,-1 days|7 Days,-7 days
Shortcuts offered in the Time Axis configuration Format: Text for shortcut,start_spec|Another shortcut,start_spec
- org.csstudio.trends.databrowser3/plt_repository = /opt/codac/opi/databrowser/
It is a path to the directory where the PLT files for WebDataBrowser are placed.
- org.csstudio.trends.databrowser3/automatic_history_refresh = true
Automatically refresh history data when the liver buffer is full This will prevent the horizontal lines in the shown data when the buffer is too small to cover the selected time range
- org.csstudio.trends.databrowser3/scroll_step = 5
Scroll step, i.e. size of the ‘jump’ left when scrolling, in seconds. (was called ‘future_buffer’)
- org.csstudio.trends.databrowser3/use_trace_names = true
Display the trace names on the Value Axis the default value is “true”. “false” to not show the trace names on the Axis
- org.csstudio.trends.databrowser3/prompt_for_raw_data_request = true
Prompt / warn when trying to request raw data?
- org.csstudio.trends.databrowser3/prompt_for_visibility = true
Prompt / warn when making trace invisible?
- org.csstudio.trends.databrowser3/time_span_shortcuts = 30 Minutes,-30 min|1 Hour,-1 hour|12 Hours,-12 hour|1 Day,-1 days|7 Days,-7 days
Shortcuts offered in the Time Axis configuration Format: Text for shortcut,start_spec|Another shortcut,start_spec
- org.csstudio.trends.databrowser3/config_dialog_supported = false
Determines if the plot runtime config dialog is supported. Defaults to false as the Data Browser offers the same functionality through its configuration tabs.
- org.csstudio.trends.databrowser3/value_axis_label_policy = pv-name
Determines default value axis label policy. Supported options: pv-name: classic policy. Default if this property is not set or set to an unsupported value. pv-desc: use DESC field, if available from PV and non-empty. Works only with pva.
- org.csstudio.trends.databrowser3/assign_pvs_from_clipboard_to_the_same_axis_by_default = false
Determines whether, by default, in the “Add PV(s) from the Clipboard”-window, the option to add all PVs to the same axis is enabled (when ‘true’), or whether the option to add all PVs to different axes is enabled (when ‘false’).
- org.phoebus.app.viewer3d[source]
- org.phoebus.app.viewer3d/read_timeout = 10000
Time out for reading from a URI
- org.phoebus.app.viewer3d/default_dir = $(user.home)
Default directory for the file chooser.
- org.phoebus.app.viewer3d/cone_faces = 8
Cone is approximated with these many faces. 3: Triangular base, most minimalistic 8: Looks pretty good Higher: Approaches circular base, but adds CPU & memory usage and doesn’t really look much better
- org.phoebus.applications.alarm[source]
- org.phoebus.applications.alarm/server = localhost:9092
Kafka Server host:port
- org.phoebus.applications.alarm/kafka_properties =
A file to configure the properties of kafka clients
- org.phoebus.applications.alarm/config_name = Accelerator
Name of alarm tree root. Configures the alarm configuration used by the alarm server. For the UI, it sets the default alarm configuration.
- org.phoebus.applications.alarm/config_names = Accelerator, Demo
Names of selectable alarm configurations for UI. The config_name will be used as the default for newly opened tools, and if config_names is empty, it remains the only option. When one or more comma-separated configurations are listed, the UI shows the selected name and allows switching between them.
- org.phoebus.applications.alarm/connection_timeout = 30
Timeout in seconds for initial PV connection
- org.phoebus.applications.alarm/severity_pv_timeout = 5
Timeout in seconds for “sevrpv:” updates
# Area Panel
- org.phoebus.applications.alarm/alarm_area_level = 2
Item level for alarm area view: 1 - Root element 2 - Top-level “area” elements just below root 3 - Show all the items at level 3
- org.phoebus.applications.alarm/alarm_area_column_count = 3
Number of columns in the alarm area view
- org.phoebus.applications.alarm/alarm_area_gap = 5
Gap between alarm area panel items
- org.phoebus.applications.alarm/alarm_area_font_size = 15
Font size for the alarm area view
Limit for the number of context menu items. Separately applied to the number of ‘guidance’, ‘display’ and ‘command’ menu entries.
- org.phoebus.applications.alarm/alarm_tree_startup_ms = 2000
Initial Alarm Tree UI update delay [ms]
The initial flurry of alarm tree updates can be slow to render. By allowing the alarm client to accumulate alarm tree information for a little time and then performing an initial bulk representation, the overall alarm tree startup can be faster, especially when the UI is viewed via a remote desktop
Set to 0 for original implementation where all alarm tree items are added to the model as they are received in initial flurry of updates.
- org.phoebus.applications.alarm/alarm_table_columns = Icon, PV, Description, Alarm Severity, Alarm Message, Alarm Time, Alarm Value, PV Severity, PV Message
Order of columns in alarm table Allows re-ordering as well as omitting columns The supported columns are: Icon, PV, Description, Alarm Severity, Alarm Message, Alarm Time, Alarm Value, PV Severity, PV Message
- org.phoebus.applications.alarm/alarm_table_color_legacy_background = true
By default, the alarm table uses the common alarm severity colors for both the text color and the background of cells in the “Severity” column.
Older implementations always used the background to indicate alarm severity, and this options emulates that by using the alarm severity text(!) color for the background, automatically using black or white for the text based on brightness.
- org.phoebus.applications.alarm/alarm_table_max_rows = 2500
Alarm table row limit If there are more rows, they’re suppressed
- org.phoebus.applications.alarm/command_directory = $(user.home)
Directory used for executing commands May use Java system properties like this: $(prop_name)
- org.phoebus.applications.alarm/annunciator_threshold = 3
The threshold of messages that must accumulate before the annunciator begins to simply state: “There are X Alarm messages.”
- org.phoebus.applications.alarm/annunciator_retention_count = 100
The number of messages the annunciator will retain before popping messages off the front of the message queue.
- org.phoebus.applications.alarm/idle_timeout = 10
Timeout in seconds at which server sends idle state updates for the ‘root’ element if there’s no real traffic. Client will wait 3 times this long and then declare a timeout.
- org.phoebus.applications.alarm/automated_email_sender = Alarm Notifier <alarm_server@example.org>
Name of the sender, the ‘from’ field of automated email actions
- org.phoebus.applications.alarm/automated_action_followup = mailto:, cmd:, infopv:
Comma-separated list of automated actions on which to follow up Options include mailto:, cmd:
- org.phoebus.applications.alarm/heartbeat_pv =
Optional heartbeat PV When defined, alarm server will set it to 1 every heartbeat_secs heartbeat_pv=Demo:AlarmServerHeartbeat
- org.phoebus.applications.alarm/heartbeat_secs = 10
Heartbeat PV period in seconds
- org.phoebus.applications.alarm/nag_period = 00:15:00
Period for repeated annunciation
If there are active alarms, i.e. alarms that have not been acknowleded, a message “There are 47 active alarms” will be issued
Format is HH:MM:SS, for example 00:15:00 to nag every 15 minutes. Set to 0 to disable
- org.phoebus.applications.alarm/connection_check_secs = 5
Connection validation period in seconds
Server will check the Kafka connection at this period. After re-establishing the connection, it will re-send the state of every alarm tree item. Set to 0 to disable.
- org.phoebus.applications.alarm/disable_notify_visible = false
To turn on disable notifications feature, set the value to true
- org.phoebus.applications.alarm/shelving_options = 1 hour, 6 hours, 12 hours, 1 day, 7 days, 30 days
Options for the “Disable until..” shortcuts in the PV config dialog
Comma separated, each option needs to comply with TimeParser.parseTemporalAmount(): 30 seconds, 5 minutes, 1 hour, 6 hours, 1 day, 30 days, …
- org.phoebus.applications.alarm/macros = TOP=/home/controls/displays,WEBROOT=http://localhost/controls/displays
Macros for UI display, command or web links
Format: M1=Value1, M2=Value2
- org.phoebus.applications.alarm/max_block_ms = 10000
Max time in ms a producer call will block.
- org.phoebus.applications.alarm.audio.annunciator[source]
The audio annunciator will play the audio files specified for the associated alarm severity levels. Currently supported formats are AIFF and WAV files. examples of audio file URL’s, they can be local or remote files. file:/C:/tmp/audio/AudioFileWithWavFormat.wav https://wavlist.com/wav/brass1.wav
- org.phoebus.applications.alarm.audio.annunciator/alarm_sound_url =
default alarm sound, if we don’t want severity specific sounds only setting this one preference is enough
- org.phoebus.applications.alarm.audio.annunciator/minor_alarm_sound_url =
- org.phoebus.applications.alarm.audio.annunciator/major_alarm_sound_url =
- org.phoebus.applications.alarm.audio.annunciator/invalid_alarm_sound_url =
- org.phoebus.applications.alarm.audio.annunciator/undefined_alarm_sound_url =
- org.phoebus.applications.alarm.audio.annunciator/volume = 100
audio clip volume (0-100)
- org.phoebus.applications.alarm.audio.annunciator/max_alarm_duration = 10
max alarm Duration in seconds.
- org.phoebus.applications.alarm.logging.ui[source]
- org.phoebus.applications.alarm.logging.ui/service_uri = http://localhost:9000
The URL of the REST API exposed by the alarm logger service (not the elasticsearch port as it was prior to Phoebus 4.0)
- org.phoebus.applications.alarm.logging.ui/results_max_size = 10000
- org.phoebus.applications.console[source]
- org.phoebus.applications.console/output_line_limit = 100
Number of output lines to keep. Older output is dropped.
- org.phoebus.applications.console/history_size = 20
Number of lines to keep in input history, accessible via up/down cursor keys
- org.phoebus.applications.console/font_name = Liberation Mono
Font name and size
- org.phoebus.applications.console/font_size = 14
- org.phoebus.applications.console/prompt = >>>\
Prompt (may include trailing space)
- org.phoebus.applications.console/prompt_info = Enter console command
Prompt (input field) info
- org.phoebus.applications.console/shell = /usr/bin/python -i
‘Shell’ to execute.
- Examples:
/usr/bin/python -i /usr/bin/python -i /path/to/some/initial_file.py /bin/bash
Value may include properties.
- org.phoebus.applications.console/directory = $(user.home)
Folder where the shell process should be started
Value may include properties.
- org.phoebus.applications.errlog[source]
- org.phoebus.applications.errlog/max_lines = 500
Number of lines to keep in error log
- org.phoebus.applications.eslog[source]
- org.phoebus.applications.eslog/es_url =
- org.phoebus.applications.eslog/es_index = messagelog
- org.phoebus.applications.eslog/jms_url =
- org.phoebus.applications.eslog/jms_topic = LOG
- org.phoebus.applications.filebrowser[source]
- org.phoebus.applications.filebrowser/default_root = $(user.home)
Initial root directory for newly opened file browser May use system properties like “$(user.home)”. At runtime, user can select a different base directory, but pressing the “Home” button reverts to this one.
Show hidden files (File.isHidden)?
- org.phoebus.applications.imageviewer[source]
- org.phoebus.applications.imageviewer/watermark_text = W A T E R M A R K
Watermark text
- org.phoebus.applications.pvtable[source]
- org.phoebus.applications.pvtable/treat_byte_array_as_string = true
Should all BYTE[] values be considered “long strings”
- org.phoebus.applications.pvtable/show_units = true
Show the units when displaying values?
- org.phoebus.applications.pvtable/show_description = true
Show a “Description” column that reads xxx.DESC?
- org.phoebus.applications.pvtable/tolerance = 0.1
Default tolerance for newly added items
- org.phoebus.applications.pvtable/max_update_period = 500
Maximum update period for PVs in millisecs
- org.phoebus.applications.pvtable/textarea_editor = false
Display a text area editor for add a pv list instead of single pv
- org.phoebus.applications.pvtree[source]
- org.phoebus.applications.pvtree/read_long_fields = true
The channel access DBR_STRING has a length limit of 40 chars. Since EPICS base R3.14.11, reading fields with an added ‘$’ returns their value as a char[] without length limitation. For older IOCs, this will however fail, so set this option only if all IOCs are at least version R3.14.11
- For each record type, list the fields to read and trace as ‘links’.
Format: record_type (field1, field2) ; record_type (…)
Fields can simply be listed as ‘INP’, ‘DOL’. The syntax INPA-L is a shortcut for INPA, INPB, INPC, …, INPL The syntax INP001-128 is a shortcut for INP001, INP002, …, INP128 The general syntax is “FIELDxxx-yyy”, where “xxx” and “yyy” are the initial and final value. “xxx” and “yyy” need to be of the same length, i.e. “1-9” or “01-42”, NOT “1-42”. For characters, only single-char “A-Z” is supported, NOT “AA-ZZ”, where it’s also unclear if that should turn into AA, AB, AC, .., AZ, BA, BB, BC, .., ZZ or AA, BB, .., ZZ
bigASub is a CSIRO/ASCAP record type, doesn’t hurt to add that to the shared configuration
scalcout is a bit unfortunate since there is no shortcut for INAA-INLL.
alarm record has INP1-10. 1-9 handled by pattern, INP10 listed
- org.phoebus.applications.pvtree/fields = aai(INP);ai(INP);bi(INP);compress(INP);longin(INP);int64in(INP);mbbi(INP);mbbiDirect(INP);mbboDirect(INP);stringin(INP);lsi(INP);subArray(INP);waveform(INP);aao(DOL);ao(DOL);bo(DOL);fanout(DOL);longout(DOL);int64out(DOL);mbbo(DOL);stringout(DOL);sub(INPA-L);genSub(INPA-L);calc(INPA-L);calcout(INPA-L);aSub(INPA-U);seq(SELN);bigASub(INP001-128);scalcout(INPA-L,INAA,INBB,INCC,INDD,INEE,INFF,INGG,INHH,INII,INJJ,INKK,INLL);alarm(INP1-9,INP10)
- org.phoebus.applications.pvtree/update_period = 0.5
Max update period in seconds
- org.phoebus.applications.queueserver[source]
- org.phoebus.applications.queueserver/queue_server_url = http://localhost:60610
The queue server url
- org.phoebus.applications.queueserver/api_key = $(BLUESKY_API_KEY)
API key for queue server authentication Uses environment variable BLUESKY_API_KEY or default value ‘a’
- org.phoebus.applications.queueserver/debug = false
Enable debugging of http request and responses
- org.phoebus.applications.queueserver/connectTimeout = 5000
The connection timeout for the HTTP client, in ms. 0 = infinite.
- org.phoebus.applications.saveandrestore[source]
- org.phoebus.applications.saveandrestore/sortSnapshotsTimeReversed = false
Sort snapshots in reverse order of created time. Last item comes first.
- org.phoebus.applications.saveandrestore/readTimeout = 5000
Read timeout (in ms) when taking snapshot
- org.phoebus.applications.saveandrestore/search_result_page_size = 30
Limit used in “paginated” search, i.e. the number of search results per page
- org.phoebus.applications.saveandrestore/default_search_query = tags=golden
Default save-and-restore search query. Used unless a saved query is located.
If declared add a date automatically in the name of the snapshot “Take Snapshot” default_snapshot_name_date_format=yyyy-MM-dd HH:mm:ss
- org.phoebus.applications.saveandrestore/default_snapshot_mode = READ_PVS
Defines the default snapshot mode READ_PVS: the classic mode where PV values are read from IOCs FROM_ARCHIVER: PV values read from archiver at point in time selected by user
- org.phoebus.applications.saveandrestore/default_restore_mode = CLIENT_RESTORE
Defines the default restore mode CLIENT_RESTORE: the restore operation is performed by the client SERVICE_RESTORE: the restore operation is performed by the server
- org.phoebus.applications.saveandrestore/allow_empty_descriptions = false
Allow leaving the description / comment field empty for Configs / (Composite) Snapshots
- org.phoebus.applications.saveandrestore.client[source]
- org.phoebus.applications.saveandrestore.client/jmasar.service.url = http://localhost:8080/save-restore
The URL to the save-and-restore service
- org.phoebus.applications.saveandrestore.client/httpClient.readTimeout = 5000
Read timeout (in ms) used by the Jersey client
- org.phoebus.applications.saveandrestore.client/httpClient.connectTimeout = 5000
Connect timeout in (ms) used by the Jersey client
- org.phoebus.applications.update[source]
- org.phoebus.applications.update/delay = 10
Time to wait [seconds] for update check to allow more important tools to start
- org.phoebus.applications.update/current_version =
Version time/date
If the distribution found at the update_url is later than this date, an update will be performed.
The updated distribution must contain a new value for the org.phoebus.applications.update/current_version setting.
By for example publishing updates with a ‘current_version’ that’s one month ahead, you can suppress minor updates for a month.
Format: YYYY-MM-DD HH:MM current_version=2018-06-18 13:10
- org.phoebus.applications.update/update_url =
Location where updates can be found
The file:, http: or https: URL is checked. If it exists, and its modification time is after current_version, the updated distribution is downloaded and the current Locations.install() is replaced.
Location may include system properties and $(arch) will be replaced by “linux”, “mac” or “win” to allow locations specific to each architecture.
update_url=https://controlssoftware.sns.ornl.gov/css_phoebus/nightly/product-sns-$(arch).zip
- org.phoebus.applications.update/gitlab_package_name = phoebus-$(arch)
gitlab_api_url=https://HOST/api/v4 gitlab_project_id=
gitlab_token=
- org.phoebus.applications.update/removals = CSS_Phoebus\\.app/Contents/.*,CSS_Phoebus\\.app/,phoebus\\.app/Contents/.*,phoebus\\.app/,phoebus-[^/]+/,product-[^/]+/,jdk/.*
List of regular expressions, comma-separated, which will be removed from the ZIP file entry. If result is empty string, the entry is skipped.
The update ZIP file can have various formats.
- Basic ZIP file:
phoebus-{site, version}/*
- => Remove ‘phoebus-.*’ from entry name
to install _content_ of zip into install_location without creating yet another subdir
- ZIP that’s packaged for Windows, including JDK:
product-sns-0.0.1/* jdk/*
- => Remove ‘product-sns-*’ from entry name,
skip ‘jdk’.
- ZIP that’s packaged for Mac: Either
phoebus.app/product-sns-0.0.1/* => Remove …/ phoebus.app/jdk/* => Skip phoebus.app/Contents/* => Skip
- or:
CSS_Phoebus.app/product-sns-0.0.1/* => Remove …/ CSS_Phoebus.app/jdk/* => Skip CSS_Phoebus.app/Contents/* => Skip
Example: phoebus.app/ - Strip Mac “phoebus.app/” from entries
so they look more like the Windows example
phoebus-[^/]+/ - Strip phoebus product name from ZIP entry
jdk/.* - Remove complete jdk entry to skip it
- org.phoebus.archive.reader.appliance[source]
- org.phoebus.archive.reader.appliance/useStatisticsForOptimizedData = true
- org.phoebus.archive.reader.appliance/useNewOptimizedOperator = true
- org.phoebus.archive.reader.json[source]
- org.phoebus.archive.reader.json/honor_zero_precision = true
Shall a precision of zero for a floating-point value result in this value using a number format without fractional digits (true) or shall it be treated as an indication that the value should be rendered with a default number of fractional digits (false)?
- org.phoebus.archive.reader.rdb[source]
- org.phoebus.archive.reader.rdb/user = archive
User and password for reading archived data
- org.phoebus.archive.reader.rdb/password = $archive
- org.phoebus.archive.reader.rdb/prefix =
Table prefix For Oracle, this is typically the schema name, including “.”
- org.phoebus.archive.reader.rdb/timeout_secs = 120
Timeout [seconds] for certain SQL queries Fundamentally, the SQL queries for data take as long as they take and any artificial timeout just breaks queries that would otherwise have returned OK a few seconds after the timeout. We’ve seen Oracle lockups, though, that caused JDBC to hang forever because the SAMPLE table was locked. No error/exception, just hanging. A timeout is used for operations other than getting the actual data, for example the channel id-by-name query which _should_ return within a shot time, to catch that type of RDB lockup.
Setting the timeout to 0 disables calls to setQueryTimeout, which may be required for PostgreSQL where the setQueryTimeout API is not implemented. timeout_secs=0
- org.phoebus.archive.reader.rdb/use_array_blob = true
Use a BLOB to read array samples?
The original SAMPLE table did not contain an ARRAY_VAL column for the array blob data, but instead used a separate ARRAY_VAL table. When running against an old database, this parameter must be set to false.
- org.phoebus.archive.reader.rdb/stored_procedure =
Use stored procedures and functions for ‘optimized’ data readout? Set to procedure name, or nothing to disable stored procedure.
- org.phoebus.archive.reader.rdb/starttime_function =
MySQL: stored_procedure=archive.get_browser_data
PostgreSQL stored_procedure=public.get_browser_data
Oracle: stored_procedure=chan_arch.archive_reader_pkg.get_browser_data starttime_function=SELECT chan_arch.archive_reader_pkg.get_actual_start_time (?, ?, ?) FROM DUAL
- org.phoebus.archive.reader.rdb/fetch_size = 1000
JDBC Statement ‘fetch size’: Number of samples to read in one network transfer.
For Oracle, the default is 10. Tests resulted in a speed increase up to fetch sizes of 1000. On the other hand, bigger numbers can result in java.lang.OutOfMemoryError.
- org.phoebus.archive.reader.rdb/equivalent_pv_prefixes = ca, pva
With EPICS IOCs from release 7 on, the PVs “xxx”, “ca://xxx” and “pva://xxx” all refer to the same record “xxx” on the IOC.
When the plot requests “pva://xxx”, the archive might still trace that channel as “ca://xxx” or “xxx”. Alternatively, the archive might already track the channel as “pva://xxx” while data browser plots still use “ca://xxx” or just “xxx”. This preference setting instructs the data browser to try all equivalent variants. If any types are listed, just “xxx” without any prefix will also be checked in addition to the listed types.
The default of setting of “ca, pva” supports the seamless transition between the key protocols.
When equivalent_pv_prefixes is empty, the PV name is used as is without looking for any equivalent names.
- org.phoebus.channel.views.ui[source]
- org.phoebus.channel.views.ui/show_active_cb = false
Show the active PVs only
- org.phoebus.channelfinder[source]
- org.phoebus.channelfinder/serviceURL = http://localhost:8080/ChannelFinder
- org.phoebus.channelfinder/username = admin
- org.phoebus.channelfinder/password = adminPass
- org.phoebus.channelfinder/rawFiltering = false
- org.phoebus.email[source]
- org.phoebus.email/mailhost = smtp.bnl.gov
smtp host When set to “DISABLE”, email support is disabled
- org.phoebus.email/mailport = 25
smtp port
- org.phoebus.email/username =
User and password for connecting to the mail host, usually left empty
- org.phoebus.email/password =
- org.phoebus.email/from =
Default address to be used for From: if it is left empty then the last used from address is used
- org.phoebus.framework.autocomplete[source]
- org.phoebus.framework.autocomplete/enable_loc_pv_proposals = true
Enable the built-in PV proposal providers?
- org.phoebus.framework.autocomplete/enable_sim_pv_proposals = true
- org.phoebus.framework.autocomplete/enable_sys_pv_proposals = true
- org.phoebus.framework.autocomplete/enable_pva_pv_proposals = true
- org.phoebus.framework.autocomplete/enable_mqtt_pv_proposals = false
- org.phoebus.framework.autocomplete/enable_formula_proposals = true
Site-specific proposal providers can be added via PVProposalProvider SPI, and disabled by removing the contribution.
- org.phoebus.framework.workbench[source]
External applications
Defines applications to use for specific file extensions
Format:
Each definition consists of name, file extensions, command.
Name is the name of the definition, used to register the application. File extensions is a ‘|’-separated list of file extensions (not including the ‘dot’). Command is the path to the command. The command will be invoked with the full path to the resource as an argument.
Each definition must use a key that starts with “external_app_”
Examples:
Start ‘gedit’ for text files external_app_text=Text Editor,txt|dat|py|ini|db|xml|xsl|css|cmd|sh|st|log|out|md|shp,gedit
Start ‘eog’ for images, ‘firefox’ for PDF files external_app_image=Image Viewer,png|jpg|gif|jpeg,eog
Start ‘firefox’ to view PDFs external_app_pdf=PDF Viewer,pdf,firefox
Example for some site-specific tool that opens ‘alog’ files external_app_alog=Alignment Log,alog,/path/to/alog_viewer
- org.phoebus.framework.workbench/external_apps_directory = $(user.home)
Directory where external applications are started May use system properties $(user.home)
- org.phoebus.framework.workbench/phoebus_folder_name = $(phoebus.folder.name.preference)
Phoebus folder name by default .phoebus May use system properties $(phoebus.folder.name.preference)
- org.phoebus.framework.workbench/phoebus_user = $(phoebus.user)
Phoebus user home directory path name by default $HOME or %USERPROFILE% May use system properties $(phoebus.folder.name.preference
- org.phoebus.logbook[source]
- org.phoebus.logbook/logbook_factory = inmemory
Site specific log book client implementation name. When empty, logbook submissions are disabled
- org.phoebus.logbook/auto_title = true
Determines if a log entry created from context menu (e.g. display or data browser) should auto generate a title (e.g. “Display Screenshot…”).
- org.phoebus.logbook/auto_body = true
Determines if a log entry created from context menu (e.g. display or data browser) should auto generate a body (e.g. “Display Screenshot…”).
- org.phoebus.logbook/auto_property = false
Determines if a log entry created from context menu (e.g. display or data browser) should auto generate properties (e.g. “resources.file”).
- org.phoebus.logbook.olog.ui[source]
- org.phoebus.logbook.olog.ui/default_logbooks = Scratch Pad
Comma-separated list of default logbooks for new log entries.
- org.phoebus.logbook.olog.ui/default_logbook_query = desc=*&start=12 hours&end=now
The default query for logbook applications
- org.phoebus.logbook.olog.ui/calendar_view_item_stylesheet = Agenda.css
Stylesheet for the items in the log calendar view
- org.phoebus.logbook.olog.ui/level_field_name = Level:
Text to render for the “LogEntryLevel” field of a log entry. Sites may wish to customize this with respect to its wording and its implied purpose.
- org.phoebus.logbook.olog.ui/markup_help = CommonmarkCheatsheet
Name of markup help. Language resolution and file extension is handled on service.
- org.phoebus.logbook.olog.ui/web_client_root_URL =
Root URL of the Olog web client, if one exists. Set this to the empty string to suppress rendering of the “Copy URL” button for a log entry.
- org.phoebus.logbook.olog.ui/log_entry_groups_support = false
Log entry groups support. If set to false user will not be able to create replies to log entries, and consequently UI elements and views related to log entry groups will not be shown.
- org.phoebus.logbook.olog.ui/log_entry_update_support = true
Log entry update support. If set to false user will not be able to update log entries , and consequently UI elements and views related to updating log entry and viewing log history
will not be displayed.
Comma separated list of “hidden” properties. For instance, properties that serve internal business logic, but should not be rendered in the properties view.
- org.phoebus.logbook.olog.ui/log_entry_table_display_name =
Log Entry Table display name. If non-empty it overrides default “Log Entry Table”
- org.phoebus.logbook.olog.ui/log_entry_calendar_display_name =
Log Entry Calendar display name. If non-empty it overrides default “Log Entry Calendar”
- org.phoebus.logbook.olog.ui/log_attribute_desc =
Log Entry property attribute types. The preference should be a URL pointing to an attribute_type.properties file. e.g. log_attribute_desc=file:///C:/phoebus/app/logbook/olog/ui/src/main/resources/org/phoebus/logbook/olog/ui/log_property_attributes.properties Classpath resource is supported if specified like log_attribute_desc=classpath:my_attr.properties. In this example the my_attr.properties file must be bundled as a classpath resource in the package org.phoebus.logbook.olog.ui. This optional file describing special types associated with some property attributes.
- org.phoebus.logbook.olog.ui/search_result_page_size = 30
Limit used in “paginated” search, i.e. the number of search results per page
- org.phoebus.logbook.olog.ui/query_list_size = 15
Number of queries maintained by the OlogQueryManager. To make sense: must be >= 5 and <=30.
- org.phoebus.logbook.olog.ui/search_help = SearchHelp
Name of the search help content. Language resolution and file extension is handled on service.
- org.phoebus.logbook.olog.ui/show_log_watermark = true
Whether or not to show the watermark by default
- org.phoebus.logbook.ui[source]
- org.phoebus.logbook.ui/default_logbooks = Scratch Pad
Comma-separated list of default logbooks for new log entries.
- org.phoebus.logbook.ui/default_logbook_query = search=*&start=12 hours&end=now
The default query for logbook applications
- org.phoebus.logbook.ui/calendar_view_item_stylesheet = Agenda.css
Stylesheet for the items in the log calendar view
- org.phoebus.logbook.ui/level_field_name = Level:
Text to render for the “LogEntryLevel” field of a log entry. Sites may wish to customize this with respect to its wording and its implied purpose.
- org.phoebus.olog.api[source]
- org.phoebus.olog.api/olog_url = localhost:9092
The olog url
- org.phoebus.olog.api/username = user
User credentials for olog
- org.phoebus.olog.api/password = ****
- org.phoebus.olog.api/debug = false
Enable debugging of http request and resposnsed
- org.phoebus.olog.api/connectTimeout = 0
The connection timeout for the Jersey client, in ms. 0 = infinite.
- org.phoebus.olog.es.api[source]
- org.phoebus.olog.es.api/olog_url = http://localhost:8080/Olog
The olog url
- org.phoebus.olog.es.api/connectTimeout = 0
The connection timeout for HttpClient, in ms. 0 = infinite.
- org.phoebus.olog.es.api/permissive_hostname_verifier = true
Enable a permissive hostname verifier
- org.phoebus.olog.es.api/levels = Urgent,Suggestion,Info,Request,Problem
Comma separated list of “Levels” in the create logbook entry UI. Sites may wish to customize (and localize) this.
- org.phoebus.pv.archive[source]
- org.phoebus.pv.archive/archive_url = http://localhost:10068/retrieval
- org.phoebus.pv.ca[source]
By default, we use the following preferences settings, but when the System property “jca.use_env” is “true”, JCA falls back to the EPICS_CA_… environment variables.
Sites that prefer to use the EPICS_CA_… environment variables thus need to add
-Djca.use_env=true
to their launcher script.
- org.phoebus.pv.ca/addr_list =
Channel Access address list
- org.phoebus.pv.ca/auto_addr_list = true
- org.phoebus.pv.ca/max_array_bytes = 100000000
- org.phoebus.pv.ca/server_port = 5064
- org.phoebus.pv.ca/repeater_port = 5065
- org.phoebus.pv.ca/beacon_period = 15
- org.phoebus.pv.ca/connection_timeout = 30
- org.phoebus.pv.ca/variable_length_array = auto
Support variable length arrays? auto, true, false
- org.phoebus.pv.ca/large_array_threshold = 100000
Connect at lower priority for arrays with more elements than this threshold
- org.phoebus.pv.ca/dbe_property_supported = false
Is the DBE_PROPERTY subscription supported to monitor for changes in units, limits etc?
- org.phoebus.pv.ca/monitor_mask = VALUE
Mask to use for subscriptions VALUE, ALARM, ARCHIVE
- org.phoebus.pv.ca/name_servers =
Name server list
- org.phoebus.pv.formula[source]
- org.phoebus.pv.formula/throttle_ms = 500
Update throttle for input PVs
- org.phoebus.pv.jackie[source]
- org.phoebus.pv.jackie/ca_address_list =
List of servers that shall be queried via UDP when looking for channels.
This setting is equivalent to the EPICS_CA_ADDR_LIST environment variable. It is only used when use_env is false.
- org.phoebus.pv.jackie/ca_auto_address_list =
Shall the broadcast addresses of local interfaces automatically be added to the list of addresses that shall be used when looking for a channel?
This setting is equivalent to the EPICS_CA_AUTO_ADDR_LIST environment variable, but expects a value of true or false instead of YES or NO. It is only used when use_env is false.
The default value is true.
- org.phoebus.pv.jackie/ca_auto_array_bytes =
Shall the size of values transferred via Channel Access be limited (false) or not (true)?
If false, the value of ca_max_array_bytes limits the size of serialized values that are transferred via Channel Access.
This setting is equivalent to the EPICS_CA_AUTO_ARRAY_BYTES environment variable, but expects a value of true or false instead of YES or NO. This setting is only used when use_env is false.
The default value is true.
- org.phoebus.pv.jackie/ca_echo_interval =
Interval between sending echo packages to a Channel Access server (in seconds).
This setting is equivalent to the EPICS_CA_CONN_TMO environment variable. It is only used when use_env is false.
The default value is 30.
- org.phoebus.pv.jackie/ca_max_array_bytes =
Maximum size (in bytes) of a value that can be transferred via Channel Access.
This setting is equivalent to the EPICS_CA_MAX_ARRAY_BYTES environment variable. It is only used when use_env is false. and ca_auto_array_bytes is false.
The default value is 16384.
- org.phoebus.pv.jackie/ca_max_search_period =
Interval of the longest search period (in seconds).
This setting is equivalent to the EPICS_CA_MAX_SEARCH_PERIOD environment variable. It is only used when use_env is false.
The default value (and smallest allowed value) is 60.
- org.phoebus.pv.jackie/ca_multicast_ttl =
TTL for UDP packets that are sent to multicast addresses.
This setting is equivalent to the EPICS_CA_MCAST_TTL environment variable. It is only used when use_env is false.
The default value (and smallest allowed value) is 1. The greatest allowed value is 255.
- org.phoebus.pv.jackie/ca_name_servers =
List of servers that shall be queried via UDP when looking for channels.
This setting is equivalent to the EPICS_CA_NAME_SERVERS environment variable. It is only used when use_env is false.
- org.phoebus.pv.jackie/ca_repeater_port =
UDP port that is used when connecting to the Channel Access repeater.
This setting is equivalent to the EPICS_CA_REPEATER_PORT environment variable. It is only used when use_env is false.
The default value is 5065.
- org.phoebus.pv.jackie/ca_server_port =
UDP and TCP port on which Channel Access servers are expected to listen.
This setting is used when sending search requests and when connecting to serves that did not explicitly specify a port in search responses. It is only used when use_env is false.
The default value is 5064.
- org.phoebus.pv.jackie/charset =
Charset to use when encoding and decoding strings.
The default value is UTF-8.
- org.phoebus.pv.jackie/cid_block_reuse_time = 900000
Time that a CID is blocked from being used again in milliseconds. After destroying a channel, the CID may not be reused for some time because there might still be late responses to old search requests, which would be
used for the wrong channel if the CID was reused too early. A value of 0 (or a negative value) means that CIDs can be reused immediately.
- org.phoebus.pv.jackie/dbe_property_supported = true
Shall meta-data monitors using DBE_PROPERTY be created?
This ensures that the meta-data for PVs is updated when it changes on the server, but some servers do not correctly support using DBE_PROPERTY. When experiencing problems with such a server, try setting this to false.
- org.phoebus.pv.jackie/honor_zero_precision = true
Shall a precision of zero for a floating-point value result in this value being rendered without a fractional digits (true) or shall it be treated as an indication that the value should be rendered with a default number of fractional digits (false)?
- org.phoebus.pv.jackie/hostname =
Hostname that is sent to the Channel Access server. If empty, the system?s hostname is determined automatically.
- org.phoebus.pv.jackie/monitor_mask = DBE_VALUE|DBE_ALARM
Mask that shall be used when registering monitors for DBR_TIME_* values.
This can be a combination of DBE_ALARM, DBE_ARCHIVE, DBE_PROPERTY, and DBE_VALUE, where multiple flags can be combined using the ?|? character.
- org.phoebus.pv.jackie/rtyp_value_only = false
Shall PVs referencing a record?s RTYP field be treated like any other PV (false) or shall the monitor registered for the channel request the value only, without any meta-data like a time-stamp (true)?
In general, setting this to false is preferred, but there are certain versions of EPICS where requesting a DBR_TIME_STRING for the RTYP field results in invalid data being returned by the server. In this case, this setting should be changed to true.
- org.phoebus.pv.jackie/use_env = true
Shall Channel Access client settings be read from the CA_* environment variables?
If true, the ca_* settings from the preferences are ignored and the values from the process?s environment are used instead. If false, the preferences are used and the environment variables are ignored.
- org.phoebus.pv.jackie/username =
Username that is sent to the Channel Access server. If empty, the username for the current process is determined automatically.
- org.phoebus.pv.mqtt[source]
- org.phoebus.pv.mqtt/mqtt_broker = tcp://localhost:1883
MQTT Broker All “mqtt://some/tag” PVs will use this broker
- org.phoebus.pv.pva[source]
By default, these preference settings are empty, and the PVA library will then honor the commonly used environment variables like EPICS_PVA_ADDR_LIST, EPICS_PVA_AUTO_ADDR_LIST etc. Defining preference values will override the environment variables which allows consolidating PVA settings with all the CS-Studio preference settings.
Network clients typically need to configure the first three settings to successfully connect to PVA servers on the local network.
PVAccess address list
PVAccess auto address list - true/false
Name servers used for TCP name resolution
The following parameters should best be left at their default.
For details, see PVASettings in PV Access library.
Port used for UDP name searches and beacons
PV server’s first TCP port
Connection timeout in seconds
TCP socket creation timeout in seconds
Maximum number of array elements shown when printing data
TCP buffer size for sending data
- org.phoebus.pv.pva/epics_pva_write_reply_timeout_ms = 1000
Timeout used by plain “put” type of write when checking success or failure. Note this is not used with asyncWrite, the “put-callback” which returns a Future for awaiting the completion, but only with the plain “put” that returns ASAP
- org.phoebus.saveandrestore.util[source]
- org.phoebus.saveandrestore.util/connectionTimeout = 5000
connection timeout (in ms) when taking snapshot
- org.phoebus.saveandrestore.util/writeTimeout = 5000
write timeout (in ms) when restoring snapshot
- org.phoebus.security[source]
Authorization file
If left empty, the built-in core/security/authorization.conf is used.
When specifying a plain file name like “authorization.conf”, the install location (Locations.install()) is searched for that file name.
The file name can also be an absolute path like /some/path/auth.conf.
Finally, the file name may use a system property like $(auth_file) which in turn could be set to either BUILTIN, a file in the install location, or an absolute path.
When set to an invalid file, the user will have no authorizations at all.
- org.phoebus.security/authorization_file =
Use built-in core/security/authorization.conf
Use authorization.conf in the install location authorization_file=authorization.conf
- org.phoebus.security/secure_store_target = FILE
Secure store underlying implementation. Can be ‘FILE’ or ‘IN_MEMORY’
- org.phoebus.ui[source]
- org.phoebus.ui/splash = true
Show the splash screen? Can also be set via ‘-splash’ resp. ‘-nosplash’ command line options
- org.phoebus.ui/welcome =
‘Welcome’ URL
When left empty, the built-in welcome.html resource is used. Site-specific products can set this to their desired URL, which may include Java system properties to bundle content with the product, for example
- org.phoebus.ui/default_apps = run,3d,convert_edm
Default applications
When there are multiple applications that handle a resource, the setting determines the one used by default.
Format is comma-separated list with sub-text of default application names. For example, “run, exe” would pick “display_runtime” over “display_editor”, and “foo_executor” over “foo_creator”. The patterns “edit, creat” would inversely open the editor-type apps.
This makes the display_runtime and the 3d_viewer default apps, using display_editor and a potentially configured text editor for *.shp files secondary
Hide SPI-provided menu entries Comma-separated list of class names
- org.phoebus.ui/top_resources = examples:/01_main.bob?app=display_runtime,Example Display | pv://?sim://sine&app=probe,Probe Example | pv://?sim://sine&loc://x(10)&app=pv_table,PV Table Example | http://www.google.com?app=web, Google
Top resources to show in “File” menu and toolbar
Format: uri1 | uri2,Display name 2 | uri3,Display name 3
- org.phoebus.ui/home_display = examples:/01_main.bob?app=display_runtime,Example Display
Home display file. “Home display” button will navigate to this display.
- org.phoebus.ui/toolbar_entries = Home, Top Resources, Layouts, File Browser, *
Toolbar entries
Apps like the file browser contribute a toolbar entry. This setting can control which toolbar entries are shown and for the most part also in which order.
Format: Comma-separated list of entries.
The special entry “*” adds all remaining available toolbar entries. An entry starting with “!” removes that item from the available entries. The order of the initial buttons “Home, Top Resources, Layouts, Add Layouts” cannot be changed, but they can be suppressed by adding “!”, for example “Home, !Top Resources, !Layouts, !Add Layouts”.
The special entry “Add Layouts” is NOT added to the toolbar by default. It can be added to the toolbar by specifying “Add Layouts”.
The strings in the list of entries MUST match what is returned from ToolbarEntry#getId(). This allows for customization/localization of app name without the need to adjust the list.
Examples:
Default buttons, then all remaining available items:
Home, Top Resources, Layouts, *
Default buttons, then assert that File Browser comes next:
Home, Top Resources, Layouts, File Browser, *
Only Home and File Browser:
Home, !Top Resources, !Layouts, File Browser
- org.phoebus.ui/max_array_formatting = 256
How many array elements to show when formatting as text?
- org.phoebus.ui/ui_monitor_period = 500
UI Responsiveness Monitor Period Period between tests [millisec], i.e. the minimum detected UI freeze duration Set to 0 to disable
- org.phoebus.ui/status_show_user = true
Show user ID in status bar?
- org.phoebus.ui/default_save_path =
Set default save path
- org.phoebus.ui/layout_dir =
Set the path to a folder with default layouts
- org.phoebus.ui/layout_default =
Set default layout at start absolutepath
- org.phoebus.ui/save_layout_in_layout_dir = false
If enable layout are saved in layout_dir instead of default user location
- org.phoebus.ui/print_landscape = true
Compute print scaling in ‘landscape’ mode? Landscape mode is generally most suited for printouts of displays or plots, because the monitor tends to be ‘wide’. At least on Mac OS X, however, the printing always appears to use portrait mode, so print layouts computed in landscape mode get cropped. Details can also depend on the printer driver.
- org.phoebus.ui/ok_severity_text_color = 0,255,0
Color for text and the background for ‘OK’ alarm severity (R,G,B or R,G,B,A values in range 0..255)
- org.phoebus.ui/ok_severity_background_color = 255,255,255
- org.phoebus.ui/minor_severity_text_color = 255,128,0
Color for text and the background for ‘MINOR’ alarm severity
- org.phoebus.ui/minor_severity_background_color = 255,255,255
- org.phoebus.ui/major_severity_text_color = 255,0,0
Color for text and the background for ‘MAJOR’ alarm severity
- org.phoebus.ui/major_severity_background_color = 255,255,255
- org.phoebus.ui/invalid_severity_text_color = 255,0,255
Color for text and the background for ‘INVALID’ alarm severity
- org.phoebus.ui/invalid_severity_background_color = 255,255,255
- org.phoebus.ui/undefined_severity_text_color = 200,0,200,200
Color for text and the background for ‘UNDEFINED’ alarm severity
- org.phoebus.ui/undefined_severity_background_color = 255,255,255
- org.phoebus.ui/alarm_area_panel_ok_severity_text_color = 255,255,255
Color Configuration for the application “Alarm Area Panel” (R,G,B or R,G,B,A values in range 0..255):
- org.phoebus.ui/alarm_area_panel_ok_severity_background_color = 0,255,0
- org.phoebus.ui/alarm_area_panel_minor_severity_text_color = 255,255,255
- org.phoebus.ui/alarm_area_panel_minor_severity_background_color = 255,128,0
- org.phoebus.ui/alarm_area_panel_major_severity_text_color = 255,255,255
- org.phoebus.ui/alarm_area_panel_major_severity_background_color = 255,0,0
- org.phoebus.ui/alarm_area_panel_invalid_severity_text_color = 255,255,255
- org.phoebus.ui/alarm_area_panel_invalid_severity_background_color = 255,0,255
- org.phoebus.ui/alarm_area_panel_undefined_severity_text_color = 192,192,192
- org.phoebus.ui/alarm_area_panel_undefined_severity_background_color = 200,0,200,200
- org.phoebus.ui/cache_hint_for_picture_and_symbol_widgets =
When Picture- and/or Symbol widgets are present in an OPI, zooming in under Windows using the D3D graphics library can cause excessive VRAM usage. Setting a cache hint can work as a workaround. Since it has been observed that the cache hints also can cause graphical errors, the setting of a cache hint is a configurable option, which must explicitly be set to have effect.
The setting defaults to the default caching behavior.
- Valid options are:
“” (the empty string) or “NONE” - The default caching behavior: caching is DISABLED, and the cache hint is set to “CacheHint.DEFAULT”. “DEFAULT” - Caching is ENABLED, and the cache hint is set to “CacheHint.DEFAULT”. “SPEED” - Based on very limited testing, this option seems to work the best as a workaround for the excessive VRAM usage. “QUALITY” “SCALE” - This option has been observed to cause graphical errors on several systems: rotated widgets have been observed to be translated instead of rotated. “ROTATE” “SCALE_AND_ROTATE”
If an invalid option is entered, a warning is logged, and the default caching behavior is used (i.e., caching is DISABLED, and the cache hint is set to “CacheHint.DEFAULT”).
- org.phoebus.ui/save_credentials = false
Whether or not to save user credentials to file or memory so they only have to be entered once. Note that this applies to all scopes/applications prompting for credentials. See also setting org.phoebus.security/secure_store_target