tohokuaikiのチラシの裏

技術的ネタとか。

Confluenceのイベントクラスのまとめ

  • 一旦
find 5.3.1 -type f -name "*java"|xargs grep "eventPublisher.publish(" > ../eventPublisher.txt
find 5.3.1 -type f -name "*java"|xargs grep ".publishEvent(" > ../publisEvent.txt

ってやってイベントを発火させているファイルを求めて、ソースからコメントをgrepで抜き出した。説明がないものはコメントが無かった。

イベント名 説明
AttachmentBatchUploadCompletedEvent An event indicating that o batch of one or more attachments have completed uploading. Attachments in the list may have been created or updated in the request.
AttachmentCreateEvent An event indicating that one or more attachments have been added to a piece of content.
AttachmentRemoveEvent Event sent *before* the removal of an attachment.
AttachmentUpdateEvent
AttachmentVersionRemoveEvent Event sent *before* the removal of an attachment version.
AttachmentViewEvent Event fired every time an attachment is viewed.
BlogPostCreateEvent
BlogPostRemoveEvent
BlogPostRestoreEvent
BlogPostTrashedEvent
BlogPostUpdateEvent
BootstrapContextInitialisedEvent An event indicating that the bootstrap context has been initialised.
ClusterEventWrapper Wraps an event for transmission to other nodes in the cluster.

The {@link com.atlassian.confluence.cluster.coherence.invocations.EventInvocable} is responsible for actually putting this event on the {@link com.atlassian.event.EventManager} queue on the remote nodes. @see com.atlassian.confluence.cluster.coherence.invocations.EventInvocable @see com.atlassian.confluence.cluster.ClusterEventBroadcaster

ClusterPanicEvent Used when the {@link ClusterSafetyManager} detects a fatal error in the configuration of the cluster. Listeners of this event should prevent all access to the application and present the description message to the user. @see ClusterSafetyManager @see ClusterSafetyJob
ClusterReindexRequiredEvent Event to fire when every other node in the cluster requires a reindex. (Eg after a full site import).
ColourSchemeChangedEvent Fired when the colour scheme is changed, either within a space, or globally.
CommentCreateEvent
CommentRemoveEvent
CommentUpdateEvent
ConfigurationEvent
ConfigurationMigrationEvent Used to indicate moving configuration from one data store to another. Useful for flushing caches.
ConfluenceTaskResolveEvent Used by analytics to determine when an inline task has been resolved. @since 4.3
ContentPermissionEvent Event triggered when the permissions change on an ContentEntityObject. Before 5.0, the event was erroneously triggered for each page edit and this bug has been fixed.
DashboardPopularTabViewEvent
DashboardRecentlyUpdatedViewEvent
DatabaseConfiguredEvent This event is sent when the database configuration has been completed during setup.
DirectoryUserRenamedEvent This event is exactly like {@link com.atlassian.crowd.event.user.UserRenamedEvent}, with the exception that it is always guaranteed to be published.

Note that due to possibility of multiple directories containing users with the same username, changes to directory users do not directly correspond with changes to Confluence users.

DomainRestrictedUserSignupEvent
EdgeIndexRebuiltEvent
EmailThreadConversionStartedEvent Event that is published when a user confirms that they want to publish an email thread as a page. @since v5.0
EmailThreadConvertedEvent Event that is published when a page is created from an email. @since v5.0
EmailThreadStagedEvent Event that is published when a page is staged from an email. @since v5.0
ErrorLoggedEvent Published by {@link EventPublishingAppender} when an error is logged by the system.
ExportFinishedEvent Represents completion of an export.
FollowEvent An event fired when a user is followed/
GadgetInstalledEvent This event gets fired when an external gadget is installed.
GadgetUninstalledEvent This event gets published when an external gadget is removed from the system.
GlobalSettingsChangedEvent Event announcing a change in the global configuration of Confluence.

Notes for implementors:

  • This event may be published even when no change has been made to the settings. Always check the 'before' and 'after' snapshots to make sure that the setting you're monitoring has in fact changed.
  • Due to potential race conditions, the 'newSettings' value may not represent the current settings of Confluence - just the ones that are in place after this particular event. If you're ever in doubt, get the settingsManager yourself, and check.
