Development status: Released
Information status: Verified
Repository: https://github.com/tango-controls/SettingsManager

Class Description

This idea is to standardize and centralize the settings management for the control system. It will have to be accessible from client applications and servers written in C++, Java or Python.

The most flexible system to store the settings is to use files on disk. Users will be able to manage sub system, copies or edition (device/attribute renaming). All settings files will be store under a $SETTINGS_ROOT directory. A subdirectory will be created for each accelerator system. To be accessible from all languages, a TANGO class will manage read, write and apply settings for attributes. Each instance of this class will manage a system (SRRF, RIPS, LINAC, ...) files under its own subdirectory fixed by a TANGO property. This class will be able to:

System Message: ERROR/3 (<string>, line 12)

Unexpected indentation.
  • Write a settings file with an optional list of attribute as input argument. This class will be responsible to do not write above its subdirectory.
  • Get file content to preview file with string as output argument.
  • Apply settings to attributes.
  • Read a settings file and return content in a pipe (att1 name, att1 value, att2 name, att2 value, ...)

Family: Archiving

Key words:

Platform: All Platforms

Language: Java

License: GPL



Manufacturer: none

Bus: Not Applicable

Class interface


Name Description
AlarmAttributesSpectrum: DevString List of attributes in ALARM
DefaultAttributesSpectrum: DevString The default attribute list from property.
CheckChangePeriodScalar: DevLong Period (in seconds) to check if settings have change since last appalied.
LastAppliedFileScalar: DevString
LastGeneratedFileScalar: DevString
SettingsPathScalar: DevString Path where settings files are read and write.


Name Description
MakeDirectoryInput: DevString
Directory name (relative to project path)
Output: DevVoid
Created the specified directory
GetFileListInput: DevString
Path to be added to the project path e.g.: ````, ``.``, ``sav``, ``old``,.....
Output: DevVarStringArray
FILE: or DIR: followed by file or directory name
Get the file and directory list in specified path.
RenameFileInput: DevVarStringArray
Source file name Target file name
Output: DevVoid
Rename source file to target name.
DeleteFileInput: DevString
File name
Output: DevVoid
Delete specified file.
FileExistsInput: DevString
File name
Output: DevBoolean
true if specified file exists, false otherwise
Check if specified file exists.
ResetInput: DevVoid
Output: DevVoid
Reset ALARM state on device
ApplySettingsInput: DevString
The specified file name
Output: DevVoid
Apply settings from specified file to attributes.
GenerateSettingsFileInput: DevVarStringArray
This array must contain file name. If no attributes are defined as property, it must contain attribute names. It can also contain author names and comments. Each element needs to start with: FILE: for file name ATTRIBUTE: for each attribute name AUTHOR: for author name COMMENTS: for comments
Output: DevVoid
the device will generate a settings file for specified attributes
GetSettingsFileContentInput: DevString
Specified file name.
Output: DevString
The specified file content
read the specified file content
StatusInput: DevVoid
Output: ConstDevString
Device status
This command gets the device status (stored in its device_status data member) and returns it to the caller.
StateInput: DevVoid
Output: State
Device state
This command gets the device state (stored in its device_state data member) and returns it to the caller.


Name Description
SettingValues Returns the attributes with their values (setpoints).
LastAppliedFileContent Returns last applied file content


Name Description
RootPathDevString Root path for all settings systems
UseAttributeFormatDevBoolean Use attribute property format to write value in file if true.
DebugDevBoolean Add trace mode if true
SettingsTimeoutDevLong timeout to write settings on specified devices in milliseconds.
DefaultAttributeListArray of DevString Default attribute list to generate settings file if no attributes sent in WriteSettingsFile command
SettingsFilesPathDevString Path under the RootPath to read/write settings file.

June 13, 2017, Pascal Verdier
Recent update of device classes in this device server has been verified by Pascal Verdier.

June 13, 2017, Pascal Verdier
The device class has been updated.
You can see previous version here .

June 13, 2017, Pascal Verdier
Recent update of device classes in this device server has been verified by Pascal Verdier.

Jan. 5, 2017, Andy Gotz
The device server has been added to catalogue.
Added by:agotz on:5 Jan 2017, 4:14 p.m.