You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.1 KiB
38 lines
1.1 KiB
# Creating a new event |
|
|
|
To create and publish an event to the activity app, a new `IEvent` should be fetched from the activity manager and afterwards be passed to the `publish()` method: |
|
|
|
```php |
|
// The activity manager should be automatically injected |
|
// by the type hint OCP\Activity\IManager, when inside a class. |
|
// When you have a plain file without a class, you can use |
|
// \OC::$server->getActivityManager() instead. |
|
|
|
$event = $this->activityManager->createEvent(); |
|
... |
|
$this->activityManager->->publish($event); |
|
``` |
|
|
|
The following values **must** be set before publishing an event: |
|
|
|
* `setApp()` |
|
* `setType()` - this must match an `ISetting::getIdentifier()` |
|
* `setAffectedUser()` |
|
* `setAuthor()` |
|
* `setTimestamp()` |
|
* `setSubject()` |
|
* `setObject()` |
|
|
|
Additionally these values **can** be set: |
|
* `setMessage()` |
|
* `setLink()` - should be done in `IProvider::parse()` |
|
* `setIcon()` - should be done in `IProvider::parse()` |
|
|
|
The following values **should not** be set on publishing (are not saved), instead they should be set in `IProvider::parse()`: |
|
|
|
* `setParsedSubject()` |
|
* `setRichSubject()` |
|
* `setParsedMessage()` |
|
* `setRichMessage()` |
|
* `setChildEvent()` |
|
|
|
|