GlobalSettingsViewEvent Represents an administrator viewing the global settings.
GroupCreateEvent
GroupRemoveEvent
ImportFinishedEvent Returns true if this event was published on the local node. Returns false if this event was originally published on another node in a cluster. @return true if this event was published on the local node
IndexQueueFlushCompleteEvent An event to indicate that a flush of the index queue has completed with at least 1 item in the queue.
LabelAddEvent Thrown when an existing label is associated with piece of content (as opposed to be newly created). ページに追加された際に発火する。
LabelCreateEvent Thrown when a label is created and comes into existance. これまでのページに使われていない全く新しいLabelが作られた時にFireする。
LabelDeleteEvent Thrown when a label itself is removed (as opposed to being disassociated from a piece of content). 他のどのページにも使われなくなった際にFireする。
LabelRemoveEvent Thrown when a label is disassociated from a piece of content (as opposed to itself being removed). ページからLabelが削除された際に発火する。
LoginEvent Event representing the act of a user successfully logging into Confluence
LoginFailedEvent Published to indicate failed login - useful to listeners wanting to count n instances of attempt and act on it.
LogoutEvent @return true if the event was fired as a result of the user logging themselves out. Returns false if the logout was caused by the servlet session being destroyed.
MailServerCreateEvent
MailServerDeleteEvent
MailServerEditEvent
MaxCacheSizeChangedEvent Event that indicates that max cache size for a particular cache needs to be changed. @author anatoli
PageChildrenReorderEvent An event where a page's children are re-ordered. No children are added or removed as part of the event, they only change position in the children list.
PageCreateEvent @deprecated since 5.3. Please use {@link com.atlassian.confluence.event.events.content.page.async.PageCreatedEvent}
PageCreateFromTemplateEvent
PageMoveEvent @deprecated since 5.3. Please use {@link com.atlassian.confluence.event.events.content.page.async.PageMovedEvent}
PageRemoveEvent
PageRestoreEvent
PageTrashedEvent @deprecated since 5.3. Please use {@link com.atlassian.confluence.event.events.content.page.async.PageTrashedEvent}
PageTrashedEvent @since 5.3
PageUpdateEvent @deprecated since 5.3. Please use {@link com.atlassian.confluence.event.events.content.page.async.PageEditedEvent}
PersonalInformationCreateEvent Personal information creation event @author Samuel Le Berrigaud
PersonalInformationRemoveEvent Personal information deletion event @author Samuel Le Berrigaud
PersonalInformationUpdateEvent Personal information update event @author Samuel Le Berrigaud
PluginContentCreatedEvent
PluginContentRemovedEvent
PluginContentUpdatedEvent
PluginContentWillBeRemovedForSpaceEvent
PluginDisableEvent
PluginEnableEvent
PluginFrameworkStartedEvent Published when the plugin framework has finished starting. @see com.atlassian.confluence.plugin.ConfluencePluginManager#init() @since 3.5.3
PluginInstallEvent Fired when a plugin is detected by scanForNewPlugins
PluginMacroRegisteredEvent

An event to indicate that a macro has been registered with an XHTML {@link MacroManager} from a plugin.

Note: this event should not be used to indicate that a user macro has been created via RPC or the UI. It should be used to indicate if a user macro was registered from a plugin.

PluginMacroUnregisteredEvent

An event to indicate that a plugin hosted macro has been unregistered with an XHTML {@link MacroManager}.

Note: this event should not be used to indicate that a user macro has been removed via RPC or the UI. It should be used to indicate if a user macro defined in a plugin was unregistered.

