openSUSE:WebYaST plugin status messages
Plugin Status Messages
Each WebYaST service plugin has the possibility to report his state in the status WebYaST UI.
Some usecases are:
- The registration service plugin wants to report that the registration has not been done or has not been finished correctly.
- The mail service plugin wants to ask for the successfully sent of a test email.
How to define a message ?
A service message is defined in an own model with the filename <controoler_name>_state.rb
e.g. registration/app/models/registration_state.rb:
require 'gettext'
class RegistrationState
include GetText
def self.read()
unless Register.new.is_registered?
return { :level => "warning",
:message_id => "MISSING_REGISTRATION",
:short_description => _("Registration is missing"),
:long_description => _("Please register your system in order to get updates."),
:confirmation_host => "client",
:confirmation_link => "/registration",
:confirmation_label => _("register"),
:confirmation_kind => "link" }
else
return {}
end
end
end
An empty Hash will be returned if the module does not want to report anything. Otherwise a Hash will be returned with following entries:
- level ok|warning|error
- message_id This ID will be currently used for defining the translation on the WebYaST client side.
- short_description This message will be shown in the control center and is the headline in the status UI plugin.
- long_description A detailed description of the message will be shown in the status UI plugin.
- confirmation_host client|service. The link described in confirmation_link belongs to the UI or the service.
- confirmation_link Address behind the button/link described in confirmation_label
- confirmation_label Label for the button/link which will will be shown in the status UI plugin.
- confirmation_kind button/link