Index: kernel/content/ezcontentoperationcollection.php
===================================================================
--- kernel/content/ezcontentoperationcollection.php	(revision 22662)
+++ kernel/content/ezcontentoperationcollection.php	(working copy)
@@ -597,6 +597,8 @@
 
     /*!
       Start global transaction.
+
+      \deprecated since version 4.1.0, this method will be removed in future major releases
      */
     function beginPublish()
     {
@@ -606,6 +608,8 @@
 
     /*!
      Stop (commit) global transaction.
+
+     \deprecated since version 4.1.0, this method will be removed in future major releases
      */
     function endPublish()
     {
Index: kernel/content/operation_definition.php
===================================================================
--- kernel/content/operation_definition.php	(revision 22662)
+++ kernel/content/operation_definition.php	(working copy)
@@ -93,11 +93,6 @@
                                                                             'version' )
                                                            ),
                                                     array( 'type' => 'method',
-                                                           'name' => 'begin-publish',
-                                                           'frequency' => 'once',
-                                                           'method' => 'beginPublish'
-                                                           ),
-                                                    array( 'type' => 'method',
                                                            'name' => 'copy-translations',
                                                            'frequency' => 'once',
                                                            'method' => 'copyTranslations' ),
@@ -225,12 +220,6 @@
                                                            ),
 
                                                     array( 'type' => 'method',
-                                                           'name' => 'end-publish',
-                                                           'frequency' => 'once',
-                                                           'method' => 'endPublish',
-                                                           ),
-
-                                                    array( 'type' => 'method',
                                                            'name' => 'remove-temporary-drafts',
                                                            'frequency' => 'once',
                                                            'method' => 'removeTemporaryDrafts'
Index: lib/ezutils/classes/ezmoduleoperationinfo.php
===================================================================
--- lib/ezutils/classes/ezmoduleoperationinfo.php	(revision 22662)
+++ lib/ezutils/classes/ezmoduleoperationinfo.php	(working copy)
@@ -165,6 +165,10 @@
             if ( isset( $operationDefinition['keys'] ) )
                 $operationKeys = $operationDefinition['keys'];
             $operationParameterDefinitions = $operationDefinition['parameters'];
+
+            $db = eZDB::instance();
+            $db->begin();
+
             $this->storeOperationMemento( $operationKeys, $operationParameterDefinitions, $operationParameters, $bodyCallCount, $operationName );
 
             $runOperation = true;
@@ -258,6 +262,8 @@
             }
             */
             $this->Memento = null;
+
+            $db->commit();
         }
         else
         {
