Note: settings are what types used to be in the old OCP\Activity\IExtension
interface.
In order to add a new setting to the personal page and make it possible to store events with this type, the OCP\Activity\ISetting
interface needs to be implemented and registered in appinfo/info.xml
. An example can be seen in the comments app
<?xml version="1.0"?>
<info>
...
<activity>
...
<settings>
<setting>OCA\Comments\Activity\Setting</setting>
</settings>
</activity>
</info>
The setting
value is the fully namespaced class name of the ISetting
implementation.
The identifier is also used as a HTML ID, therefor only lowercase a-z and underscores are allowed.
Note: This must also match the value that is used in the IEvent::setType()
of the event, otherwise the event will not be visible.
The name must already be translated and should be a short and descriptive sentence. One or two important words can also be highlighted using the <strong>
HTML tag, to allow easier recognition of the setting.
The icon must be an absolute URL. The chosen icon should be 32*32 pixels and when possible a SVG.
Priority should technically be a value between 0-100, where 0 means it's listed first and 100 last. 70 should be seen as a decent default value, while values lower then 10 should not be used. These are reserved for special settings of the activity app itself.
The two "is default enabled x" booleans specify whether the setting is enabled or disabled by default for the stream or mail. Once a user changed their setting, the default is not used for them anymore. Changing the default is therefore not "retro active".
When the "can change x" boolean is set to false
, users can not change this setting on the personal page. When both "can change x" booleans are false, the setting is not listed on the personal page at all.