NAME
Kernel::System::SystemData – key/value store for system data
DESCRIPTION
Provides key/value store for system data
PUBLIC INTERFACE
new()
Don't use the constructor directly, use the ObjectManager instead:
my $SystemDataObject = $Kernel::OM->Get('Kernel::System::SystemData');
SystemDataAdd()
add a new SystemData
value.
Result is true if adding was OK, and false if it failed, for instance because the key already existed.
If your keys contain '::' this will be used as a separator. This allows you to later for instance fetch all keys that start with 'SystemRegistration::' in one go, using SystemDataGetGroup().
my $Result = $SystemDataObject->SystemDataAdd(
Key => 'SomeKey',
Value => 'Some Value',
UserID => 123,
);
my $Result = $SystemDataObject->SystemDataAdd(
Key => 'SystemRegistration::Version',
Value => 'Some Value',
UserID => 123,
);
SystemDataGet()
get system data for key
my $SystemData = $SystemDataObject->SystemDataGet(
Key => 'OTRS Version',
);
returns value as a simple scalar, or undef if the key does not exist. keys set to NULL return an empty string.
SystemDataGroupGet()
returns a hash of all keys starting with the Group. For instance the code below would return values for 'SystemRegistration::UniqueID', 'SystemRegistration::UpdateID', and so on.
my %SystemData = $SystemDataObject->SystemDataGroupGet(
Group => 'SystemRegistration',
);
returns
%SystemData = (
UniqueID => 'CDC782BE-E483-11E2-83DA-9FFD99890B3C',
UpdateID => 'D8F55850-E483-11E2-BD60-9FFD99890B3C'
...
);
SystemDataUpdate()
update system data
Returns true if update was successful or false if otherwise – for instance if key did not exist.
my $Result = $SystemDataObject->SystemDataUpdate(
Key => 'OTRS Version',
Value => 'Some New Value',
UserID => 123,
);
SystemDataDelete()
update system data
Returns true if delete was successful or false if otherwise – for instance if key did not exist.
$SystemDataObject->SystemDataDelete(
Key => 'OTRS Version',
UserID => 123,
);