eZ Community » Blogs » Thiago Campos Viana » Tip: The minimum workflow event...

By

Tip: The minimum workflow event extension

Friday 19 August 2011 2:30:06 pm

  • 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:

  • minevent
    • settings
    • eventtypes
      • event
        • minevent

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(self::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".

Proudly Developed with from