From 6da511497dcdcd238ce50ac25753a3a448ed48c1 Mon Sep 17 00:00:00 2001 From: Morris Jobke Date: Mon, 10 Aug 2020 14:22:18 +0200 Subject: [PATCH 1/2] Document existing events * LoadAdditionalScripts (@rullzer) - https://github.com/nextcloud/server/pull/16641 * LoadViewerEvent (@skjnldsv) - https://github.com/nextcloud/viewer/pull/271 * RegisterDirectEditorEvent (@juliushaertl) - https://github.com/nextcloud/server/pull/17625 * typed events for files scanner (@christophwurst) - https://github.com/nextcloud/server/pull/18351 * typed events for group mangement (@christophwurst) - https://github.com/nextcloud/server/pull/18350 * AddContentSecurityPolicyEvent (@rullzer) - https://github.com/nextcloud/server/pull/15730 * UserLiveStatusEvent (@georgehrke) - https://github.com/nextcloud/server/pull/21186 * password_policy events (@christophwurst) - https://github.com/nextcloud/server/pull/18019 * AddFeaturePolicyEvent (@rullzer) - https://github.com/nextcloud/server/pull/16613 * ShareCreatedEvent (@rullzer) - https://github.com/nextcloud/server/pull/18384 * LoadSettingsScriptsEvent (@blizzz) - https://github.com/nextcloud/server/pull/21475 * flow events (@rullzer) - https://github.com/nextcloud/server/pull/18535 Signed-off-by: Morris Jobke --- developer_manual/app/events.rst | 154 +++++++++++++++++++++++++++++--- 1 file changed, 144 insertions(+), 10 deletions(-) diff --git a/developer_manual/app/events.rst b/developer_manual/app/events.rst index d9148b7dc68..3c3cbea8178 100644 --- a/developer_manual/app/events.rst +++ b/developer_manual/app/events.rst @@ -167,6 +167,133 @@ Available Events Here you find an overview of the public events that can be consumed in apps. See their source files for more details. +``\OCA\Files\Event\LoadAdditionalScriptsEvent`` +*********************************************** + +*Available in Nextcloud 17 and later.* + +This event is triggered when the files app is rendered. It canb e used to add additional scripts to the files app. + +``\OCA\Viewer\Event\LoadViewer`` +******************************** + +*Available in Nextcloud 17 and later.* + +This event is triggered whenever the viewer is loaded and extensions should be loaded. + +``\OCP\DirectEditing\RegisterDirectEditorEvent`` +************************************************ + +*Available in Nextcloud 18 and later.* + +Event to allow to register the direct editor. + +``\OCP\Files\Events\BeforeFileScannedEvent`` +******************************************** + +*Available in Nextcloud 18 and later.* + +``\OCP\Files\Events\BeforeFolderScannedEvent`` +********************************************** + +*Available in Nextcloud 18 and later.* + +``\OCP\Files\Events\FileCacheUpdated`` +************************************** + +*Available in Nextcloud 18 and later.* + +``\OCP\Files\Events\FileScannedEvent`` +************************************** + +*Available in Nextcloud 18 and later.* + +``\OCP\Files\Events\FolderScannedEvent`` +**************************************** + +*Available in Nextcloud 18 and later.* + +``\OCP\Files\Events\NodeAddedToCache`` +************************************** + +*Available in Nextcloud 18 and later.* + +``\OCP\Files\Events\NodeRemovedFromCache`` +****************************************** + +*Available in Nextcloud 18 and later.* + +``\OCP\Group\Events\BeforeGroupCreatedEvent`` +********************************************* + +*Available in Nextcloud 18 and later.* + +``\OCP\Group\Events\BeforeGroupDeletedEvent`` +********************************************* + +*Available in Nextcloud 18 and later.* + +``\OCP\Group\Events\BeforeUserAddedEvent`` +****************************************** + +*Available in Nextcloud 18 and later.* + +``\OCP\Group\Events\BeforeUserRemovedEvent`` +******************************************** + +*Available in Nextcloud 18 and later.* + +``\OCP\Group\Events\GroupCreatedEvent`` +*************************************** + +*Available in Nextcloud 18 and later.* + +``\OCP\Group\Events\GroupDeletedEvent`` +*************************************** + +*Available in Nextcloud 18 and later.* + +``\OCP\Group\Events\UserAddedEvent`` +************************************ + +*Available in Nextcloud 18 and later.* + +``\OCP\Group\Events\UserRemovedEvent`` +************************************** + +*Available in Nextcloud 18 and later.* + +``\OCP\Security\CSP\AddContentSecurityPolicyEvent`` +*************************************************** + +*Available in Nextcloud 17 and later.* + +Allows to inject something into the default content policy. This is for example useful when you're injecting Javascript code into a view belonging to another controller and cannot modify its Content-Security-Policy itself. Note that the adjustment is only applied to applications that use AppFramework controllers. + +WARNING: Using this API incorrectly may make the instance more insecure. Do think twice before adding whitelisting resources. Please do also note that it is not possible to use the `disallowXYZ` functions. + +``\OCP\Security\Events\GenerateSecurePasswordEvent`` +**************************************************** + +*Available in Nextcloud 18 and later.* + +``\OCP\Security\Events\ValidatePasswordPolicyEvent`` +**************************************************** + +*Available in Nextcloud 18 and later.* + +``\OCP\Security\FeaturePolicy\AddFeaturePolicyEvent`` +**************************************************** + +*Available in Nextcloud 17 and later.* + +Event that allows to register a feature policy header to a request. + +``\OCP\Share\Events\ShareCreatedEvent`` +******************************************* + +*Available in Nextcloud 18 and later.* + ``\OCP\User\Events\BeforeUserLoggedInWithCookieEvent`` ****************************************************** @@ -177,10 +304,10 @@ Emitted before a user is logged in via remember-me cookies. ``\OCP\User\Events\UserLoggedInWithCookieEvent`` ************************************************ -Emitted when a user has been succesfully logged in via remember-me cookies. - *Available in Nextcloud 18 and later.* +Emitted when a user has been succesfully logged in via remember-me cookies. + ``\OCP\User\Events\BeforePasswordUpdatedEvent`` *********************************************** @@ -214,15 +341,11 @@ Emitted when a new user has been created on the back-end. *Available in Nextcloud 18 and later.* -Emitted before a user is logged out. - ``\OCP\User\Events\UserDeletedEvent`` ************************************* *Available in Nextcloud 18 and later.* -Emitted when a user has been logged out successfully. - ``\OCP\User\Events\BeforeUserLoggedInEvent`` ******************************************** @@ -233,6 +356,8 @@ Emitted when a user has been logged out successfully. *Available in Nextcloud 18 and later.* +Emitted before a user is logged out. + ``\OCP\User\Events\CreateUserEvent`` ************************************ @@ -258,13 +383,22 @@ Emitted when a user has been logged out successfully. *Available in Nextcloud 18 and later.* -``\OCP\Security\CSP\AddContentSecurityPolicyEvent`` -*************************************************** +Emitted when a user has been logged out successfully. -*Available in Nextcloud 17 and later.* +``\OCP\WorkflowEngine\RegisterChecksEvent`` +*************************************** + +*Available in Nextcloud 18 and later.* + +``\OCP\WorkflowEngine\RegisterEntitiesEvent`` +*************************************** -This event is emitted so apps can modify the CSP provided by nextcloud. For example if more domains can be used to connect to. Added in Nextcloud 17. +*Available in Nextcloud 18 and later.* +``\OCP\WorkflowEngine\RegisterOperationsEvent`` +*************************************** + +*Available in Nextcloud 18 and later.* Symfony event dispatcher ------------------------ From e5a1f6016eba6d49d43b44649b5514c11079925d Mon Sep 17 00:00:00 2001 From: Morris Jobke Date: Mon, 10 Aug 2020 15:05:14 +0200 Subject: [PATCH 2/2] Add deprecation notice for OCP\Group\Events\BeforeUserRemovedEvent Signed-off-by: Morris Jobke --- developer_manual/app/events.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/developer_manual/app/events.rst b/developer_manual/app/events.rst index 3c3cbea8178..602287056f7 100644 --- a/developer_manual/app/events.rst +++ b/developer_manual/app/events.rst @@ -243,6 +243,8 @@ Event to allow to register the direct editor. *Available in Nextcloud 18 and later.* +Deprecated in 20.0.0 - it can't be guaranteed that this event is triggered in all case (e.g. for LDAP users this isn't possible) + ``\OCP\Group\Events\GroupCreatedEvent`` ***************************************