From 752b4e286dc68039ea2b823fd0088a671023d9f6 Mon Sep 17 00:00:00 2001
From: uhensler <urs.hensler@frentix.com>
Date: Wed, 4 Sep 2019 11:38:59 +0200
Subject: [PATCH] OO-4207: Hide the conventional access configuration in
 learning path mode

New concept to wire the course node edit controllers.
Applied to single page course node.
---
 .../ConditionNodeAccessProvider.java          |   8 +-
 ...TabbableConditionNodeConfigController.java | 117 ++++++++++++++++++
 .../course/editor/NodeEditController.java     |  53 +++-----
 .../editor/VisibilityEditController.java      |  94 ++++++++++++++
 .../editor/_i18n/LocalStrings_ar.properties   |   1 +
 .../editor/_i18n/LocalStrings_bg.properties   |   1 +
 .../editor/_i18n/LocalStrings_cs.properties   |   1 +
 .../editor/_i18n/LocalStrings_da.properties   |   2 +-
 .../editor/_i18n/LocalStrings_de.properties   |   5 +-
 .../editor/_i18n/LocalStrings_el.properties   |   1 +
 .../editor/_i18n/LocalStrings_en.properties   |   1 +
 .../editor/_i18n/LocalStrings_es.properties   |   1 +
 .../editor/_i18n/LocalStrings_fr.properties   |   1 +
 .../editor/_i18n/LocalStrings_it.properties   |   1 +
 .../editor/_i18n/LocalStrings_jp.properties   |   1 +
 .../editor/_i18n/LocalStrings_lt.properties   |   1 +
 .../_i18n/LocalStrings_nl_NL.properties       |   1 +
 .../editor/_i18n/LocalStrings_pl.properties   |   1 +
 .../_i18n/LocalStrings_pt_BR.properties       |   1 +
 .../_i18n/LocalStrings_pt_PT.properties       |   1 +
 .../editor/_i18n/LocalStrings_ru.properties   |   1 +
 .../editor/_i18n/LocalStrings_sq.properties   |   1 +
 .../_i18n/LocalStrings_zh_CN.properties       |   1 +
 .../_i18n/LocalStrings_zh_TW.properties       |   1 +
 .../LearningPathNodeAccessProvider.java       |   4 +-
 .../course/nodeaccess/NodeAccessProvider.java |   4 +-
 .../course/nodeaccess/NodeAccessService.java  |   7 +-
 .../manager/NodeAccessServiceImpl.java        |   5 +-
 .../org/olat/course/nodes/CourseNode.java     |  14 ++-
 .../olat/course/nodes/GenericCourseNode.java  |   5 +
 .../org/olat/course/nodes/SPCourseNode.java   |   5 +
 .../course/nodes/sp/SPEditController.java     |  26 +---
 .../nodes/sp/_i18n/LocalStrings_ar.properties |   1 -
 .../nodes/sp/_i18n/LocalStrings_bg.properties |   1 -
 .../nodes/sp/_i18n/LocalStrings_cs.properties |   1 -
 .../nodes/sp/_i18n/LocalStrings_da.properties |   1 -
 .../nodes/sp/_i18n/LocalStrings_de.properties |   1 -
 .../nodes/sp/_i18n/LocalStrings_el.properties |   1 -
 .../nodes/sp/_i18n/LocalStrings_en.properties |   1 -
 .../nodes/sp/_i18n/LocalStrings_es.properties |   1 -
 .../nodes/sp/_i18n/LocalStrings_fa.properties |   1 -
 .../nodes/sp/_i18n/LocalStrings_fr.properties |   1 -
 .../nodes/sp/_i18n/LocalStrings_it.properties |   1 -
 .../nodes/sp/_i18n/LocalStrings_jp.properties |   1 -
 .../nodes/sp/_i18n/LocalStrings_lt.properties |   1 -
 .../sp/_i18n/LocalStrings_nl_NL.properties    |   1 -
 .../nodes/sp/_i18n/LocalStrings_pl.properties |   1 -
 .../sp/_i18n/LocalStrings_pt_BR.properties    |   1 -
 .../sp/_i18n/LocalStrings_pt_PT.properties    |   1 -
 .../nodes/sp/_i18n/LocalStrings_ru.properties |   1 -
 .../nodes/sp/_i18n/LocalStrings_sq.properties |   1 -
 .../sp/_i18n/LocalStrings_zh_CN.properties    |   1 -
 .../sp/_i18n/LocalStrings_zh_TW.properties    |   1 -
 53 files changed, 292 insertions(+), 96 deletions(-)
 create mode 100644 src/main/java/org/olat/course/condition/TabbableConditionNodeConfigController.java
 create mode 100644 src/main/java/org/olat/course/editor/VisibilityEditController.java

diff --git a/src/main/java/org/olat/course/condition/ConditionNodeAccessProvider.java b/src/main/java/org/olat/course/condition/ConditionNodeAccessProvider.java
index e784c7226f5..3695f913bce 100644
--- a/src/main/java/org/olat/course/condition/ConditionNodeAccessProvider.java
+++ b/src/main/java/org/olat/course/condition/ConditionNodeAccessProvider.java
@@ -30,6 +30,7 @@ import org.olat.course.nodeaccess.NodeAccessProvider;
 import org.olat.course.nodes.CourseNode;
 import org.olat.course.run.userview.NodeEvaluationBuilder;
 import org.olat.course.run.userview.UserCourseEnvironment;
+import org.olat.course.tree.CourseEditorTreeModel;
 import org.springframework.stereotype.Service;
 
 /**
@@ -42,7 +43,7 @@ import org.springframework.stereotype.Service;
 public class ConditionNodeAccessProvider implements NodeAccessProvider {
 	
 	public static String TYPE = "condition";
-
+	
 	@Override
 	public String getType() {
 		return TYPE;
@@ -60,7 +61,10 @@ public class ConditionNodeAccessProvider implements NodeAccessProvider {
 	}
 
 	@Override
-	public TabbableController createEditController(UserRequest ureq, WindowControl wControl, CourseNode courseNode) {
+	public TabbableController createEditController(UserRequest ureq, WindowControl wControl, CourseNode courseNode, UserCourseEnvironment userCourseEnvironment, CourseEditorTreeModel editorModel) {
+		if (!courseNode.hasCustomAccessConditionController()) {
+			return new TabbableConditionNodeConfigController(ureq, wControl, courseNode, userCourseEnvironment, editorModel);
+		}
 		return null;
 	}
 
diff --git a/src/main/java/org/olat/course/condition/TabbableConditionNodeConfigController.java b/src/main/java/org/olat/course/condition/TabbableConditionNodeConfigController.java
new file mode 100644
index 00000000000..a91533f9d57
--- /dev/null
+++ b/src/main/java/org/olat/course/condition/TabbableConditionNodeConfigController.java
@@ -0,0 +1,117 @@
+/**
+ * <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.course.condition;
+
+import org.olat.core.gui.UserRequest;
+import org.olat.core.gui.components.Component;
+import org.olat.core.gui.components.tabbedpane.TabbedPane;
+import org.olat.core.gui.control.Controller;
+import org.olat.core.gui.control.Event;
+import org.olat.core.gui.control.WindowControl;
+import org.olat.core.gui.control.generic.tabbable.ActivateableTabbableDefaultController;
+import org.olat.core.util.Util;
+import org.olat.course.assessment.AssessmentHelper;
+import org.olat.course.editor.NodeEditController;
+import org.olat.course.editor.VisibilityEditController;
+import org.olat.course.nodes.AbstractAccessableCourseNode;
+import org.olat.course.nodes.CourseNode;
+import org.olat.course.run.userview.UserCourseEnvironment;
+import org.olat.course.tree.CourseEditorTreeModel;
+
+/**
+ * 
+ * Initial date: 3 Sep 2019<br>
+ * @author uhensler, urs.hensler@frentix.com, http://www.frentix.com
+ *
+ */
+public class TabbableConditionNodeConfigController extends ActivateableTabbableDefaultController {
+
+	private static final String PANE_TAB_VISIBILITY = "pane.tab.visibility";
+	private static final String PANE_TAB_ACCESSIBILITY = "pane.tab.accessibility";
+	private final static String[] paneKeys = { PANE_TAB_VISIBILITY, PANE_TAB_ACCESSIBILITY };
+	
+	private final CourseNode courseNode;
+	private final VisibilityEditController visibilityCtrl;
+	private ConditionEditController accessCtrl;
+	private TabbedPane tabPane;
+	
+	public TabbableConditionNodeConfigController(UserRequest ureq, WindowControl wControl, CourseNode courseNode,
+			UserCourseEnvironment userCourseEnvironment, CourseEditorTreeModel editorModel) {
+		super(ureq, wControl);
+		this.courseNode = courseNode;
+		setTranslator(Util.createPackageTranslator(NodeEditController.class, getLocale(), getTranslator()));
+		
+		visibilityCtrl = new VisibilityEditController(ureq, getWindowControl(), courseNode, userCourseEnvironment,
+				editorModel);
+		listenTo(visibilityCtrl);
+		
+		if (courseNode instanceof AbstractAccessableCourseNode) {
+			Condition accessCondition = courseNode.getPreConditionAccess();
+			accessCtrl = new ConditionEditController(ureq, wControl, userCourseEnvironment, accessCondition,
+					AssessmentHelper.getAssessableNodes(editorModel, courseNode));
+			listenTo(accessCtrl);
+		}
+	}
+
+	@Override
+	public void addTabs(TabbedPane tabbedPane) {
+		tabPane = tabbedPane;
+		tabbedPane.addTab(translate(PANE_TAB_VISIBILITY), visibilityCtrl.getInitialComponent());
+		if (accessCtrl != null) {
+			tabbedPane.addTab(translate(PANE_TAB_ACCESSIBILITY),
+					accessCtrl.getWrappedDefaultAccessConditionVC(translate("condition.accessibility.title")));
+			
+		}
+	}
+
+	@Override
+	public String[] getPaneKeys() {
+		return paneKeys;
+	}
+
+	@Override
+	public TabbedPane getTabbedPane() {
+		return tabPane;
+	}
+
+	@Override
+	public void event(UserRequest ureq, Controller source, Event event) {
+		if (source == visibilityCtrl) {
+			if (event == NodeEditController.NODECONFIG_CHANGED_EVENT) {
+				fireEvent(ureq, NodeEditController.NODECONFIG_CHANGED_EVENT);
+			}
+		} else if (source == visibilityCtrl && event.equals(Event.CHANGED_EVENT)) {
+			Condition cond = accessCtrl.getCondition();
+			((AbstractAccessableCourseNode)courseNode).setPreConditionAccess(cond);
+			fireEvent(ureq, NodeEditController.NODECONFIG_CHANGED_EVENT);
+		}
+	}
+	
+	@Override
+	protected void event(UserRequest ureq, Component source, Event event) {
+		//
+	}
+
+	@Override
+	protected void doDispose() {
+		//
+	}
+
+}
diff --git a/src/main/java/org/olat/course/editor/NodeEditController.java b/src/main/java/org/olat/course/editor/NodeEditController.java
index a5a5eb5263d..74a796749a1 100644
--- a/src/main/java/org/olat/course/editor/NodeEditController.java
+++ b/src/main/java/org/olat/course/editor/NodeEditController.java
@@ -39,9 +39,6 @@ import org.olat.core.helpers.Settings;
 import org.olat.core.logging.activity.CourseLoggingAction;
 import org.olat.core.logging.activity.ThreadLocalUserActivityLogger;
 import org.olat.course.ICourse;
