Tip: The minimum workflow event extension
Friday 19 August 2011 5:30:06 am
- Currently 4 out of 5 Stars.
- 1
- 2
- 3
- 4
- 5
In this post I will show how to create and setup the minimum workflow event extension.
First create the following structure inside the extension folder:
Then we define all the events this extension has by creating the minevent/settings/workflow.ini.append.php file:
<?php
/*
[EventSettings]
ExtensionDirectories[]=minevent
AvailableEventTypes[]=event_minevent
*/
?>
Finally create the minevent/eventtypes/event/minevent/mineventtype.php
<?php
class MinEventType extends eZWorkflowEventType {
const WORKFLOW_TYPE_STRING = "minevent";
function MinEventType() {
$this->eZWorkflowEventType(MinEventType::WORKFLOW_TYPE_STRING, "MinEvent");
/* define trigger here */
$this->setTriggerTypes(array('content' => array('publish' => array('after'))));
}
function execute($process, $event) {
/* code goes here */
echo "Hello Event";
eZExecution::cleanExit();
//return eZWorkflowType::STATUS_ACCEPTED;
}
}
eZWorkflowEventType::registerEventType(MinEventType::WORKFLOW_TYPE_STRING, "MinEventType");
?>
In administrator user interface, click 'setup' tab->'extensions' menu, select 'minevent', click button 'Apply Changes', click button 'Regenerate autoload arrays for extensions'. Clear the cache.
Create the MinEvent workflow: 'Workflows'->'Standard'->'New workflow'->'minevent' ( name MinEvent ).
Setup MinEvent trigger: 'Triggers'-> 'content-publish-after' ( choose MinEvent ). Apply changes.
Go to "Content", edit and publish some content object, you will see the "Hello Event".