diff --git a/src/main/java/org/olat/modules/ceditor/ui/PageEditorV2Controller.java b/src/main/java/org/olat/modules/ceditor/ui/PageEditorV2Controller.java
index 0f644a53f705b4c8472a2d3637f893fe92feb251..cd0cb07a3a87e7a6c8524544d5c3274ed80c4c95 100644
--- a/src/main/java/org/olat/modules/ceditor/ui/PageEditorV2Controller.java
+++ b/src/main/java/org/olat/modules/ceditor/ui/PageEditorV2Controller.java
@@ -63,6 +63,7 @@ import org.olat.modules.ceditor.ui.event.MoveDownElementEvent;
 import org.olat.modules.ceditor.ui.event.MoveUpElementEvent;
 import org.olat.modules.ceditor.ui.event.OpenAddElementEvent;
 import org.olat.modules.ceditor.ui.event.PositionEnum;
+import org.olat.modules.ceditor.ui.event.SaveElementEvent;
 
 /**
  * 
@@ -215,6 +216,8 @@ public class PageEditorV2Controller extends BasicController {
 			doDrop(ureq, (DropToEditorEvent)event);
 		} else if(event instanceof DropToPageElementEvent) {
 			doDrop(ureq, (DropToPageElementEvent)event);
+		} else if(event instanceof SaveElementEvent) {
+			fireEvent(ureq, Event.CHANGED_EVENT);
 		}
 	}
 	
@@ -228,6 +231,8 @@ public class PageEditorV2Controller extends BasicController {
 			}
 			return true;
 		}, editorCmp, false).visitAll(ureq);
+
+		fireEvent(ureq, Event.CHANGED_EVENT);
 	}
 	
 	private void doCloseEditionEvent(UserRequest ureq, String elementId) {
diff --git a/src/main/java/org/olat/modules/ceditor/ui/component/ContentEditorFragmentComponent.java b/src/main/java/org/olat/modules/ceditor/ui/component/ContentEditorFragmentComponent.java
index de2c1e07473ac8bd45525c76a1daf776f7f4574b..337d99de699f35b79578949d560c336c55b26f26 100644
--- a/src/main/java/org/olat/modules/ceditor/ui/component/ContentEditorFragmentComponent.java
+++ b/src/main/java/org/olat/modules/ceditor/ui/component/ContentEditorFragmentComponent.java
@@ -46,6 +46,7 @@ import org.olat.modules.ceditor.ui.event.MoveDownElementEvent;
 import org.olat.modules.ceditor.ui.event.MoveUpElementEvent;
 import org.olat.modules.ceditor.ui.event.OpenAddElementEvent;
 import org.olat.modules.ceditor.ui.event.PositionEnum;
+import org.olat.modules.ceditor.ui.event.SaveElementEvent;
 
 /**
  * 
@@ -147,6 +148,7 @@ public class ContentEditorFragmentComponent extends FormBaseComponentImpl implem
 					break;
 				case "save_element":
 					doCloseEditFragment();
+					fireEvent(ureq, new SaveElementEvent(this));
 					break;
 				case "delete_element":
 					fireEvent(ureq, new DeleteElementEvent(this));
@@ -209,6 +211,7 @@ public class ContentEditorFragmentComponent extends FormBaseComponentImpl implem
 			((PageElementEditorController)editorPart).setEditMode(false);
 		}
 		setDirty(true);
+		
 	}
 
 	@Override
diff --git a/src/main/java/org/olat/modules/ceditor/ui/event/SaveElementEvent.java b/src/main/java/org/olat/modules/ceditor/ui/event/SaveElementEvent.java
new file mode 100644
index 0000000000000000000000000000000000000000..a0bae30834a09a828f5887c52352e56a6324e881
--- /dev/null
+++ b/src/main/java/org/olat/modules/ceditor/ui/event/SaveElementEvent.java
@@ -0,0 +1,48 @@
+/**
+ * <a href="http://www.openolat.org">
+ * OpenOLAT - Online Learning and Training</a><br>
+ * <p>
+ * Licensed under the Apache License, Version 2.0 (the "License"); <br>
+ * you may not use this file except in compliance with the License.<br>
+ * You may obtain a copy of the License at the
+ * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
+ * <p>
+ * Unless required by applicable law or agreed to in writing,<br>
+ * software distributed under the License is distributed on an "AS IS" BASIS, <br>
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
+ * See the License for the specific language governing permissions and <br>
+ * limitations under the License.
+ * <p>
+ * Initial code contributed and copyrighted by<br>
+ * frentix GmbH, http://www.frentix.com
+ * <p>
+ */
+package org.olat.modules.ceditor.ui.event;
+
+import org.olat.core.gui.control.Event;
+import org.olat.modules.ceditor.ui.component.ContentEditorFragment;
+
+/**
+ * 
+ * Initial date: 24 juin 2020<br>
+ * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
+ *
+ */
+public class SaveElementEvent extends Event {
+
+	private static final long serialVersionUID = 3300706246686745496L;
+
+	public static final String SAVE_ELEMENT = "ce-save-element";
+	
+	private final ContentEditorFragment component;
+	
+	public SaveElementEvent(ContentEditorFragment component) {
+		super(SAVE_ELEMENT);
+		this.component = component;
+	}
+	
+	public ContentEditorFragment getComponent() {
+		return component;
+	}
+
+}