-import org.olat.course.assessment.AssessmentHelper;
-import org.olat.course.condition.Condition;
-import org.olat.course.condition.ConditionEditController;
 import org.olat.course.condition.ConditionNodeAccessProvider;
 import org.olat.course.nodeaccess.NodeAccessService;
 import org.olat.course.nodeaccess.NodeAccessType;
@@ -76,13 +73,12 @@ public class NodeEditController extends ActivateableTabbableDefaultController im
 	public final static String CONFIG_JS_ENCODING_AUTO = "auto";
 	
 	private CourseNode courseNode;
-	private VelocityContainer descriptionVc, visibilityVc;
+	private VelocityContainer descriptionVc;
 
 	private NodeConfigFormController nodeConfigController;
 
-	private ConditionEditController visibilityCondContr;
-	private NoAccessExplEditController noAccessContr;
 	private TabbedPane myTabbedPane;
+	private VisibilityEditController visibilityEditCtrl;
 	private TabbableController nodeAccessCtrl;
 	private TabbableController childTabsCntrllr;
 
@@ -126,31 +122,20 @@ public class NodeEditController extends ActivateableTabbableDefaultController im
 		listenTo(nodeConfigController);
 		descriptionVc.put("nodeConfigForm", nodeConfigController.getInitialComponent());
 		
-		// Visibility and no-access explanation component
-		visibilityVc = createVelocityContainer("visibilityedit");
-
 		NodeAccessType nodeAccessType = course.getCourseConfig().getNodeAccessType();
 		if (nodeAccessService.isSupported(nodeAccessType, courseNode)) {
-			if (!ConditionNodeAccessProvider.TYPE.equals(nodeAccessType.getType())) {
-				TabbableController nodeAccessCtrl = nodeAccessService.createEditController(ureq, getWindowControl(),
-						nodeAccessType, courseNode);
+			TabbableController nodeAccessCtrl = nodeAccessService.createEditController(ureq, getWindowControl(),
+					nodeAccessType, courseNode, userCourseEnvironment, course.getEditorTreeModel());
+			if (nodeAccessCtrl != null) {
 				this.nodeAccessCtrl = nodeAccessCtrl;
 				listenTo(nodeAccessCtrl);
-			} else {
-				// Visibility precondition
-				Condition visibCondition = courseNode.getPreConditionVisibility();
-				visibilityCondContr = new ConditionEditController(ureq, getWindowControl(), userCourseEnvironment, visibCondition, 
-						AssessmentHelper.getAssessableNodes(course.getEditorTreeModel(), courseNode));
-				listenTo(visibilityCondContr);
-				visibilityVc.put("visibilityCondition", visibilityCondContr.getInitialComponent());
-			}
+			} else if (ConditionNodeAccessProvider.TYPE.equals(nodeAccessType.getType())) {
+				// fallback for legacy access edit controller
+				visibilityEditCtrl = new VisibilityEditController(ureq, getWindowControl(), courseNode,
+						userCourseEnvironment, course.getEditorTreeModel());
+				listenTo(visibilityEditCtrl);
+			}	
 		}
-
-		// No-Access-Explanation
-		String noAccessExplanation = courseNode.getNoAccessExplanation();
-		noAccessContr = new NoAccessExplEditController(ureq, getWindowControl(), noAccessExplanation);
-		listenTo(noAccessContr);
-		visibilityVc.put("noAccessExplanationComp", noAccessContr.getInitialComponent());
 	}
 
 	@Override