PluginModuleDisableEvent
PluginModuleEnableEvent
PluginUninstallEvent
PluginsClassLoaderAvailableEvent Event fired to signal that the plugin system classloader is available for use.
ProfilePictureThumbnailViewEvent Event fired every time a thumbnail of a profile picture attachment is viewed. This isn't really used yet, but some day in the future we might have thumbnails for profile pictures. @since v4.2
ProfilePictureViewEvent Event fired every time a full sized profile picture attachment is viewed. @since 4.2
ReindexFinishedEvent
ReindexStageFinishedEvent
ReindexStageStartedEvent
ReindexStartedEvent
ResetHibernateIdRangeEvent
RpcAuthenticatedEvent Event thrown after successful rpc authentication.
SearchPerformedEvent Event triggered whenever a user performs a search through the search screen or the remote API. It is not triggered by the search macro, or by Lucene-backed queries that are not searches like the dashboard or RSS feeds.
SectionMacroCreatedEvent A layout event is used to define when a page/blog post is created using the section and column macro. @since v4.2
SendTaskEmailEvent Event published by the Inline Tasks plugin so that the Mention plugin sends notifications to task assignees.

The event details the list of modifications from each assignee's perspective, for example in the case of a reassignment, there is one notification for the unassigned and another for the assigned. This is named aggregation.

The priorities of aggregation are:

  1. Reassigning
  2. Changing the status
  3. Renaming
  4. Deleting

@since 4.3
SetupCompleteEvent
SiteLogoChangedEvent
SpaceArchivedEvent
SpaceLogoUpdateEvent Represents a change to the logo of a space.
SpaceRemoveEvent
SpaceTrashEmptyEvent Represents when the trash is emptied, either by a user or by a remote administration call.
SpaceUnArchivedEvent
SpaceWillRemoveEvent Event published when a space is about to be removed, but has not been removed. This gives plugins and the like the opportunity to clean up after themselves.
StatusClearedEvent Fired when a user's current status is cleared.
StatusCreateEvent Event fired when a new user status is created. The terminology might be confusing because elsewhere we would call this a "status update", but the pattern is that Updated events are fired when an entity is modified, while this event is the result of a new status object being created.
StatusRemoveEvent Fired when a user status is deleted.
StylesheetChangedEvent Construct a new StylesheetChangedEvent @param src the source of the event @param spaceKey the key of the space that this event is being applied to, or null if the event is related to the site's global look and feel.
SummaryEmailTrackBackEvent
TemplateRemoveEvent
TemplateUpdateEvent
ThemeChangedEvent Fired when a new theme is selected, either globally or for an individual space.
ThumbnailViewEvent Event fired every time an attachment's thumbnail is viewed. @since 4.2
UpgradeFinishedEvent This event is published when a Confluence upgrade has completed successfully.
UserCreateEvent Event sent when a user is created in Confluence. Note that this event is not sent when a user is discovered during synchronisation with a remote directory, due to the volume of events that would be triggered by this. If it's important for your code to know when any users are created/removed, you should also listen for {@link com.atlassian.crowd.event.directory.RemoteDirectorySynchronisedEvent}s.
UserDeactivateEvent Event sent when a user is made inactive in Confluence. Note that this event is not sent when a user is discovered during synchronisation with a remote directory, due to the volume of events that would be triggered by this. If it's important for your code to know when any users are activated/deactivated, you should also listen for {@link com.atlassian.crowd.event.directory.RemoteDirectorySynchronisedEvent}s.
UserReactivateEvent Event sent when a user is made active in Confluence. Note that this event is not sent when a user is discovered during synchronisation with a remote directory, due to the volume of events that would be triggered by this. If it's important for your code to know when any users are activated/deactivated, you should also listen for {@link com.atlassian.crowd.event.directory.RemoteDirectorySynchronisedEvent}s.
UserRemoveEvent Event sent when a user is removed in Confluence. Note that this event is not sent when a user is discovered during synchronisation with a remote directory, due to the volume of events that would be triggered by this. If it's important for your code to know when any users are created/removed, you should also listen for {@link com.atlassian.crowd.event.directory.RemoteDirectorySynchronisedEvent}s.
WebDAVSettingsChangedEvent
XWorkStateChangeEvent An event that is fired every time an XWork configuration provider required a reload of XWork runtime configuration.
XhtmlFragmentTimeoutEvent An event sent when a {@link XhtmlTimeoutException} occurs when rendering a fragment.
XhtmlMacroTimeoutEvent An event sent when a {@link XhtmlTimeoutException} occurs when rendering a {@link com.atlassian.confluence.macro.Macro}.