public interface I_CmsModuleAction extends I_CmsEventListener
A module action class allows to perform special functions on certain
OpenCms lifecycle system events, like initialize(CmsObject, CmsConfigurationManager, CmsModule)
or
shutDown(CmsModule)
.
A_CmsModuleAction
EVENT_BEFORE_PUBLISH_PROJECT, EVENT_CLEAR_CACHES, EVENT_CLEAR_OFFLINE_CACHES, EVENT_CLEAR_ONLINE_CACHES, EVENT_CLEAR_PRINCIPAL_CACHES, EVENT_FLEX_CACHE_CLEAR, EVENT_FLEX_PURGE_JSP_REPOSITORY, EVENT_FULLSTATIC_EXPORT, EVENT_GROUP_MODIFIED, EVENT_LOGIN_USER, EVENT_OU_MODIFIED, EVENT_PROJECT_MODIFIED, EVENT_PROPERTY_DEFINITION_CREATED, EVENT_PROPERTY_DEFINITION_MODIFIED, EVENT_PROPERTY_MODIFIED, EVENT_PUBLISH_PROJECT, EVENT_REBUILD_SEARCHINDEXES, EVENT_RESOURCE_AND_PROPERTIES_MODIFIED, EVENT_RESOURCE_COPIED, EVENT_RESOURCE_CREATED, EVENT_RESOURCE_DELETED, EVENT_RESOURCE_MODIFIED, EVENT_RESOURCE_MOVED, EVENT_RESOURCES_AND_PROPERTIES_MODIFIED, EVENT_RESOURCES_MODIFIED, EVENT_SITEMAP_CHANGED, EVENT_UPDATE_EXPORTS, EVENT_USER_MODIFIED, KEY_CHANGE, KEY_DBCONTEXT, KEY_GROUP_ID, KEY_GROUP_NAME, KEY_INDEX_NAMES, KEY_OU_ID, KEY_OU_NAME, KEY_PROJECTID, KEY_PUBLISHID, KEY_PUBLISHLIST, KEY_REPORT, KEY_RESOURCE, KEY_RESOURCES, KEY_USER_ACTION, KEY_USER_ID, KEY_USER_NAME, LISTENERS_FOR_ALL_EVENTS, VALUE_GROUP_MODIFIED_ACTION_CREATE, VALUE_GROUP_MODIFIED_ACTION_DELETE, VALUE_GROUP_MODIFIED_ACTION_WRITE, VALUE_OU_MODIFIED_ACTION_CREATE, VALUE_OU_MODIFIED_ACTION_DELETE, VALUE_USER_MODIFIED_ACTION_ADD_USER_TO_GROUP, VALUE_USER_MODIFIED_ACTION_CREATE_USER, VALUE_USER_MODIFIED_ACTION_DELETE_USER, VALUE_USER_MODIFIED_ACTION_REMOVE_USER_FROM_GROUP, VALUE_USER_MODIFIED_ACTION_RESET_PASSWORD, VALUE_USER_MODIFIED_ACTION_SET_OU, VALUE_USER_MODIFIED_ACTION_WRITE_USER
Modifier and Type | Method and Description |
---|---|
void |
initialize(CmsObject adminCms,
CmsConfigurationManager configurationManager,
CmsModule module)
Will be called by the OpenCms system during server startup.
|
void |
moduleUninstall(CmsModule module)
Will be called if a module is uninstalled from an OpenCms system.
|
void |
moduleUpdate(CmsModule module)
Will be called if the module this action instance belongs to is updated.
|
void |
publishProject(CmsObject cms,
CmsPublishList publishList,
int publishTag,
I_CmsReport report)
Will be called during a the publish process after the resources have been published,
but before the publish event is fired.
|
void |
shutDown(CmsModule module)
Will be called by the OpenCms system during server shutdown.
|
cmsEvent
void initialize(CmsObject adminCms, CmsConfigurationManager configurationManager, CmsModule module)
If a module requires special initialization code, this is a good place to to implement this functions.
Moreover, if the module requires special "one time" setup code, this should also be implemented here. For example if the module requires special DB tables to be created, you should implement a check if theses tables exist in this method, and if they don't exist create them as needed.
adminCms
- an initialized CmsObject with "Admin" permissionsconfigurationManager
- the initialized OpenCms configuration managermodule
- the module of this action instancevoid moduleUninstall(CmsModule module)
If you require special code to be executed if a module is uninstalled, implement it in this function.
Please note that there is no install()
method.
This is because the class loader will not have the module class
instance available after module installation/upload. If you
need to execute setup/install code, do this in the initialize(CmsObject, CmsConfigurationManager, CmsModule)
method during the next server startup.
This method is not called if the module this action instance belongs to
is "replaced". In this case moduleUpdate(CmsModule)
is called after the
new version of the module is installed.
module
- the module of this action instanceinitialize(CmsObject, CmsConfigurationManager, CmsModule)
void moduleUpdate(CmsModule module)
module
- the module of this action instance with the updated valuesvoid publishProject(CmsObject cms, CmsPublishList publishList, int publishTag, I_CmsReport report)
If you require special code to be executed after a resource is published, implement it in this function any analyze the publish list for "interesting" resources.
cms
- the user context the publish was executed withpublishList
- the list of published resourcespublishTag
- the publish tagreport
- the report to write messages to