@@ -160,16 +145,8 @@ public class NodeEditController extends ActivateableTabbableDefaultController im
 
 	@Override
 	public void event(UserRequest urequest, Controller source, Event event) {
-		if (source == visibilityCondContr) {
-			if (event == Event.CHANGED_EVENT) {
-				Condition cond = visibilityCondContr.getCondition();
-				courseNode.setPreConditionVisibility(cond);
-				fireEvent(urequest, NodeEditController.NODECONFIG_CHANGED_EVENT);
-			}
-		} else if (source == noAccessContr) {
-			if (event == Event.CHANGED_EVENT) {
-				String noAccessExplanation = noAccessContr.getNoAccessExplanation();
-				courseNode.setNoAccessExplanation(noAccessExplanation);
+		if (source == visibilityEditCtrl) {
+			if (event == NodeEditController.NODECONFIG_CHANGED_EVENT) {
 				fireEvent(urequest, NodeEditController.NODECONFIG_CHANGED_EVENT);
 			}
 		} else if (source == nodeAccessCtrl) {
@@ -215,8 +192,8 @@ public class NodeEditController extends ActivateableTabbableDefaultController im
 		if (nodeAccessCtrl != null) {
 			nodeAccessCtrl.addTabs(tabbedPane);
 		}
-		if (visibilityCondContr !=null) {
-			tabbedPane.addTab(translate(PANE_TAB_VISIBILITY), visibilityVc);
+		if (visibilityEditCtrl !=null) {
+			tabbedPane.addTab(translate(PANE_TAB_VISIBILITY), visibilityEditCtrl.getInitialComponent());
 		}
 		if (childTabsCntrllr != null) {
 			childTabsCntrllr.addTabs(tabbedPane);
diff --git a/src/main/java/org/olat/course/editor/VisibilityEditController.java b/src/main/java/org/olat/course/editor/VisibilityEditController.java
new file mode 100644
index 00000000000..0b5104fd0cd
--- /dev/null
+++ b/src/main/java/org/olat/course/editor/VisibilityEditController.java
@@ -0,0 +1,94 @@
+/**
+ * <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.course.editor;
+
+import org.olat.core.gui.UserRequest;
+import org.olat.core.gui.components.Component;
+import org.olat.core.gui.components.velocity.VelocityContainer;
+import org.olat.core.gui.control.Controller;
+import org.olat.core.gui.control.Event;
+import org.olat.core.gui.control.WindowControl;
+import org.olat.core.gui.control.controller.BasicController;
+import org.olat.course.assessment.AssessmentHelper;
+import org.olat.course.condition.Condition;
+import org.olat.course.condition.ConditionEditController;
+import org.olat.course.nodes.CourseNode;
+import org.olat.course.run.userview.UserCourseEnvironment;
+import org.olat.course.tree.CourseEditorTreeModel;
+
+/**
+ * 
+ * Initial date: 4 Sep 2019<br>
+ * @author uhensler, urs.hensler@frentix.com, http://www.frentix.com
+ *
+ */
+public class VisibilityEditController extends BasicController {
+
+	private final VelocityContainer mainVc;
+	private ConditionEditController visibilityConditionCtrl;
+	private NoAccessExplEditController noAccessContr;
+
+	private final CourseNode courseNode;
+
+	public VisibilityEditController(UserRequest ureq, WindowControl wControl, CourseNode courseNode,
+			UserCourseEnvironment userCourseEnvironment, CourseEditorTreeModel editorModel) {
+		super(ureq, wControl);
+		this.courseNode = courseNode;
+		mainVc = createVelocityContainer("visibilityedit");
+		
+		Condition visibilityCondition = courseNode.getPreConditionVisibility();
+		visibilityConditionCtrl = new ConditionEditController(ureq, getWindowControl(), userCourseEnvironment, visibilityCondition,
+				AssessmentHelper.getAssessableNodes(editorModel, courseNode));
+		listenTo(visibilityConditionCtrl);
+		mainVc.put("visibilityCondition", visibilityConditionCtrl.getInitialComponent());
+		
+		String noAccessExplanation = courseNode.getNoAccessExplanation();
+		noAccessContr = new NoAccessExplEditController(ureq, getWindowControl(), noAccessExplanation);
+		listenTo(noAccessContr);
+		mainVc.put("noAccessExplanationComp", noAccessContr.getInitialComponent());
+		
+		putInitialPanel(mainVc);
+	}
+
+	@Override
+	protected void event(UserRequest ureq, Controller source, Event event) {
+		if (source == visibilityConditionCtrl && event == Event.CHANGED_EVENT) {
+			Condition cond = visibilityConditionCtrl.getCondition();
+			courseNode.setPreConditionVisibility(cond);
+			fireEvent(ureq, NodeEditController.NODECONFIG_CHANGED_EVENT);
+		} else if (source == noAccessContr && event == Event.CHANGED_EVENT) {
+			String noAccessExplanation = noAccessContr.getNoAccessExplanation();
+			courseNode.setNoAccessExplanation(noAccessExplanation);
+			fireEvent(ureq, NodeEditController.NODECONFIG_CHANGED_EVENT);
+		}
+		super.event(ureq, source, event);
+	}
+
+	@Override
+	protected void event(UserRequest ureq, Component source, Event event) {
+		//
+	}
+
+	@Override
+	protected void doDispose() {
+		//
+	}
+
+}
diff --git a/src/main/java/org/olat/course/editor/_i18n/LocalStrings_ar.properties b/src/main/java/org/olat/course/editor/_i18n/LocalStrings_ar.properties
index c8defcc50f8..0d96f4e7278 100644
--- a/src/main/java/org/olat/course/editor/_i18n/LocalStrings_ar.properties
+++ b/src/main/java/org/olat/course/editor/_i18n/LocalStrings_ar.properties
@@ -384,6 +384,7 @@ nodeEdit.extLink=\u0631\u0627\u0628\u0637 \u062E\u0627\u0631\u062C\u0649
 nodeEdit.intLink=\u0631\u0627\u0628\u0637 \u062F\u0627\u062E\u0644\u0649 (\u0644\u0627 \u062A\u0641\u062A\u062D\u0647 \u0641\u0649 \u0646\u0627\u0641\u0630\u0629 \u062C\u062F\u064A\u062F\u0629)
 nodeEdit.links=\u0648\u0636\u0639 \u0631\u0627\u0628\u0637 \u0644\u0639\u0646\u0635\u0631 \u0627\u0644\u0645\u0642\u0631\u0631
 nodeEdit.linksIntro=\u0644\u0644\u0625\u0634\u0627\u0631\u0629 \u0625\u0644\u0649 \u0639\u0646\u0635\u0631 \u0627\u0644\u0645\u0642\u0631\u0631 \u0645\u0646 \u062E\u0627\u0631\u062C \u0627\u0644\u0645\u0642\u0631\u0631 \u0642\u0645 \u0628\u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0631\u0627\u0628\u0637 \u062E\u0627\u0631\u062C\u0649\u060C \u0648\u0644\u0648\u0636\u0639 \u0631\u0648\u0627\u0628\u0637 \u062F\u0627\u062E\u0644 \u0627\u0644\u0645\u0642\u0631\u0631 \u0627\u0633\u062A\u062E\u062F\u0645 \u0631\u0627\u0628\u0637 \u062F\u0627\u062E\u0644\u0649.
+pane.tab.accessibility=\u0648\u0635\u0648\u0644
 pane.tab.general=\u0627\u0644\u0639\u0646\u0648\u0627\u0646 \u0648\u0627\u0644\u0648\u0635\u0641
 pane.tab.visibility=\u0627\u0644\u0638\u0647\u0648\u0631
 pbl.access.warning=<b>\u0647\u0627\u0645\:</b>\r\n\u0627\u0644\u062A\u0639\u062F\u064A\u0644\u0627\u062A \u0628\u062E\u0635\u0648\u0635 \u0627\u0644\u0648\u0635\u0648\u0644 \u0644\u0644\u0645\u0642\u0631\u0631 \u0633\u062A\u0624\u062B\u0631 \u0639\u0644\u0649 \u0627\u0644\u0645\u0642\u0631\u0631 \u0627\u0644\u062D\u0627\u0644\u0649.
diff --git a/src/main/java/org/olat/course/editor/_i18n/LocalStrings_bg.properties b/src/main/java/org/olat/course/editor/_i18n/LocalStrings_bg.properties
index 05cc29bd529..faa7cc2b45e 100644
--- a/src/main/java/org/olat/course/editor/_i18n/LocalStrings_bg.properties
+++ b/src/main/java/org/olat/course/editor/_i18n/LocalStrings_bg.properties
@@ -372,6 +372,7 @@ nodeEdit.extLink=\u0412\u044A\u043D\u0448\u043D\u0430 \u0432\u0440\u044A\u0437\u
 nodeEdit.intLink=\u0412\u044A\u0442\u0440\u0435\u0448\u043D\u0430 \u0432\u0440\u044A\u0437\u043A\u0430 (\u043D\u0435 \u0441\u0435 \u043E\u0442\u0432\u0430\u0440\u044F \u0432 \u043D\u043E\u0432 \u043F\u0440\u043E\u0437\u043E\u0440\u0435\u0446)
 nodeEdit.links=\u0421\u044A\u0437\u0434\u0430\u0439\u0442\u0435 \u0432\u0440\u044A\u0437\u043A\u0430 \u0437\u0430 \u0442\u043E\u0437\u0438 \u043A\u0443\u0440\u0441\u043E\u0432 \u0435\u043B\u0435\u043C\u0435\u043D\u0442
 nodeEdit.linksIntro=\u0418\u0437\u043F\u043E\u043B\u0437\u0432\u0430\u0439\u0442\u0435 \u0432\u044A\u043D\u0448\u043D\u0430 \u0432\u0440\u044A\u0437\u043A\u0430, \u0430\u043A\u043E \u0438\u0441\u043A\u0430\u0442\u0435 \u0434\u0430 \u043D\u0430\u043F\u0440\u0430\u0432\u0438\u0442\u0435 \u0440\u0435\u0444\u0435\u0440\u0435\u043D\u0446\u0438\u0438 \u043A\u044A\u043C \u0442\u043E\u0437\u0438 \u043A\u0443\u0440\u0441\u043E\u0432 \u0435\u043B\u0435\u043C\u0435\u043D\u0442 \u0438\u0437\u0432\u044A\u043D \u043A\u0443\u0440\u0441\u0430. \u0418\u0437\u043F\u043E\u043B\u0437\u0432\u0430\u0439\u0442\u0435 \u0432\u044A\u0442\u0440\u0435\u0448\u043D\u0430 \u0432\u0440\u044A\u0437\u043A\u0430, \u0430\u043A\u043E \u0438\u0441\u043A\u0430\u0442\u0435 \u0434\u0430 \u0441\u044A\u0437\u0434\u0430\u0434\u0435\u0442\u0435 \u0432\u0440\u044A\u0437\u043A\u0438 \u0432\u044A\u0442\u0440\u0435 \u0432 \u043A\u0443\u0440\u0441\u0430.
+pane.tab.accessibility=\u0414\u043E\u0441\u0442\u044A\u043F
 pane.tab.general=\u0417\u0430\u0433\u043B\u0430\u0432\u0438\u0435 \u0438 \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u0435
 pane.tab.visibility=\u0412\u0438\u0434\u0438\u043C\u043E\u0441\u0442
 pbl.access.warning=<b>\u0412\u0430\u0436\u043D\u043E\:</b> \u041F\u0440\u043E\u043C\u0435\u043D\u0438 \u0437\u0430\u0441\u044F\u0433\u0430\u0449\u0438 \u0434\u043E\u0441\u0442\u044A\u043F \u0434\u043E \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D \u043A\u0443\u0440\u0441 \u0449\u0435 \u0437\u0430\u0441\u0435\u0433\u043D\u0430\u0442 \u0446\u0435\u043B\u0438\u044F \u043A\u0443\u0440\u0441.
diff --git a/src/main/java/org/olat/course/editor/_i18n/LocalStrings_cs.properties b/src/main/java/org/olat/course/editor/_i18n/LocalStrings_cs.properties
index e1516e82e5f..af0cbdb430c 100644
--- a/src/main/java/org/olat/course/editor/_i18n/LocalStrings_cs.properties
+++ b/src/main/java/org/olat/course/editor/_i18n/LocalStrings_cs.properties
@@ -353,6 +353,7 @@ nodeEdit.extLink=Extern\u00ED odkaz
 nodeEdit.intLink=Intern\u00ED odkaz
 nodeEdit.links=Nastav odkaz pro tento element kurzu
 nodeEdit.linksIntro=K prov\u00E1z\u00E1n\u00ED tohoto elementu kurzu element z oblasti mimo kurz pou\u017E\u00EDvejte extern\u00ED odkaz. K nastaven\u00ED odkazu uvnit\u0159 kurzu pou\u017E\u00EDvejte intern\u00ED.
+pane.tab.accessibility=P\u0159\u00EDstup
 pane.tab.general=Popis
 pane.tab.visibility=Viditelnost
 pbl.access.warning=<b>D\u016Fle\u017Eit\u00E9\:</b> \u00DApravy ke vstupu do kurzu se projev\u00ED po vstupu.
diff --git a/src/main/java/org/olat/course/editor/_i18n/LocalStrings_da.properties b/src/main/java/org/olat/course/editor/_i18n/LocalStrings_da.properties
index 64b6cadb99f..724b9e165ff 100644
--- a/src/main/java/org/olat/course/editor/_i18n/LocalStrings_da.properties
+++ b/src/main/java/org/olat/course/editor/_i18n/LocalStrings_da.properties
@@ -222,7 +222,7 @@ nodeEdit.extLink=Eksternt link
 nodeEdit.intLink=Internt link
 nodeEdit.links=S\u00E6t et link for dette kursuselement
 nodeEdit.linksIntro=For at referere til dette kursuselement udenfor dette kursus skal det eksterne link benyttes. For at lave links indenfor kurset benyttes et internt link.
-pane.tab.general=Beskrivelse
+pane.tab.accessibility=Adgangepane.tab.general=Beskrivelse
 pane.tab.visibility=Synlighed
 pbl.access.warning=<b>Vigtigt\:</b> \u00C6ndringer til adgangen for kurset vil p\u00E5virke hele kurset.
 pbl.access.warning.header=Vigtigt
diff --git a/src/main/java/org/olat/course/editor/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/course/editor/_i18n/LocalStrings_de.properties
index a2f26142c7a..6ce423306f9 100644
--- a/src/main/java/org/olat/course/editor/_i18n/LocalStrings_de.properties
+++ b/src/main/java/org/olat/course/editor/_i18n/LocalStrings_de.properties
@@ -411,7 +411,7 @@ legend.ok=Kursbaustein bereit zum Publizieren
 legend.title=Legende
 legend.warn=Konfiguration enth\u00E4lt m\u00F6glicherweise Fehler
 lock.alreadylocked=Der Kurseditor wird momentan vom Benutzer {0} verwendet (seit {1}). Bitte kontaktieren Sie den Benutzer oder versuchen Sie es sp\u00E4ter noch einmal.
-longtitle.placeholder=Geben Sie hier einen optionalen Inhaltstitel an f\u00fcr "{0}"
+longtitle.placeholder=Geben Sie hier einen optionalen Inhaltstitel an f\u00FCr "{0}"
 management=Verwaltung und Organisation
 move.course.element.title=Kursbaustein verschieben
 movecopynode.error.overlap=Kopieren/Verschieben nicht m\u00F6glich\: Der Zielknoten ist Teil des ausgew\u00E4hlten Baumes.
@@ -443,6 +443,7 @@ nodeEdit.intLink=Interner Link (nicht in neuem Fenster \u00F6ffnen)
 nodeEdit.links=Link auf diesen Kursbaustein setzen
 nodeEdit.linksIntro=Um von ausserhalb des Kurses auf diesen Kursbaustein zu verweisen, verwenden Sie den externen Link. Um innerhalb des Kurses Links zu setzen, verwenden Sie den internen Link.
 other=Andere
+condition.accessibility.title=Zugang
 pane.tab.general=Titel und Beschreibung
 pane.tab.visibility=Sichtbarkeit
 password.field=$org.olat.course.condition.additionalconditions\:password.field
@@ -456,7 +457,7 @@ pbl.intro=Bitte w\u00E4hlen Sie die Kursbausteine aus, welche Sie publizieren m\
 pbl.intro.warning=Beim Publizieren von gel\u00F6schten Kursbausteinen werden deren untergeordnete Kursbausteine ebenfalls gel\u00F6scht. Analog werden beim Publizieren von neuen Kursbausteinen deren untergeordnete Kursbausteine ebenfalls publiziert.
 pbl.intro.warning.header=Wichtig
 pbl.quick.title=\u00C4nderungen publizieren
-pbl.quick.description=Der Kurs enth\u00e4lt unver\u00f6ffentlichte \u00C4nderungen. Wollen Sie diese vor dem Schliessen publizieren?
+pbl.quick.description=Der Kurs enth\u00E4lt unver\u00F6ffentlichte \u00C4nderungen. Wollen Sie diese vor dem Schliessen publizieren?
 pbl.quick.no=Nein
 pbl.quick.manual=Ja, manuell
 pbl.quick.auto=Ja, automatisch
diff --git a/src/main/java/org/olat/course/editor/_i18n/LocalStrings_el.properties b/src/main/java/org/olat/course/editor/_i18n/LocalStrings_el.properties
index afa0322bc9b..67e191fd73b 100644
--- a/src/main/java/org/olat/course/editor/_i18n/LocalStrings_el.properties
+++ b/src/main/java/org/olat/course/editor/_i18n/LocalStrings_el.properties
@@ -384,6 +384,7 @@ nodeEdit.extLink=\u0395\u03BE\u03C9\u03C4\u03B5\u03C1\u03B9\u03BA\u03CC\u03C2 \u
 nodeEdit.intLink=\u0395\u03C3\u03C9\u03C4\u03B5\u03C1\u03B9\u03BA\u03CC\u03C2 \u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03BC\u03BF\u03C2
 nodeEdit.links=\u039F\u03C1\u03B9\u03C3\u03BC\u03CC\u03C2 \u03C3\u03C5\u03BD\u03B4\u03AD\u03C3\u03BC\u03BF\u03C5 \u03B3\u03B9\u03B1 \u03C4\u03BF \u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03BF \u03BC\u03B1\u03B8\u03AE\u03BC\u03B1\u03C4\u03BF\u03C2
 nodeEdit.linksIntro=\u0393\u03B9\u03B1 \u03BD\u03B1 \u03B1\u03BD\u03B1\u03C6\u03B5\u03C1\u03B8\u03B5\u03AF\u03C4\u03B5 \u03C3\u03C4\u03BF \u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03BF \u03BC\u03B1\u03B8\u03AE\u03BC\u03B1\u03C4\u03BF\u03C2 \u03B1\u03C0\u03CC \u03C3\u03B7\u03BC\u03B5\u03AF\u03BF \u03B5\u03BA\u03C4\u03CC\u03C2 \u03C4\u03BF\u03C5 \u03BC\u03B1\u03B8\u03AE\u03BC\u03B1\u03C4\u03BF\u03C2 \u03C7\u03C1\u03B7\u03C3\u03B9\u03BC\u03BF\u03C0\u03BF\u03B9\u03AE\u03C3\u03C4\u03B5 \u03C4\u03BF\u03BD \u03B5\u03BE\u03C9\u03C4\u03B5\u03C1\u03B9\u03BA\u03CC \u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03BC\u03BF. \u0393\u03B9\u03B1 \u03BD\u03B1 \u03BF\u03C1\u03AF\u03C3\u03B5\u03C4\u03B5 \u03C3\u03C5\u03BD\u03B4\u03AD\u03C3\u03BC\u03BF\u03C5\u03C2 \u03B5\u03BD\u03C4\u03CC\u03C2 \u03C4\u03BF\u03C5 \u03BC\u03B1\u03B8\u03AE\u03BC\u03B1\u03C4\u03BF\u03C2 \u03C7\u03C1\u03B7\u03C3\u03B9\u03BC\u03BF\u03C0\u03BF\u03B9\u03AE\u03C3\u03C4\u03B5 \u03B5\u03C3\u03C9\u03C4\u03B5\u03C1\u03B9\u03BA\u03CC \u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03BC\u03BF.
+pane.tab.accessibility=\u03A0\u03C1\u03CC\u03C3\u03B2\u03B1\u03C3\u03B7
 pane.tab.general=\u03A0\u03B5\u03C1\u03B9\u03B3\u03C1\u03B1\u03C6\u03AE
 pane.tab.visibility=\u039F\u03C1\u03B1\u03C4\u03CC\u03C4\u03B7\u03C4\u03B1
 pbl.access.warning=<b>\u03A3\u03B7\u03BC\u03B1\u03BD\u03C4\u03B9\u03BA\u03CC\:</b> \u0391\u03BB\u03BB\u03B1\u03B3\u03AD\u03C2 \u03C0\u03BF\u03C5 \u03B1\u03C6\u03BF\u03C1\u03BF\u03CD\u03BD \u03C4\u03B7\u03BD \u03C0\u03C1\u03CC\u03C3\u03B2\u03B1\u03C3\u03B7 \u03C3\u03B5 \u03AD\u03BD\u03B1 \u03BC\u03AC\u03B8\u03B7\u03BC\u03B1 \u03BA\u03B1\u03B9 \u03C4\u03B7\u03BD \u03B5\u03C0\u03AF\u03B4\u03C1\u03B1\u03C3\u03B7 \u03B1\u03C5\u03C4\u03AE\u03C2 \u03C3\u03B5 \u03BF\u03BB\u03CC\u03BA\u03BB\u03B7\u03C1\u03BF \u03C4\u03BF \u03BC\u03AC\u03B8\u03B7\u03BC\u03B1.
diff --git a/src/main/java/org/olat/course/editor/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/course/editor/_i18n/LocalStrings_en.properties
index 70a4e444af9..0499ff7fdf6 100644
--- a/src/main/java/org/olat/course/editor/_i18n/LocalStrings_en.properties
+++ b/src/main/java/org/olat/course/editor/_i18n/LocalStrings_en.properties
@@ -443,6 +443,7 @@ nodeEdit.intLink=Internal link (do not open in new window)
 nodeEdit.links=Set link for this course element
 nodeEdit.linksIntro=To refer to this course element from outside the course use an external link. To set links within the course use an internal link.
 other=Other
+pane.tab.accessibility=Access
 pane.tab.general=Title and description
 pane.tab.visibility=Visibility
 password.field=$org.olat.course.condition.additionalconditions\:password.field
diff --git a/src/main/java/org/olat/course/editor/_i18n/LocalStrings_es.properties b/src/main/java/org/olat/course/editor/_i18n/LocalStrings_es.properties
index 0f34916f6c6..62246571ab6 100644
--- a/src/main/java/org/olat/course/editor/_i18n/LocalStrings_es.properties
+++ b/src/main/java/org/olat/course/editor/_i18n/LocalStrings_es.properties
@@ -372,6 +372,7 @@ nodeEdit.extLink=Enlace externo
 nodeEdit.intLink=Enlace interno
 nodeEdit.links=Establecer enlace para este elemento de curso
 nodeEdit.linksIntro=Para referirse a este elemento de curso desde fuera del curso utiliza el enlace externo. Para establecer enlaces dentro del curso utiliza el enlace interno.
+pane.tab.accessibility=Acceso
 pane.tab.general=Titulo y descripci\u00F3n
 pane.tab.visibility=Visibilidad
 pbl.access.warning=<b>Importante\:</b> modificaciones del access al curso pueden affectar el curso entero.
diff --git a/src/main/java/org/olat/course/editor/_i18n/LocalStrings_fr.properties b/src/main/java/org/olat/course/editor/_i18n/LocalStrings_fr.properties
index 349624d097c..db954fdb6cb 100644
--- a/src/main/java/org/olat/course/editor/_i18n/LocalStrings_fr.properties
+++ b/src/main/java/org/olat/course/editor/_i18n/LocalStrings_fr.properties
@@ -114,6 +114,7 @@ nodeEdit.intLink=Lien interne
 nodeEdit.links=Ins\u00E9rer un lien vers cet \u00E9l\u00E9ment de cours
 nodeEdit.linksIntro=Pour faire une r\u00E9f\u00E9rence vers cet \u00E9l\u00E9ment de cours depuis l'ext\u00E9rieur, utilisez le lien externe. Pour ins\u00E9rer un lien \u00E0 l'int\u00E9rieur du cours, utilisez le lien interne.
 other=Autres
+pane.tab.accessibility=Acc\u00E8s
 pane.tab.general=Titre et description
 pane.tab.visibility=Visibilit\u00E9 
 password.field=$org.olat.course.condition.additionalconditions\:password.field
diff --git a/src/main/java/org/olat/course/editor/_i18n/LocalStrings_it.properties b/src/main/java/org/olat/course/editor/_i18n/LocalStrings_it.properties
index a5e06357820..b1ae19c640c 100644
--- a/src/main/java/org/olat/course/editor/_i18n/LocalStrings_it.properties
+++ b/src/main/java/org/olat/course/editor/_i18n/LocalStrings_it.properties
@@ -114,6 +114,7 @@ nodeEdit.intLink=Link interno
 nodeEdit.links=Inserire un link verso questo elemento di corso
 nodeEdit.linksIntro=Per rimandare a questo elemento dall'esterno del corso, utilizzi il link esterno. Per inserire dei link all'interno del corso, utilizzi il link interno.
 other=Altro
+pane.tab.accessibility=Accesso
 pane.tab.general=Titolo e descrizione
 pane.tab.visibility=Visibilit\u00E0
 password.field=$org.olat.course.condition.additionalconditions\:password.field
diff --git a/src/main/java/org/olat/course/editor/_i18n/LocalStrings_jp.properties b/src/main/java/org/olat/course/editor/_i18n/LocalStrings_jp.properties
index 8ddd8a4f645..1f428f25e73 100644
--- a/src/main/java/org/olat/course/editor/_i18n/LocalStrings_jp.properties
+++ b/src/main/java/org/olat/course/editor/_i18n/LocalStrings_jp.properties
@@ -137,6 +137,7 @@ nodeEdit.extLink=\u5916\u90E8\u30EA\u30F3\u30AF
 nodeEdit.intLink=\u5185\u90E8\u30EA\u30F3\u30AF (\u65B0\u3057\u3044\u30A6\u30A3\u30F3\u30C9\u30A6\u3067\u306F\u8868\u793A\u3055\u308C\u307E\u305B\u3093)
 nodeEdit.links=\u3053\u306E\u30B3\u30FC\u30B9\u30A8\u30EC\u30E1\u30F3\u30C8\u306B\u30EA\u30F3\u30AF\u3092\u8A2D\u5B9A\u3059\u308B
 nodeEdit.linksIntro=\u3053\u306E\u30B3\u30FC\u30B9\u30A8\u30EC\u30E1\u30F3\u30C8\u3092\u5916\u90E8\u304B\u3089\u53C2\u7167\u3059\u308B\u5834\u5408\u3001\u30B3\u30FC\u30B9\u306F\u5916\u90E8\u30EA\u30F3\u30AF\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002\u30B3\u30FC\u30B9\u5185\u3067\u30EA\u30F3\u30AF\u3092\u8A2D\u5B9A\u3059\u308B\u306B\u306F\u3001\u5185\u90E8\u30EA\u30F3\u30AF\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+pane.tab.accessibility=\u30A2\u30AF\u30BB\u30B9
 pane.tab.general=\u30BF\u30A4\u30C8\u30EB\u304A\u3088\u3073\u8AAC\u660E
 pane.tab.visibility=\u53EF\u8996\u6027
 pbl.access.warning=<b>\u91CD\u8981\:</b> \u30B3\u30FC\u30B9\u30A2\u30AF\u30BB\u30B9\u306B\u95A2\u3059\u308B\u901A\u77E5\u306E\u4FEE\u6B63\u306F\u3001\u3059\u3079\u3066\u306E\u30B3\u30FC\u30B9\u306B\u5F71\u97FF\u3057\u307E\u3059\u3002
diff --git a/src/main/java/org/olat/course/editor/_i18n/LocalStrings_lt.properties b/src/main/java/org/olat/course/editor/_i18n/LocalStrings_lt.properties
index 185c4c38d80..2f342708878 100644
--- a/src/main/java/org/olat/course/editor/_i18n/LocalStrings_lt.properties
+++ b/src/main/java/org/olat/course/editor/_i18n/LocalStrings_lt.properties
@@ -343,6 +343,7 @@ nodeEdit.extLink=I\u0161orin\u0117 nuoroda
 nodeEdit.intLink=Vidin\u0117 nuoroda
 nodeEdit.links=Nustatykite nuorod\u0105 \u012F kurso element\u0105
 nodeEdit.linksIntro=Nurodant \u012F \u0161i kurso element\u0105 i\u0161 kurso i\u0161or\u0117s naudojama i\u0161orin\u0117 nuoroda. Nustatant nuorod\u0105 kurso viduje naudokite vidin\u0119 nuorod\u0105.  
+pane.tab.accessibility=Prieiga
 pane.tab.general=Apra\u0161as
 pane.tab.visibility=Matomumas
 pbl.confirm=Pra\u0161ome patvirtinti publikacij\u0105 \u0161i\u0173 kurso element\u0173
diff --git a/src/main/java/org/olat/course/editor/_i18n/LocalStrings_nl_NL.properties b/src/main/java/org/olat/course/editor/_i18n/LocalStrings_nl_NL.properties
index eca0a470a04..126f2e37f2a 100644
--- a/src/main/java/org/olat/course/editor/_i18n/LocalStrings_nl_NL.properties
+++ b/src/main/java/org/olat/course/editor/_i18n/LocalStrings_nl_NL.properties
@@ -405,6 +405,7 @@ nodeEdit.extLink=Externe link
 nodeEdit.intLink=Intene link (niet openen in een nieuw venster)
 nodeEdit.links=Link voor dit cursuselement zetten.
 nodeEdit.linksIntro=Om naar dit cursuselement van buitenaf te refereren moet u een externe link gebruiken. Om links binnen de cursus te zetten moet u een interne link gebruiken.
+pane.tab.accessibility=Toegang
 pane.tab.general=Titel en omschrijving
 pane.tab.visibility=Zichtbaarheid
 pbl.access.warning=<b>Belangrijk\:</b> Aanpassingen betreffende de toegang tot een cursus zullen de hele cursus be\u00EFnvloeden.
diff --git a/src/main/java/org/olat/course/editor/_i18n/LocalStrings_pl.properties b/src/main/java/org/olat/course/editor/_i18n/LocalStrings_pl.properties
index a0e7652915b..abeee8d4636 100644
--- a/src/main/java/org/olat/course/editor/_i18n/LocalStrings_pl.properties
+++ b/src/main/java/org/olat/course/editor/_i18n/LocalStrings_pl.properties
@@ -379,6 +379,7 @@ nodeEdit.extLink=Zewn\u0119trzny link
 nodeEdit.intLink=Wewn\u0119trzny link
 nodeEdit.links=Linki
 nodeEdit.linksIntro=By dosta\u0107 si\u0119 do tego elementu kursu z poza OLAT u\u017Cyj linka zewn\u0119trznego. Aby ustawi\u0107 linki wewn\u0105trz kursu u\u017Cyj linka wewn\u0119trznego.
+pane.tab.accessibility=Dost\u0119p
 pane.tab.general=Opis
 pane.tab.visibility=Widoczno\u015B\u0107
 password.field=$org.olat.course.condition.additionalconditions\:password.field
diff --git a/src/main/java/org/olat/course/editor/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/course/editor/_i18n/LocalStrings_pt_BR.properties
index c30a2c3cc3b..8477a1725c3 100644
--- a/src/main/java/org/olat/course/editor/_i18n/LocalStrings_pt_BR.properties
+++ b/src/main/java/org/olat/course/editor/_i18n/LocalStrings_pt_BR.properties
@@ -114,6 +114,7 @@ nodeEdit.intLink=Link interno
 nodeEdit.links=Links para este elemento de curso
 nodeEdit.linksIntro=Para usar este elemento de curso de fora do curso, ou de fora do OLAT, usar o link externo. Para usar este elemento de curso dentro do pr\u00F3prio curso usar o link interno.
 other=Outro
+pane.tab.accessibility=Acesso
 pane.tab.general=Descri\u00E7\u00E3o
 pane.tab.visibility=Visibilidade
 password.field=$org.olat.course.condition.additionalconditions\:password.field
diff --git a/src/main/java/org/olat/course/editor/_i18n/LocalStrings_pt_PT.properties b/src/main/java/org/olat/course/editor/_i18n/LocalStrings_pt_PT.properties
index 8e820eec3da..571f1db6c8d 100644
--- a/src/main/java/org/olat/course/editor/_i18n/LocalStrings_pt_PT.properties
+++ b/src/main/java/org/olat/course/editor/_i18n/LocalStrings_pt_PT.properties
@@ -313,6 +313,7 @@ nodeEdit.extLink=Link externo
 nodeEdit.intLink=Link interno
 nodeEdit.links=Links para este elemento de curso
 nodeEdit.linksIntro=Para usar este elemento de curso de fora do curso, ou de fora do OLAT, usar o link externo. Para usar este elemento de curso dentro do pr\u00F3prio curso usar o link interno.
+pane.tab.accessibility=Acesso
 pane.tab.general=Descri\u00E7\u00E3o
 pane.tab.visibility=Visibilidade
 pbl.access.warning=<b>Importante\:</b> Modifica\u00E7\u00F5es referentes a acesso ao curso ir\u00E3o afetar o curso inteiro.
diff --git a/src/main/java/org/olat/course/editor/_i18n/LocalStrings_ru.properties b/src/main/java/org/olat/course/editor/_i18n/LocalStrings_ru.properties
index 2b78bcc1e28..661900246b7 100644
--- a/src/main/java/org/olat/course/editor/_i18n/LocalStrings_ru.properties
+++ b/src/main/java/org/olat/course/editor/_i18n/LocalStrings_ru.properties
@@ -197,6 +197,7 @@ nodeEdit.extLink=\u0412\u043D\u0435\u0448\u043D\u044F\u044F \u0441\u0441\u044B\u
 nodeEdit.intLink=\u0412\u043D\u0443\u0442\u0440\u0435\u043D\u043D\u044F\u044F \u0441\u0441\u044B\u043B\u043A\u0430 
 nodeEdit.links=\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443 \u043D\u0430 \u0434\u0430\u043D\u043D\u044B\u0439 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u043D\u044B\u0439 \u044D\u043B\u0435\u043C\u0435\u043D\u0442 
 nodeEdit.linksIntro=\u0414\u043B\u044F \u0442\u043E\u0433\u043E, \u0447\u0442\u043E\u0431\u044B \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443, \u043D\u0430\u0445\u043E\u0434\u044F\u0449\u0443\u044E\u0441\u044F \u0432\u043D\u0435 \u044D\u0442\u043E\u0433\u043E \u043A\u0443\u0440\u0441\u0430, \u043D\u0430 \u0434\u0430\u043D\u043D\u044B\u0439 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u043D\u044B\u0439 \u044D\u043B\u0435\u043C\u0435\u043D\u0442, \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u0432\u043D\u0435\u0448\u043D\u044E\u044E \u0441\u0441\u044B\u043B\u043A\u0443. \u0414\u043B\u044F \u0442\u043E\u0433\u043E, \u0447\u0442\u043E\u0431\u044B \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0438 \u0432\u043D\u0443\u0442\u0440\u0438 \u044D\u0442\u043E\u0433\u043E \u043A\u0443\u0440\u0441\u0430, \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u0432\u043D\u0443\u0442\u0440\u0435\u043D\u043D\u044E\u044E \u0441\u0441\u044B\u043B\u043A\u0443.
+pane.tab.accessibility=\u0414\u043E\u0441\u0442\u0443\u043F
 pane.tab.general=\u0418\u043C\u044F \u0438 \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u0435
 pane.tab.visibility=\u0412\u0438\u0434\u0438\u043C\u043E\u0441\u0442\u044C
 pbl.access.warning=<b>\u0412\u0430\u0436\u043D\u043E\:</b> \u0418\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u0434\u043E\u0441\u0442\u0443\u043F\u0430 \u043A \u043A\u0443\u0440\u0441\u0443 \u043A\u0430\u0441\u0430\u044E\u0442\u0441\u044F \u0432\u0441\u0435\u0433\u043E \u043A\u0443\u0440\u0441\u0430.  
diff --git a/src/main/java/org/olat/course/editor/_i18n/LocalStrings_sq.properties b/src/main/java/org/olat/course/editor/_i18n/LocalStrings_sq.properties
index 7c8f8efa59b..e01727511a1 100644
--- a/src/main/java/org/olat/course/editor/_i18n/LocalStrings_sq.properties
+++ b/src/main/java/org/olat/course/editor/_i18n/LocalStrings_sq.properties
@@ -322,6 +322,7 @@ nodeEdit.extLink=Vjeg\u00EBzat e Jashtme
 nodeEdit.intLink=Vjeg\u00EBzat e Brend\u00EBshme
 nodeEdit.links=Cakto vjeg\u00EBz\u00EBn p\u00EBr k\u00EBt\u00EB element kursi
 nodeEdit.linksIntro=P\u00EBr t'iu referuar k\u00EBtij elementi t\u00EB k\u00EBtij kursi nga jasht\u00EB kursi p\u00EBrdor vjeg\u00EBzat e jashtme. P\u00EBr t\u00EB p\u00EBrcaktuar vjeg\u00EBzat brenda kursit p\u00EBrdor vjeg\u00EBz t\u00EB brend\u00EBshme.
+pane.tab.accessibility=Qasshm\u00EBria
 pane.tab.general=P\u00EBrshkrimi
 pane.tab.visibility=Pamja
 pbl.access.warning=<b>Me r\u00EBnd\u00EBsi\:</b> Ndryshimet q\u00EB kan\u00EB t\u00EB b\u00EBjn\u00EB me qasjen do t\u00EB afektojn\u00EB t\u00EBr\u00EB kursin.
diff --git a/src/main/java/org/olat/course/editor/_i18n/LocalStrings_zh_CN.properties b/src/main/java/org/olat/course/editor/_i18n/LocalStrings_zh_CN.properties
index 26a950df6e8..b50a1a7791d 100644
--- a/src/main/java/org/olat/course/editor/_i18n/LocalStrings_zh_CN.properties
+++ b/src/main/java/org/olat/course/editor/_i18n/LocalStrings_zh_CN.properties
@@ -90,6 +90,7 @@ nodeEdit.extLink=\u5916\u90E8\u94FE\u63A5
 nodeEdit.intLink=\u5185\u90E8\u94FE\u63A5
 nodeEdit.links=\u4E3A\u8BE5\u8BFE\u7A0B\u5143\u7D20\u8BBE\u7F6E\u94FE\u63A5 
 nodeEdit.linksIntro=\u4F7F\u7528\u5916\u90E8\u94FE\u63A5\u53EF\u4EE5\u4ECE\u7CFB\u7EDF\u5916\u90E8\u5F15\u7528\u8BE5\u8BFE\u7A0B\u5143\u7D20\uFF0C\u4F7F\u7528\u5185\u90E8\u94FE\u63A5\u4E3A\u8BE5\u8BFE\u7A0B\u8BBE\u7F6E\u8BBF\u95EE\u5730\u5740\u3002 
+pane.tab.accessibility=\u8BBF\u95EE
 pane.tab.general=\u8BF4\u660E
 pane.tab.visibility=\u53EF\u89C1\u6027 
 pbl.access.warning=<b>\u91CD\u8981\uFF1A</b>\u4FEE\u6539\u4E00\u4E2A\u5B66\u7A0B\u7684\u8BBF\u95EE\u6027\u4F1A\u5F71\u54CD\u5230\u6574\u4E2A\u5B66\u7A0B\u3002
diff --git a/src/main/java/org/olat/course/editor/_i18n/LocalStrings_zh_TW.properties b/src/main/java/org/olat/course/editor/_i18n/LocalStrings_zh_TW.properties
index 30c75e8575d..b7ca0ad71b4 100644
--- a/src/main/java/org/olat/course/editor/_i18n/LocalStrings_zh_TW.properties
+++ b/src/main/java/org/olat/course/editor/_i18n/LocalStrings_zh_TW.properties
@@ -93,6 +93,7 @@ nodeEdit.extLink=\u5916\u90E8\u9023\u7D50
 nodeEdit.intLink=\u5167\u90E8\u9023\u7D50 (\u8ACB\u52FF\u5728\u65B0\u8996\u7A97\u958B\u555F)
 nodeEdit.links=\u8A2D\u5B9A\u9019\u500B\u8AB2\u7A0B\u5143\u7D20\u7684\u9023\u7D50
 nodeEdit.linksIntro=\u8981\u5F9E\u8AB2\u7A0B\u5916\u9762\u53C3\u7167\u5230\u9019\u500B\u8AB2\u7A0B\u5143\u7D20\uFF0C\u4F7F\u7528\u5916\u90E8\u9023\u7D50\u3002\u8981\u5728\u8AB2\u7A0B\u5167\u8A2D\u5B9A\u9023\u7D50\uFF0C\u4F7F\u7528\u5167\u90E8\u9023\u7D50\u3002
+pane.tab.accessibility=\u5B58\u53D6
 pane.tab.general=\u6A19\u984C\u548C\u8AAA\u660E
 pane.tab.visibility=\u53EF\u898B\u6027
 pbl.access.warning=<b>\u91CD\u8981\uFF1A</b> \u95DC\u65BC\u4E00\u500B\u8AB2\u7A0B\u7684\u5B58\u53D6\u4FEE\u6539\u5C07\u5F71\u97FF\u6574\u500B\u8AB2\u7A0B\u3002
diff --git a/src/main/java/org/olat/course/learningpath/manager/LearningPathNodeAccessProvider.java b/src/main/java/org/olat/course/learningpath/manager/LearningPathNodeAccessProvider.java
index c8957aa7d18..02edaab336d 100644
--- a/src/main/java/org/olat/course/learningpath/manager/LearningPathNodeAccessProvider.java
+++ b/src/main/java/org/olat/course/learningpath/manager/LearningPathNodeAccessProvider.java
@@ -37,6 +37,7 @@ import org.olat.course.nodes.CourseNode;
 import org.olat.course.run.navigation.NodeVisitedListener;
 import org.olat.course.run.userview.NodeEvaluationBuilder;
 import org.olat.course.run.userview.UserCourseEnvironment;
+import org.olat.course.tree.CourseEditorTreeModel;
 import org.olat.modules.assessment.Role;
 import org.olat.modules.assessment.model.AssessmentEntryStatus;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -77,7 +78,8 @@ public class LearningPathNodeAccessProvider implements NodeAccessProvider, NodeV
 	}
 	
 	@Override
-	public TabbableController createEditController(UserRequest ureq, WindowControl wControl, CourseNode courseNode) {
+	public TabbableController createEditController(UserRequest ureq, WindowControl wControl, CourseNode courseNode,
+			UserCourseEnvironment userCourseEnvironment, CourseEditorTreeModel editorModel) {
 		Controller configCtrl = registry.getLearningPathNodeHandler(courseNode).createConfigEditController(ureq, wControl, courseNode);
 		return new TabbableLeaningPathNodeConfigController(ureq, wControl, configCtrl);
 	}
diff --git a/src/main/java/org/olat/course/nodeaccess/NodeAccessProvider.java b/src/main/java/org/olat/course/nodeaccess/NodeAccessProvider.java
index 8a54b1f3a38..4e262f295ff 100644
--- a/src/main/java/org/olat/course/nodeaccess/NodeAccessProvider.java
+++ b/src/main/java/org/olat/course/nodeaccess/NodeAccessProvider.java
@@ -25,6 +25,7 @@ import org.olat.core.gui.control.generic.tabbable.TabbableController;
 import org.olat.course.nodes.CourseNode;
 import org.olat.course.run.userview.NodeEvaluationBuilder;
 import org.olat.course.run.userview.UserCourseEnvironment;
+import org.olat.course.tree.CourseEditorTreeModel;
 
 /**
  * 
@@ -36,7 +37,8 @@ public interface NodeAccessProvider extends NodeAccessProviderIdentifier {
 
 	public boolean isSupported(String courseNodeType);
 
-	public TabbableController createEditController(UserRequest ureq, WindowControl wControl, CourseNode courseNode);
+	public TabbableController createEditController(UserRequest ureq, WindowControl wControl, CourseNode courseNode,
+			UserCourseEnvironment userCourseEnvironment, CourseEditorTreeModel editorModel);
 
 	public NodeEvaluationBuilder getNodeEvaluationBuilder(UserCourseEnvironment userCourseEnvironment);
 	
diff --git a/src/main/java/org/olat/course/nodeaccess/NodeAccessService.java b/src/main/java/org/olat/course/nodeaccess/NodeAccessService.java
index b0831a83592..3166fb293a5 100644
--- a/src/main/java/org/olat/course/nodeaccess/NodeAccessService.java
+++ b/src/main/java/org/olat/course/nodeaccess/NodeAccessService.java
@@ -27,6 +27,7 @@ import org.olat.core.gui.control.generic.tabbable.TabbableController;
 import org.olat.course.nodes.CourseNode;
 import org.olat.course.run.userview.NodeEvaluationBuilder;
 import org.olat.course.run.userview.UserCourseEnvironment;
+import org.olat.course.tree.CourseEditorTreeModel;
 
 /**
  * 
@@ -43,16 +44,18 @@ public interface NodeAccessService {
 	public boolean isSupported(NodeAccessType type, CourseNode courseNode);
 
 	/**
-	 * Creates the controller to edit the configurations of the node.
+	 * Creates the controller to edit the access configurations of the node.
 	 * 
 	 * @param ureq
 	 * @param windowControl
 	 * @param type
 	 * @param courseNode
+	 * @param userCourseEnvironment
+	 * @param editorModel 
 	 * @return
 	 */
 	public TabbableController createEditController(UserRequest ureq, WindowControl wControl, NodeAccessType type,
-			CourseNode courseNode);
+			CourseNode courseNode, UserCourseEnvironment userCourseEnvironment, CourseEditorTreeModel editorModel);
 
 	public NodeEvaluationBuilder getNodeEvaluationBuilder(UserCourseEnvironment userCourseEnvironment);
 
diff --git a/src/main/java/org/olat/course/nodeaccess/manager/NodeAccessServiceImpl.java b/src/main/java/org/olat/course/nodeaccess/manager/NodeAccessServiceImpl.java
index fc227d8112b..e150dd76005 100644
--- a/src/main/java/org/olat/course/nodeaccess/manager/NodeAccessServiceImpl.java
+++ b/src/main/java/org/olat/course/nodeaccess/manager/NodeAccessServiceImpl.java
@@ -33,6 +33,7 @@ import org.olat.course.nodeaccess.NodeAccessType;
 import org.olat.course.nodes.CourseNode;
 import org.olat.course.run.userview.NodeEvaluationBuilder;
 import org.olat.course.run.userview.UserCourseEnvironment;
+import org.olat.course.tree.CourseEditorTreeModel;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -77,8 +78,8 @@ public class NodeAccessServiceImpl implements NodeAccessService {
 
 	@Override
 	public TabbableController createEditController(UserRequest ureq, WindowControl wControl, NodeAccessType type,
-			CourseNode courseNode) {
-		return getNodeAccessProvider(type).createEditController(ureq, wControl, courseNode);
+			CourseNode courseNode, UserCourseEnvironment userCourseEnvironment, CourseEditorTreeModel editorModel) {
+		return getNodeAccessProvider(type).createEditController(ureq, wControl, courseNode, userCourseEnvironment, editorModel);
 	}
 
 	@Override
diff --git a/src/main/java/org/olat/course/nodes/CourseNode.java b/src/main/java/org/olat/course/nodes/CourseNode.java
index d33e3f83910..8004bef5b26 100644
--- a/src/main/java/org/olat/course/nodes/CourseNode.java
+++ b/src/main/java/org/olat/course/nodes/CourseNode.java
@@ -227,7 +227,19 @@ public interface CourseNode extends INode, ShortName {
 	 * @return A tabbable node edit controller
 	 */
 	public TabbableController createEditController(UserRequest ureq, WindowControl wControl, BreadcrumbPanel stackPanel, ICourse course, UserCourseEnvironment euce);
-
+	
+	/**
+	 * Defines whether the course node has still a custom access condition
+	 * controller or if the standard controller is used.
+	 * 
+	 * As of today is the goal to eliminate all custom condition controllers. If
+	 * this goal is achieved, this method should be deleted and the code from
+	 * {@link org.olat.course.editor.NodeEditController}.
+	 * 
+	 * @return
+	 */
+	public boolean hasCustomAccessConditionController();
+	
 	/**
 	 * @param ureq
 	 * @param wControl
diff --git a/src/main/java/org/olat/course/nodes/GenericCourseNode.java b/src/main/java/org/olat/course/nodes/GenericCourseNode.java
index 99e66683f96..c73ee2c2a00 100644
--- a/src/main/java/org/olat/course/nodes/GenericCourseNode.java
+++ b/src/main/java/org/olat/course/nodes/GenericCourseNode.java
@@ -106,6 +106,11 @@ public abstract class GenericCourseNode extends GenericNode implements CourseNod
 	public abstract TabbableController createEditController(UserRequest ureq, WindowControl wControl, BreadcrumbPanel stackPanel, ICourse course,
 			UserCourseEnvironment euce);
 
+	@Override
+	public boolean hasCustomAccessConditionController() {
+		return true;
+	}
+
 	/**
 	 * @see org.olat.course.nodes.CourseNode#createNodeRunConstructionResult(UserRequest,
 	 *      WindowControl, UserCourseEnvironment, NodeEvaluation, String)
diff --git a/src/main/java/org/olat/course/nodes/SPCourseNode.java b/src/main/java/org/olat/course/nodes/SPCourseNode.java
index ec006b0f561..614269ba0e5 100644
--- a/src/main/java/org/olat/course/nodes/SPCourseNode.java
+++ b/src/main/java/org/olat/course/nodes/SPCourseNode.java
@@ -82,6 +82,11 @@ public class SPCourseNode extends AbstractAccessableCourseNode {
 		return nodeEditController;
 	}
 
+	@Override
+	public boolean hasCustomAccessConditionController() {
+		return !super.hasCustomAccessConditionController();
+	}
+
 	@Override
 	public NodeRunConstructionResult createNodeRunConstructionResult(UserRequest ureq, WindowControl wControl,
 			UserCourseEnvironment userCourseEnv, NodeEvaluation ne, String nodecmd) {
diff --git a/src/main/java/org/olat/course/nodes/sp/SPEditController.java b/src/main/java/org/olat/course/nodes/sp/SPEditController.java
index bd29b9c2ce1..0eaa0fd63dc 100644
--- a/src/main/java/org/olat/course/nodes/sp/SPEditController.java
+++ b/src/main/java/org/olat/course/nodes/sp/SPEditController.java
@@ -41,16 +41,12 @@ import org.olat.core.gui.control.generic.tabbable.ActivateableTabbableDefaultCon
 import org.olat.core.util.vfs.VFSContainer;
 import org.olat.core.util.vfs.VFSManager;
 import org.olat.course.ICourse;
-import org.olat.course.assessment.AssessmentHelper;
-import org.olat.course.condition.Condition;
-import org.olat.course.condition.ConditionEditController;
 import org.olat.course.editor.CourseEditorHelper;
 import org.olat.course.editor.NodeEditController;
 import org.olat.course.folder.CourseContainerOptions;
 import org.olat.course.nodes.SPCourseNode;
 import org.olat.course.run.environment.CourseEnvironment;
 import org.olat.course.run.userview.UserCourseEnvironment;
-import org.olat.course.tree.CourseEditorTreeModel;
 import org.olat.course.tree.CourseInternalLinkTreeModel;
 import org.olat.modules.ModuleConfiguration;
 import org.olat.modules.edusharing.VFSEdusharingProvider;
@@ -68,7 +64,6 @@ import org.olat.repository.ui.settings.LazyRepositoryEdusharingProvider;
 public class SPEditController extends ActivateableTabbableDefaultController implements ControllerEventListener {
 
 	public static final String PANE_TAB_SPCONFIG = "pane.tab.spconfig";
-	private static final String PANE_TAB_ACCESSIBILITY = "pane.tab.accessibility";
 	private static final  String PANE_TAB_DELIVERYOPTIONS = "pane.tab.layout";
 	/** configuration key for the filename */
 	public static final String CONFIG_KEY_FILE = "file";
@@ -78,11 +73,7 @@ public class SPEditController extends ActivateableTabbableDefaultController impl
 	/** configuration key: should the students be allowed to edit the page? */
 	public static final String CONFIG_KEY_ALLOW_COACH_EDIT = "allowCoachEdit";
 
-	private static final String[] paneKeys = {PANE_TAB_SPCONFIG, PANE_TAB_ACCESSIBILITY};
-	
-	// NLS support:
-	
-	private static final String NLS_CONDITION_ACCESSIBILITY_TITLE = "condition.accessibility.title";
+	private static final String[] paneKeys = {PANE_TAB_SPCONFIG};
 	
 	private ModuleConfiguration moduleConfiguration;
 	private VelocityContainer myContent;
@@ -90,7 +81,6 @@ public class SPEditController extends ActivateableTabbableDefaultController impl
 	private SPCourseNode courseNode;
 	private final CourseEnvironment courseEnv;
 	private final VFSContainer courseFolderBaseContainer;
-	private ConditionEditController accessibilityCondContr;
 	private DeliveryOptionsConfigurationController deliveryOptionsCtrl;
 	private TabbedPane myTabbedPane;
 	private LinkFileCombiCalloutController combiLinkCtr;
@@ -145,13 +135,6 @@ public class SPEditController extends ActivateableTabbableDefaultController impl
 		securitySettingForm = new SecuritySettingsForm(ureq, wControl, allowRelativeLinks, allowCoachEdit);
 		listenTo(securitySettingForm);
 		myContent.put("allowRelativeLinksForm", securitySettingForm.getInitialComponent());
-		
-		// Access conditions
-		CourseEditorTreeModel editorModel = course.getEditorTreeModel();
-		Condition accessCondition = courseNode.getPreConditionAccess();
-		accessibilityCondContr = new ConditionEditController(ureq, getWindowControl(), euce, accessCondition,
-				AssessmentHelper.getAssessableNodes(editorModel, spCourseNode));		
-		listenTo(accessibilityCondContr);
 
 		// Delivery options form
 		DeliveryOptions deliveryOptions = (DeliveryOptions)moduleConfiguration.get(CONFIG_KEY_DELIVERYOPTIONS);
@@ -170,12 +153,6 @@ public class SPEditController extends ActivateableTabbableDefaultController impl
 			if(combiLinkCtr != null && combiLinkCtr.isDoProposal()){
 				combiLinkCtr.setRelFilePath(CourseEditorHelper.createUniqueRelFilePathFromShortTitle(courseNode, courseFolderBaseContainer));
 			}
-		} else if (source == accessibilityCondContr) {
-			if (event == Event.CHANGED_EVENT) {
-				Condition cond = accessibilityCondContr.getCondition();
-				courseNode.setPreConditionAccess(cond);
-				fireEvent(urequest, NodeEditController.NODECONFIG_CHANGED_EVENT);
-			}
 		} else if(source == deliveryOptionsCtrl) {
 			if(event == Event.DONE_EVENT || event == Event.CHANGED_EVENT) {
 				DeliveryOptions config = deliveryOptionsCtrl.getDeliveryOptions();
@@ -218,7 +195,6 @@ public class SPEditController extends ActivateableTabbableDefaultController impl
 	@Override
 	public void addTabs(TabbedPane tabbedPane) {
 		myTabbedPane = tabbedPane;
-		tabbedPane.addTab(translate(PANE_TAB_ACCESSIBILITY), accessibilityCondContr.getWrappedDefaultAccessConditionVC(translate(NLS_CONDITION_ACCESSIBILITY_TITLE)));
 		tabbedPane.addTab(translate(PANE_TAB_SPCONFIG), myContent);
 		if(combiLinkCtr != null && combiLinkCtr.isEditorEnabled()) {
 			tabbedPane.addTab(translate(PANE_TAB_DELIVERYOPTIONS), deliveryOptionsCtrl.getInitialComponent());
diff --git a/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_ar.properties b/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_ar.properties
index 527e406c6cf..4f0d3259652 100644
--- a/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_ar.properties
+++ b/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_ar.properties
@@ -45,7 +45,6 @@ fieldset.chosecreateeditfile=\u0627\u062E\u062A\u064A\u0627\u0631 \u0623\u0648 \
 file=\u0627\u0644\u0645\u0644\u0641 \u0627\u0644\u0645\u062D\u062F\u062F
 folder.displayname=\u0645\u062C\u0644\u062F \u0627\u0644\u062A\u062E\u0632\u064A\u0646
 header=\u0627\u062E\u062A\u064A\u0627\u0631 \u0635\u0641\u062D\u0629 \u0623\u062A\u0634 \u062A\u0649 \u0623\u0645 \u0623\u0644
-pane.tab.accessibility=\u0648\u0635\u0648\u0644
 pane.tab.spconfig=\u0645\u062D\u062A\u0648\u0649 \u0627\u0644\u0635\u0641\u062D\u0629
 pane.tab.layout=$org.olat.core.gui.control.generic.iframe\:option.delivery
 selectfile=\u0627\u062E\u062A\u064A\u0627\u0631 \u0647\u0630\u0627 \u0627\u0644\u0645\u0644\u0641
diff --git a/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_bg.properties b/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_bg.properties
index 8a028a26388..2f006a0004c 100644
--- a/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_bg.properties
+++ b/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_bg.properties
@@ -45,7 +45,6 @@ fieldset.chosecreateeditfile=\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435, \
 file=\u0418\u0437\u0431\u0440\u0430\u043D \u0444\u0430\u0439\u043B
 folder.displayname=\u041F\u0430\u043F\u043A\u0430 \u0437\u0430 \u0441\u044A\u0445\u0440\u0430\u043D\u0435\u043D\u0438\u0435
 header=\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 HTML \u0444\u0430\u0439\u043B
-pane.tab.accessibility=\u0414\u043E\u0441\u0442\u044A\u043F
 pane.tab.spconfig=\u0421\u044A\u0434\u044A\u0440\u0436\u0430\u043D\u0438\u0435 \u043D\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430
 pane.tab.layout=$org.olat.core.gui.control.generic.iframe\:option.delivery
 selectfile=\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u0442\u043E\u0437\u0438 \u0444\u0430\u0439\u043B
diff --git a/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_cs.properties b/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_cs.properties
index f5ceb343ffe..7ddaa2824ba 100644
--- a/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_cs.properties
+++ b/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_cs.properties
@@ -45,7 +45,6 @@ fieldset.chosecreateeditfile=Vybrat, upravit nebo vytvo\u0159it HTML str\u00E1nk
 file=Vybran\u00FD soubor
 folder.displayname=Zdrojov\u00E1 slo\u017Eka
 header=Vybrat HTML str\u00E1nku
-pane.tab.accessibility=P\u0159\u00EDstup
 pane.tab.spconfig=HTML str\u00E1nka
 pane.tab.layout=$org.olat.core.gui.control.generic.iframe\:option.delivery
 selectfile=Vybrat tento soubor
diff --git a/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_da.properties b/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_da.properties
index 6a78938762e..9fb98cec531 100644
--- a/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_da.properties
+++ b/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_da.properties
@@ -39,7 +39,6 @@ fieldset.chosecreateeditfile=V\u00E6lg, ret eller opret HTML fil
 file=Valgte fil
 folder.displayname=Gemmemappe
 header=V\u00E6lg HTML side
-pane.tab.accessibility=Adgange
 pane.tab.spconfig=HTML side
 pane.tab.layout=$org.olat.core.gui.control.generic.iframe\:option.delivery
 selectfile=V\u00E6lg denne fil
diff --git a/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_de.properties
index d995e81d8c1..c40c9b34c36 100644
--- a/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_de.properties
+++ b/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_de.properties
@@ -51,7 +51,6 @@ fieldset.chosecreateeditfile=Seite ausw\u00E4hlen, editieren oder erstellen
 file=Gew\u00E4hlte Seite
 folder.displayname=Ablageordner
 header=HTML-Seite ausw\u00E4hlen
-pane.tab.accessibility=Zugang
 pane.tab.layout=$org.olat.core.gui.control.generic.iframe\:option.delivery
 pane.tab.spconfig=Seiteninhalt
 selectfile=Diese Seite w\u00E4hlen
diff --git a/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_el.properties b/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_el.properties
index 39e17ab6874..6419d4648e2 100644
--- a/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_el.properties
+++ b/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_el.properties
@@ -47,7 +47,6 @@ fieldset.chosecreateeditfile=\u0395\u03C0\u03B9\u03BB\u03BF\u03B3\u03AE, \u03B5\
 file=\u0395\u03C0\u03B9\u03BB\u03B5\u03B3\u03BC\u03AD\u03BD\u03BF \u03B1\u03C1\u03C7\u03B5\u03AF\u03BF
 folder.displayname=\u03A6\u03AC\u03BA\u03B5\u03BB\u03BF\u03C2 \u03B1\u03C0\u03BF\u03B8\u03AE\u03BA\u03B5\u03C5\u03C3\u03B7\u03C2
 header=\u0395\u03C0\u03B9\u03BB\u03BF\u03B3\u03AE \u03C3\u03B5\u03BB\u03AF\u03B4\u03B1\u03C2 HTML
-pane.tab.accessibility=\u03A0\u03C1\u03CC\u03C3\u03B2\u03B1\u03C3\u03B7
 pane.tab.spconfig=\u03A0\u03B5\u03C1\u03B9\u03B5\u03C7\u03CC\u03BC\u03B5\u03BD\u03BF \u03A3\u03B5\u03BB\u03AF\u03B4\u03B1\u03C2
 pane.tab.layout=$org.olat.core.gui.control.generic.iframe\:option.delivery
 selectfile=\u0395\u03C0\u03B9\u03BB\u03AD\u03BE\u03C4\u03B5 \u03C4\u03BF \u03B1\u03C1\u03C7\u03B5\u03AF\u03BF
diff --git a/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_en.properties
index ec195e182aa..d3e05b9dfae 100644
--- a/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_en.properties
+++ b/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_en.properties
@@ -51,7 +51,6 @@ fieldset.chosecreateeditfile=Select, edit or create HTML file
 file=Selected file
 folder.displayname=Storage folder
 header=Choose HTML file
-pane.tab.accessibility=Access
 pane.tab.layout=$org.olat.core.gui.control.generic.iframe\:option.delivery
 pane.tab.spconfig=Page content
 selectfile=Select this file
diff --git a/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_es.properties b/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_es.properties
index b3fb6a22485..420bc0c50de 100644
--- a/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_es.properties
+++ b/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_es.properties
@@ -45,7 +45,6 @@ fieldset.chosecreateeditfile=Seleccionar, editar o crear una p\u00E1gina
 file=P\u00E1gina seleccionado
 folder.displayname=Carpeta de dep\u00F3sito
 header=Elegir p\u00E1gina HTML
-pane.tab.accessibility=Acceso
 pane.tab.spconfig=Contenido p\u00E1gina
 pane.tab.layout=$org.olat.core.gui.control.generic.iframe\:option.delivery
 selectfile=Seleccionar esta p\u00E1gina
diff --git a/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_fa.properties b/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_fa.properties
index 658be2d05f0..a599d06b613 100644
--- a/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_fa.properties
+++ b/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_fa.properties
@@ -26,7 +26,6 @@ fieldset.chosecreateeditfile=\u0627\u0646\u062A\u062E\u0627\u0628,\u0648\u06CC\u
 file=\u0641\u0627\u06CC\u0644 \u0647\u0627\u06CC \u0627\u0646\u062A\u062E\u0627\u0628 \u0634\u062F\u0647
 folder.displayname=\u067E\u0648\u0634\u0647 \u062E\u0632\u0627\u0646\u0647
 header=\u0628\u0633\u062A\u0646 \u0635\u0641\u062D\u0647 \u0627\u0686 \u062A\u06CC \u0627\u0645 \u0627\u0644
-pane.tab.accessibility=\u062F\u0633\u062A\u06CC\u0627\u0628\u06CC
 pane.tab.spconfig=HTML \u0635\u0641\u062D\u0647
 pane.tab.layout=$org.olat.core.gui.control.generic.iframe\:option.delivery
 selectfile=\u0627\u0646\u062A\u062E\u0627\u0628 \u0627\u06CC\u0646 \u0641\u0627\u06CC\u0644
diff --git a/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_fr.properties b/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_fr.properties
index db864b4d59f..652d3c30f51 100644
--- a/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_fr.properties
+++ b/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_fr.properties
@@ -51,7 +51,6 @@ fieldset.chosecreateeditfile=S\u00E9lectionner, \u00E9diter ou cr\u00E9er un fic
 file=Fichier choisi
 folder.displayname=Dossier de stockage
 header=S\u00E9lectionner fichier HTML
-pane.tab.accessibility=Acc\u00E8s
 pane.tab.layout=$org.olat.core.gui.control.generic.iframe\:option.delivery
 pane.tab.spconfig=Contenu de la page
 selectfile=S\u00E9lectionner ce fichier
diff --git a/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_it.properties b/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_it.properties
index 5a4d3fcacb3..d1db6b1088f 100644
--- a/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_it.properties
+++ b/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_it.properties
@@ -23,7 +23,6 @@ fieldset.chosecreateeditfile=Selezionare, editare o creare un file HTML
 file=File selezionato
 folder.displayname=Cartella di deposito
 header=Selezione del file HTML
-pane.tab.accessibility=Accesso
 pane.tab.layout=$org.olat.core.gui.control.generic.iframe\:option.delivery
 pane.tab.spconfig=Contenuto pagina
 selectfile=Selezionare questo file
diff --git a/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_jp.properties b/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_jp.properties
index e0108b7bc36..93509d023b0 100644
--- a/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_jp.properties
+++ b/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_jp.properties
@@ -34,7 +34,6 @@ error.filedoesnotexist=\u9078\u629E\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB\u3
 file=\u9078\u629E\u6E08\u307F\u30D5\u30A1\u30A4\u30EB
 folder.displayname=\u30B9\u30C8\u30EC\u30FC\u30B8\u30D5\u30A9\u30EB\u30C0
 header=HTML\u30D5\u30A1\u30A4\u30EB\u3092\u9078\u629E\u3059\u308B
-pane.tab.accessibility=\u30A2\u30AF\u30BB\u30B9
 pane.tab.spconfig=\u30DA\u30FC\u30B8\u30B3\u30F3\u30C6\u30F3\u30C4
 pane.tab.layout=$org.olat.core.gui.control.generic.iframe\:option.delivery
 selectfile=\u3053\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u9078\u629E\u3059\u308B
diff --git a/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_lt.properties b/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_lt.properties
index 7786f9d5d26..488960b698e 100644
--- a/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_lt.properties
+++ b/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_lt.properties
@@ -36,7 +36,6 @@ fieldset.chosecreateeditfile=Pa\u017Eym\u0117kite, redaguokite ar sukurkite HTML
 file=Pa\u017Eym\u0117tos rinkmenos
 folder.displayname=Saugojimo aplankas
 header=Pasirinkite HTML puslap\u012F
-pane.tab.accessibility=Prieiga
 pane.tab.spconfig=HTML puslapis
 pane.tab.layout=$org.olat.core.gui.control.generic.iframe\:option.delivery
 selectfile=Pa\u017Eym\u0117kite \u0161i\u0105 rinkmen\u0105
diff --git a/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_nl_NL.properties b/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_nl_NL.properties
index 4e7e8e19bf9..dc12e2b12dc 100644
--- a/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_nl_NL.properties
+++ b/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_nl_NL.properties
@@ -47,7 +47,6 @@ fieldset.chosecreateeditfile=Een HTML bestand selecteren, editeren of aanmaken
 file=Bestand selecteren
 folder.displayname=Bewaarmap
 header=Kies HTML bestand
-pane.tab.accessibility=Toegang
 pane.tab.spconfig=Pagina inhoud
 pane.tab.layout=$org.olat.core.gui.control.generic.iframe\:option.delivery
 selectfile=Selecteer dit bestand
diff --git a/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_pl.properties b/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_pl.properties
index d8e2123cf43..437b645fa95 100644
--- a/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_pl.properties
+++ b/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_pl.properties
@@ -47,7 +47,6 @@ fieldset.chosecreateeditfile=Wybierz, edytuj lub stw\u00F3rz plik HTML
 file=Wybrany plik
 folder.displayname=Folder sk\u0142adowania
 header=Wybierz stron\u0119 HTML
-pane.tab.accessibility=Dost\u0119p
 pane.tab.spconfig=Strona HTML
 pane.tab.layout=$org.olat.core.gui.control.generic.iframe\:option.delivery
 selectfile=Wybierz ten plik
diff --git a/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_pt_BR.properties
index fb5672dc8fb..f70db205c9a 100644
--- a/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_pt_BR.properties
+++ b/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_pt_BR.properties
@@ -51,7 +51,6 @@ fieldset.chosecreateeditfile=Selecionar, editar ou criar arquivo HTML
 file=Arquivo selecionado
 folder.displayname=Pasta de armazenamento
 header=Escolher p\u00E1gina HTML
-pane.tab.accessibility=Acesso
 pane.tab.layout=$org.olat.core.gui.control.generic.iframe\:option.delivery
 pane.tab.spconfig=P\u00E1gina HTML
 selectfile=Selecionar este arquivo
diff --git a/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_pt_PT.properties b/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_pt_PT.properties
index 5ee72039af6..26dc4f29efc 100644
--- a/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_pt_PT.properties
+++ b/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_pt_PT.properties
@@ -45,7 +45,6 @@ fieldset.chosecreateeditfile=Selecionar, editar ou criar arquivo HTML
 file=Arquivo selecionado
 folder.displayname=Pasta de armazenamento
 header=Escolher p\u00E1gina HTML
-pane.tab.accessibility=Acesso
 pane.tab.spconfig=P\u00E1gina HTML
 pane.tab.layout=$org.olat.core.gui.control.generic.iframe\:option.delivery
 selectfile=Selecionar este arquivo
diff --git a/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_ru.properties b/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_ru.properties
index 62b771bb1f8..0c1dbbfe1a6 100644
--- a/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_ru.properties
+++ b/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_ru.properties
@@ -29,7 +29,6 @@ fieldset.chosecreateeditfile=\u0412\u044B\u0431\u0440\u0430\u0442\u044C, \u0440\
 file=\u0412\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0439 \u0444\u0430\u0439\u043B
 folder.displayname=\u041F\u0430\u043F\u043A\u0430 \u0434\u043B\u044F \u043A\u0443\u0440\u0441\u0430
 header=\u0412\u044B\u0431\u0440\u0430\u0442\u044C HTML-\u0444\u0430\u0439\u043B 
-pane.tab.accessibility=\u0414\u043E\u0441\u0442\u0443\u043F
 pane.tab.spconfig=HTML-\u0444\u0430\u0439\u043B
 pane.tab.layout=$org.olat.core.gui.control.generic.iframe\:option.delivery
 selectfile=\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u044D\u0442\u043E\u0442 \u0444\u0430\u0439\u043B 
diff --git a/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_sq.properties b/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_sq.properties
index 735cca635b8..63de0857fd6 100644
--- a/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_sq.properties
+++ b/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_sq.properties
@@ -45,7 +45,6 @@ fieldset.chosecreateeditfile=P\u00EBrzgjedh, redakto ose krijo HTML skedar
 file=Skedari i p\u00EBzgjedhur
 folder.displayname=Shteg ruajtje
 header=Zgjedhe HTML faqen
-pane.tab.accessibility=Qasshm\u00EBria
 pane.tab.spconfig=HTML faqe
 pane.tab.layout=$org.olat.core.gui.control.generic.iframe\:option.delivery
 selectfile=P\u00EBrzgjedh\u00EB k\u00EBt\u00EB skedar
diff --git a/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_zh_CN.properties b/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_zh_CN.properties
index 6fe24177d93..8dd4bffa53a 100644
--- a/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_zh_CN.properties
+++ b/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_zh_CN.properties
@@ -45,7 +45,6 @@ fieldset.chosecreateeditfile=\u9009\u62E9\uFF0C\u7F16\u8F91\u6216\u8005\u521B\u5
 file=\u5DF2\u9009\u6587\u4EF6
 folder.displayname=\u5B58\u50A8\u5939
 header=\u9009\u62E9HTML\u6587\u4EF6
-pane.tab.accessibility=\u8BBF\u95EE
 pane.tab.spconfig=HTML\u6587\u4EF6
 pane.tab.layout=$org.olat.core.gui.control.generic.iframe\:option.delivery
 selectfile=\u9009\u62E9\u8BE5\u6587\u4EF6
diff --git a/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_zh_TW.properties b/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_zh_TW.properties
index ba8a97fced0..af3271368d3 100644
--- a/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_zh_TW.properties
+++ b/src/main/java/org/olat/course/nodes/sp/_i18n/LocalStrings_zh_TW.properties
@@ -31,7 +31,6 @@ fieldset.chosecreateeditfile=\u9078\u64C7\u3001\u7DE8\u8F2F\u6216\u5EFA\u7ACB HT
 file=\u9078\u53D6\u7684\u6A94\u6848
 folder.displayname=\u5132\u5B58\u8CC7\u6599\u593E
 header=\u9078\u53D6 HTML \u6A94\u6848
-pane.tab.accessibility=\u5B58\u53D6
 pane.tab.spconfig=\u9801\u9762\u5167\u5BB9
 pane.tab.layout=$org.olat.core.gui.control.generic.iframe\:option.delivery
 selectfile=\u9078\u64C7\u9019\u500B\u6A94\u6848
-- 
GitLab