Index: 4.0.1/kernel/content/attribute_edit.php
===================================================================
--- 4.0.1/kernel/content/attribute_edit.php	(revision 83)
+++ 4.0.1/kernel/content/attribute_edit.php	(working copy)
@@ -1,4 +1,7 @@
 <?php
+// ###JAC_PATCH_G_20_EZ_4.0.1### ezcontentobjectedithandler::store()
+// Index: kernel/classes/ezcontentobjectedithandler.php
+// Index: kernel/content/attribute_edit.php
 //
 // Created on: <17-Apr-2002 10:34:48 bf>
 //
@@ -319,6 +322,11 @@
     eZContentObject::recursionProtectionEnd();
 }
 
+// ###JAC_PATCH_G_20_EZ_4.0.1###
+// Check extension store() operation
+eZContentObjectEditHandler::executeStore( $Module, $class, $object, $version, $contentObjectAttributes, $EditVersion, $EditLanguage, $FromLanguage );
+
+
 $invalidNodeAssignmentList = array();
 if ( $Module->isCurrentAction( 'Publish' ) )
 {
Index: 4.0.1/kernel/classes/ezcontentobjectedithandler.php
===================================================================
--- 4.0.1/kernel/classes/ezcontentobjectedithandler.php	(revision 83)
+++ 4.0.1/kernel/classes/ezcontentobjectedithandler.php	(working copy)
@@ -1,4 +1,7 @@
 <?php
+// ###JAC_PATCH_G_20_EZ_4.0.1### ezcontentobjectedithandler::store()
+// Index: kernel/classes/ezcontentobjectedithandler.php
+// Index: kernel/content/attribute_edit.php
 //
 // Definition of eZContentObjectEditHandler class
 //
@@ -63,6 +66,16 @@
     {
     }
 
+    //###JAC_PATCH_G_20_EZ_4.0.1###
+    /*!
+     \abstract
+
+     Do content object store operations.
+    */
+    static function store( &$module, &$class, &$object, &$version, &$contentObjectAttributes, $editVersion, $editLanguage, $fromLanguage )
+    {
+    }
+
     /*!
      \abstract
 
@@ -121,6 +134,28 @@
         }
     }
 
+    //###JAC_PATCH_G_20_EZ_4.0.1###
+    /*!
+     \static
+     Calls all store functions.
+    */
+    static function executeStore( &$module, &$class, &$object, &$version, &$contentObjectAttributes, $editVersion, $editLanguage, $fromLanguage )
+    {
+        $contentINI = eZINI::instance( 'content.ini' );
+        foreach( array_unique( $contentINI->variable( 'EditSettings', 'ExtensionDirectories' ) ) as $extensionDirectory )
+        {
+            $fileName = eZExtension::baseDirectory() . '/' . $extensionDirectory . '/content/' . $extensionDirectory . 'handler.php';
+            if ( file_exists( $fileName ) )
+            {
+                include_once( $fileName );
+                $className = $extensionDirectory . 'Handler';
+                $inputHandler = new $className();
+                call_user_func_array( array( $inputHandler, 'store' ),
+                                      array( &$module, &$class, &$object, &$version, &$contentObjectAttributes, $editVersion, $editLanguage, $fromLanguage ) );
+            }
+        }
+    }
+
     /*!
      \static
      Calls all publish functions.
