Easy Extension Tasks
An Easy Extension task belongs to the activity performed while executing an Extension Event.
Type of Tasks
There are following Easy Extension Tasks defined in Easy Extension Framework:
Copy Task
The Copy Task copies an Easy Extension from the checked out repository directory to the SAP Commerce Cloud data directory (HYBRIS_DATA_DIR
). The processor EasyExtensionCopyTaskProcessor
is responsible for performing the execution for the Copy Task.
Load Properties
The Load Properties task loads the properties defined in the easy.properties
into SAP Commerce Cloud properties configurations. This ensures to update the history of the property value updated by a property defined in the easy.properties
resource bundle. The processor EasyExtensionLoadPropertiesTaskProcessor
is responsible for performing the execution for the Load Properties Task.
Unload Properties
The Unload Properties task restores the historical value of the properties defined in easy.properties
. The processor EasyExtensionUnloadPropertiesTaskProcessor
is responsible for performing the execution for Unload Properties Task.
Load Type Models
The Loads Type Models task loads the models classes defined for the Easy Types in an Easy Extension. The processor EasyExtensionLoadModelClassesTaskProcessor
is responsible for performing the execution for Load Type Models Task.
Load Easy Types
The Load Easy Types task creates or updates the Easy Types defined in an Easy Extension. The processor EasyExtensionEasyTypeTaskProcessor
is responsible for performing the execution for Load Easy Types Task.
Load Beans
The Load Beans loads the spring beans defined in the EasyBeans.groovy
. The processor EasyExtensionLoadBeansTaskProcessor
is responsible for performing the execution for Load Beans Task.
ImpEx Import
The ImpEx Import task imports the ImpEx scripts defined in src/main/resources/impex/install
directory for install events and the ImEx scripts defined in src/main/resources/impex/uninstall
directory for uninstall events. The processor EasyExtensionImpExImportTaskProcessor
is responsible for performing the execution for ImpEx Import Task.
Load Init Script
The Load Init Script task executes the Init.groovy
script from the Easy extension during install and reload events processing. The processor EasyExtensionInitScriptTaskProcessor
is responsible for performing the execution for Load Init Script Task.
Synchronize with Blob Storage
The Synchronize with Blob Storage task performs the following actions:
synchronizes the Easy Extension to the Azure Blob Storage from the master server node's data directory (
HYBRIS_DATA_DIR
) during installation,synchronizes the Easy Extension from the Azure Blob Storage to the non-master server nodes' data directory (
HYBRIS_DATA_DIR
) during installation,synchronizes the Easy Extension from the Azure Blob Storage to all server nodes' data directory (
HYBRIS_DATA_DIR
) during startup,
The processor SynchronizeWithBlobStorageTaskProcessor
is responsible for performing the execution for Synchronizing the Easy Extension in HYBRIS_DATA_DIR
with Azure Blob Storage.
Version Update
The Version Update task performs the following actions:
updates the installed
version
on installation for Easy Extension. The processorEasyExtensionVersionUpdateTaskProcessor
is responsible for performing the execution for Version Update Task to update the installed version of the Easy Extension.updates the installed
revision
on installation for Easy Extension. The processorEasyExtensionVersionUpdateTaskProcessor
is responsible for performing the execution for Version Update Task to update the installed revision of the Easy Extension.marks the Easy Extension as
not installed
after uninstallation. The processorEasyExtensionVersionUpdateTaskProcessor
is responsible for performing the execution for Version Update Task to mark the extension asNot Installed
.Updates the priority of the Easy Extension to ensure the Easy Extension loads in the correct order with dependencies. The processor
EasyExtensionPriorityUpdateTaskProcessor
is responsible for performing the execution for Version Update Task to update the Easy Extension priority.Clears the
entityCache
andqueryCache
regions from region cache. The processorEasyExtensionCacheTaskProcessor
is responsible for performing the execution for Version Update Task to clear the cache.
Update Backoffice Configuration
The Update Backoffice Configuration task merges the backoffice configuration defined in the Easy Extension during installation. The processor EasyExtensionBackofficeConfigUpdateTaskProcessor
is responsible for performing the execution for Update Backoffice Configuration Task.
Uninstall Backoffice Configuration
Uninstall Backoffice Configuration task cleans up the backoffice configuration defined in the Easy Extension during uninstallation. The processor EasyExtensionBackofficeConfigUninstallTaskProcessor
is responsible for performing the execution for Uninstall Backoffice Configuration Task.
Applicability of Easy Extension Tasks by Event Type
The combination and order of execution for the tasks varies based on the type of event those needs to execute for. Refer to the specific documentation of event specific tasks at:
Configuration of Easy Extension Tasks by Event Type
The EasyExtensionTaskConfigurer
defines the rules for applicability of a task in various conditions like:
Applicability by node type
Applicability on startup
Applicability for installation
Applicability for reload
Applicability for uninstallation
Applicability for Local Repository
Applicability by storage strategy (Local/Azure Blob Storage)
Applicability by backoffice context availability
The EasyExtensionTaskConfigurer
throws EasyExtensionTaskConfigurationException
if the task is not applicable in a particular scenario.
There are two implementations for the EasyExtensionTaskConfigurer
DefaultEasyExtensionTaskConfigurer
for all nodesBackofficeEasyExtensionTaskConfigurer
for nodes where backoffice is disabled
Scheduling of Easy Extension Tasks
The EasyExtensionTaskScheduler
is responsible for scheduling the Easy Extension tasks configured by the EasyExtensionTaskConfigurer
for a particular type of Easy Local Event. This defines the tasks to perform for an event locally on a server node and in a particular order.
Processing of Easy Extension Tasks
There exists one or more task processors for each Easy Event Task type. The processors implement the interface EasyExtensionTaskProcessor
to perform the execution of the tasks.