diff --git a/src/main/java/org/olat/ims/qti21/QTI21Service.java b/src/main/java/org/olat/ims/qti21/QTI21Service.java
index 9a81461f9d18066f4d20c94856ef2a9ae6f42a30..c1805d56f70e382adb12c4077f60788e11606eea 100644
--- a/src/main/java/org/olat/ims/qti21/QTI21Service.java
+++ b/src/main/java/org/olat/ims/qti21/QTI21Service.java
@@ -142,6 +142,15 @@ public interface QTI21Service {
 	 */
 	public QTI21DeliveryOptions getDeliveryOptions(RepositoryEntry testEntry);
 	
+	/**
+	 * Set some extra options for the QTI 2.1 which are not part
+	 * of the standard fomr IMS.
+	 * 
+	 * @param testEntry
+	 * @param options
+	 */
+	public void setDeliveryOptions(RepositoryEntry testEntry, QTI21DeliveryOptions options);
+	
 	/**
 	 * Check if some user made assessment with this test.
 	 * 
@@ -150,7 +159,6 @@ public interface QTI21Service {
 	 */
 	public boolean isAssessmentTestActivelyUsed(RepositoryEntry testEntry);
 	
-	public void setDeliveryOptions(RepositoryEntry testEntry, QTI21DeliveryOptions options);
 	
 	
 	public AssessmentTestSession createAssessmentTestSession(Identity identity, String anonymousIdentifier,
diff --git a/src/main/java/org/olat/modules/portfolio/Binder.java b/src/main/java/org/olat/modules/portfolio/Binder.java
index 93ff204f8c7ee886988138dd4dcefe36c693d921..f29a921917828f22e3d23032381da7300e08fb96 100644
--- a/src/main/java/org/olat/modules/portfolio/Binder.java
+++ b/src/main/java/org/olat/modules/portfolio/Binder.java
@@ -23,6 +23,7 @@ import java.util.Date;
 
 import org.olat.core.id.OLATResourceable;
 import org.olat.repository.RepositoryEntry;
+import org.olat.resource.OLATResource;
 
 /**
  * 
@@ -62,6 +63,15 @@ public interface Binder extends BinderLight, PortfolioElement, OLATResourceable
 	 */
 	public RepositoryEntry getEntry();
 	
+	/**
+	 * This is the shared olat resource between a template and its
+	 * repository entry. Standard binder without an entry in the learn
+	 * resources doesn't have one.
+	 * 
+	 * @return
+	 */
+	public OLATResource getOlatResource();
+	
 	public String getSubIdent();
 	
 	public Binder getTemplate();
diff --git a/src/main/java/org/olat/modules/portfolio/BinderConfiguration.java b/src/main/java/org/olat/modules/portfolio/BinderConfiguration.java
index 247f22c3eb73145a9faa4eb76f3323e9b309471e..9df11f8268149a220072b32668df6e614893f909 100644
--- a/src/main/java/org/olat/modules/portfolio/BinderConfiguration.java
+++ b/src/main/java/org/olat/modules/portfolio/BinderConfiguration.java
@@ -38,14 +38,16 @@ public class BinderConfiguration {
 	private final boolean assessable;
 	private final boolean timeline;
 	private final boolean shareable;
+	private final boolean options;
 	
 	public BinderConfiguration(boolean assessable, boolean withScore, boolean withPassed,
-			boolean timeline, boolean shareable) {
+			boolean timeline, boolean shareable, boolean options) {
 		this.assessable = assessable;
 		this.withScore = withScore;
 		this.withPassed = withPassed;
 		this.timeline = timeline;
 		this.shareable = shareable;
+		this.options = options;
 	}
 	
 	public boolean isAssessable() {
@@ -68,6 +70,10 @@ public class BinderConfiguration {
 		return shareable;
 	}
 	
+	public boolean isOptions() {
+		return options;
+	}
+	
 	@Override
 	public String toString() {
 		StringBuilder sb = new StringBuilder();
@@ -78,23 +84,23 @@ public class BinderConfiguration {
 	}
 	
 	public static BinderConfiguration createBusinessGroupConfig() {
-		return new BinderConfiguration(false, false, false, true, false);
+		return new BinderConfiguration(false, false, false, true, false, false);
 	}
 	
 	public static BinderConfiguration createTemplateConfig() {
-		return new BinderConfiguration(false, false, false, false, false);
+		return new BinderConfiguration(false, false, false, false, false, true);
 	}
 	
 	public static BinderConfiguration createInvitationConfig() {
-		return new BinderConfiguration(false, false, false, true, false);
+		return new BinderConfiguration(false, false, false, true, false, false);
 	}
 	
 	public static BinderConfiguration createMyPagesConfig() {
-		return new BinderConfiguration(false, false, false, true, true);
+		return new BinderConfiguration(false, false, false, true, true, false);
 	}
 	
 	public static BinderConfiguration createDeletedPagesConfig() {
-		return new BinderConfiguration(false, false, false, false, false);
+		return new BinderConfiguration(false, false, false, false, false, false);
 	}
 
 	public static BinderConfiguration createConfig(Binder binder) {
@@ -123,6 +129,6 @@ public class BinderConfiguration {
 		} else {
 			withPassed = withScore = assessable = false;
 		}
-		return new BinderConfiguration(assessable, withScore, withPassed, true, true);
+		return new BinderConfiguration(assessable, withScore, withPassed, true, true, false);
 	}
 }
diff --git a/src/main/java/org/olat/modules/portfolio/BinderDeliveryOptions.java b/src/main/java/org/olat/modules/portfolio/BinderDeliveryOptions.java
new file mode 100644
index 0000000000000000000000000000000000000000..96d955bc9e05f53f69cec3686e22f9be57011f14
--- /dev/null
+++ b/src/main/java/org/olat/modules/portfolio/BinderDeliveryOptions.java
@@ -0,0 +1,45 @@
+/**
+ * <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.portfolio;
+
+/**
+ * 
+ * Initial date: 29.08.2016<br>
+ * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
+ *
+ */
+public class BinderDeliveryOptions {
+	
+	private boolean allowNewEntries;
+
+	public boolean isAllowNewEntries() {
+		return allowNewEntries;
+	}
+
+	public void setAllowNewEntries(boolean allowNewEntries) {
+		this.allowNewEntries = allowNewEntries;
+	}
+	
+	public static BinderDeliveryOptions defaultOptions() {
+		BinderDeliveryOptions options = new BinderDeliveryOptions();
+		options.setAllowNewEntries(false);
+		return options;
+	}
+}
diff --git a/src/main/java/org/olat/modules/portfolio/BinderSecurityCallbackFactory.java b/src/main/java/org/olat/modules/portfolio/BinderSecurityCallbackFactory.java
index 5d28f7c8754babab05628522e847515dc343aa19..1ebba6c557d18b69dc335d7993bc25ff831fde80 100644
--- a/src/main/java/org/olat/modules/portfolio/BinderSecurityCallbackFactory.java
+++ b/src/main/java/org/olat/modules/portfolio/BinderSecurityCallbackFactory.java
@@ -22,6 +22,7 @@ package org.olat.modules.portfolio;
 import java.util.Collections;
 import java.util.List;
 
+import org.olat.core.CoreSpringFactory;
 import org.olat.modules.portfolio.model.AccessRights;
 import org.olat.repository.model.RepositoryEntrySecurity;
 
@@ -34,11 +35,13 @@ import org.olat.repository.model.RepositoryEntrySecurity;
 public class BinderSecurityCallbackFactory {
 	
 	public static final BinderSecurityCallback getCallbackForOwnedBinder(Binder binder) {
-		return new BinderSecurityCallbackImpl(true, binder.getTemplate() != null);
+		Binder template = binder.getTemplate();
+		BinderDeliveryOptions deliveryOptions = getDeliveryOptions(binder);
+		return new BinderSecurityCallbackImpl(true, template != null, deliveryOptions);
 	}
 	
 	public static final BinderSecurityCallback getCallbackForMyPageList() {
-		return new BinderSecurityCallbackImpl(true, false);
+		return new BinderSecurityCallbackImpl(true, false, null);
 	}
 	
 	/**
@@ -50,7 +53,7 @@ public class BinderSecurityCallbackFactory {
 	}
 	
 	public static final BinderSecurityCallback getReadOnlyCallback() {
-		return new BinderSecurityCallbackImpl(false, false);
+		return new BinderSecurityCallbackImpl(false, false, null);
 	}
 	
 	public static final BinderSecurityCallback getCallbackForTemplate(RepositoryEntrySecurity security) {
@@ -58,7 +61,9 @@ public class BinderSecurityCallbackFactory {
 	}
 	
 	public static final BinderSecurityCallback getCallbackForCoach(Binder binder, List<AccessRights> rights) {
-		return new BinderSecurityCallbackImpl(rights, binder.getTemplate() != null);
+		Binder template = binder.getTemplate();
+		BinderDeliveryOptions deliveryOptions = getDeliveryOptions(binder);
+		return new BinderSecurityCallbackImpl(rights, template != null, deliveryOptions);
 	}
 	
 	/**
@@ -69,12 +74,22 @@ public class BinderSecurityCallbackFactory {
 		return new BinderSecurityCallbackForInvitation(rights);
 	}
 	
+	private static final BinderDeliveryOptions getDeliveryOptions(Binder binder) {
+		Binder template = binder.getTemplate();
+		BinderDeliveryOptions deliveryOptions = null;
+		if(template != null) {
+			deliveryOptions = CoreSpringFactory.getImpl(PortfolioService.class)
+					.getDeliveryOptions(template.getOlatResource());
+		}
+		return deliveryOptions;
+	}
+	
 	/**
 	 * If you can see the business group, you can edit and view the binder.
 	 * @return
 	 */
 	public static final BinderSecurityCallback getCallbackForBusinessGroup() {
-		return new BinderSecurityCallbackImpl(true, false);
+		return new BinderSecurityCallbackImpl(true, false, null);
 	}
 
 	
@@ -175,17 +190,20 @@ public class BinderSecurityCallbackFactory {
 		private final boolean task;
 		private final boolean owner;
 		private final List<AccessRights> rights;
+		private final BinderDeliveryOptions deliveryOptions;
 		
-		public BinderSecurityCallbackImpl(boolean owner, boolean task) {
+		public BinderSecurityCallbackImpl(boolean owner, boolean task, BinderDeliveryOptions deliveryOptions) {
 			this.task = task;
 			this.owner = owner;
 			this.rights = Collections.emptyList();
+			this.deliveryOptions = deliveryOptions;
 		}
 		
-		public BinderSecurityCallbackImpl(List<AccessRights> rights, boolean task) {
+		public BinderSecurityCallbackImpl(List<AccessRights> rights, boolean task, BinderDeliveryOptions deliveryOptions) {
 			this.owner = false;
 			this.task = task;
 			this.rights = rights;
+			this.deliveryOptions = deliveryOptions;
 		}
 		
 		@Override
@@ -239,12 +257,13 @@ public class BinderSecurityCallbackFactory {
 		@Override
 		public boolean canAddPage(Section section) {
 			if(section == null) {
-				return owner;
+				return owner && (deliveryOptions == null || deliveryOptions.isAllowNewEntries());
 			}
 			if(owner) {
 				return section != null
 						&& !SectionStatus.isClosed(section)
-						&& section.getSectionStatus() != SectionStatus.submitted;
+						&& section.getSectionStatus() != SectionStatus.submitted
+						&& (deliveryOptions == null || deliveryOptions.isAllowNewEntries());
 			}
 			return false;
 		}
diff --git a/src/main/java/org/olat/modules/portfolio/PortfolioService.java b/src/main/java/org/olat/modules/portfolio/PortfolioService.java
index 6e19fbd2611376a9b0bbb69c409794f7fae19005..c0b6e982051a07da242d9061e17a95bb63ec57af 100644
--- a/src/main/java/org/olat/modules/portfolio/PortfolioService.java
+++ b/src/main/java/org/olat/modules/portfolio/PortfolioService.java
@@ -46,6 +46,9 @@ import org.olat.resource.OLATResource;
  *
  */
 public interface PortfolioService {
+
+	public static final String PACKAGE_CONFIG_FILE_NAME = "BinderPackageConfig.xml";
+	
 	
 	public Binder createNewBinder(String title, String summary, String imagePath, Identity owner);
 	
@@ -61,7 +64,24 @@ public interface PortfolioService {
 	
 	public boolean deleteBinderTemplate(Binder binder, RepositoryEntry templateEntry);
 	
-	/**S
+	
+	/**
+	 * Set some extra options for the template.
+	 * 
+	 * @param testEntry
+	 * @return
+	 */
+	public BinderDeliveryOptions getDeliveryOptions(OLATResource resource);
+	
+	/**
+	 * Set some extra options for the template.
+	 * 
+	 * @param testEntry
+	 * @param options
+	 */
+	public void setDeliveryOptions(OLATResource resource, BinderDeliveryOptions options);
+	
+	/**
 	 * Add an assignment to a section.
 	 * 
 	 * @param title
@@ -167,6 +187,13 @@ public interface PortfolioService {
 	
 	public Binder getBinderByResource(OLATResource resource);
 	
+	/**
+	 * Retrieve the repository entry of a template.
+	 * @param binder
+	 * @return
+	 */
+	public RepositoryEntry getRepositoryEntry(Binder binder);
+	
 	public Binder getBinderBySection(SectionRef section);
 	
 	/**
diff --git a/src/main/java/org/olat/modules/portfolio/manager/PortfolioServiceImpl.java b/src/main/java/org/olat/modules/portfolio/manager/PortfolioServiceImpl.java
index 10062de06e60444f8137240196b5e44c84fa304f..e524aa47f691fc94c350570ea06e530dd99f1fd5 100644
--- a/src/main/java/org/olat/modules/portfolio/manager/PortfolioServiceImpl.java
+++ b/src/main/java/org/olat/modules/portfolio/manager/PortfolioServiceImpl.java
@@ -20,6 +20,9 @@
 package org.olat.modules.portfolio.manager;
 
 import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
 import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Date;
@@ -38,11 +41,14 @@ import org.olat.core.commons.modules.bc.vfs.OlatRootFileImpl;
 import org.olat.core.gui.translator.Translator;
 import org.olat.core.id.Identity;
 import org.olat.core.id.OLATResourceable;
+import org.olat.core.logging.OLog;
+import org.olat.core.logging.Tracing;
 import org.olat.core.util.FileUtils;
 import org.olat.core.util.StringHelper;
 import org.olat.core.util.Util;
 import org.olat.core.util.resource.OresHelper;
 import org.olat.core.util.vfs.VFSLeaf;
+import org.olat.core.util.xml.XStreamHelper;
 import org.olat.course.CourseFactory;
 import org.olat.course.ICourse;
 import org.olat.course.assessment.AssessmentHelper;
@@ -50,6 +56,7 @@ import org.olat.course.nodes.CourseNode;
 import org.olat.course.nodes.PortfolioCourseNode;
 import org.olat.course.run.scoring.ScoreEvaluation;
 import org.olat.course.run.userview.UserCourseEnvironment;
+import org.olat.fileresource.FileResourceManager;
 import org.olat.modules.assessment.AssessmentEntry;
 import org.olat.modules.assessment.AssessmentService;
 import org.olat.modules.assessment.model.AssessmentEntryStatus;
@@ -58,6 +65,7 @@ import org.olat.modules.portfolio.Assignment;
 import org.olat.modules.portfolio.AssignmentStatus;
 import org.olat.modules.portfolio.AssignmentType;
 import org.olat.modules.portfolio.Binder;
+import org.olat.modules.portfolio.BinderDeliveryOptions;
 import org.olat.modules.portfolio.BinderLight;
 import org.olat.modules.portfolio.BinderRef;
 import org.olat.modules.portfolio.Category;
@@ -99,6 +107,8 @@ import org.olat.resource.OLATResourceManager;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import com.thoughtworks.xstream.XStream;
+
 /**
  * 
  * Initial date: 06.06.2016<br>
@@ -108,6 +118,13 @@ import org.springframework.stereotype.Service;
 @Service
 public class PortfolioServiceImpl implements PortfolioService {
 	
+	private static final OLog log = Tracing.createLoggerFor(PortfolioServiceImpl.class);
+	
+	private static XStream configXstream = XStreamHelper.createXStreamInstance();
+	static {
+		configXstream.alias("deliveryOptions", BinderDeliveryOptions.class);
+	}
+	
 	@Autowired
 	private PageDAO pageDao;
 	@Autowired
@@ -211,6 +228,42 @@ public class PortfolioServiceImpl implements PortfolioService {
 		int deletedRows = binderDao.deleteBinderTemplate(binder);
 		return deletedRows > 0;
 	}
+	
+	@Override
+	public BinderDeliveryOptions getDeliveryOptions(OLATResource resource) {
+		FileResourceManager frm = FileResourceManager.getInstance();
+		File reFolder = frm.getFileResourceRoot(resource);
+		File configXml = new File(reFolder, PACKAGE_CONFIG_FILE_NAME);
+		
+		BinderDeliveryOptions config;
+		if(configXml.exists()) {
+			config = (BinderDeliveryOptions)configXstream.fromXML(configXml);
+		} else {
+			//set default config
+			config = BinderDeliveryOptions.defaultOptions();
+			setDeliveryOptions(resource, config);
+		}
+		return config;
+	}
+
+	@Override
+	public void setDeliveryOptions(OLATResource resource, BinderDeliveryOptions options) {
+		FileResourceManager frm = FileResourceManager.getInstance();
+		File reFolder = frm.getFileResourceRoot(resource);
+		File configXml = new File(reFolder, PACKAGE_CONFIG_FILE_NAME);
+		if(options == null) {
+			if(configXml.exists()) {
+				configXml.delete();
+			}
+		} else {
+			try (OutputStream out = new FileOutputStream(configXml)) {
+				configXstream.toXML(options, out);
+			} catch (IOException e) {
+				log.error("", e);
+			}
+		}
+	}
+	
 
 	@Override
 	public Assignment addAssignment(String title, String summary, String content, AssignmentType type,
@@ -375,6 +428,13 @@ public class PortfolioServiceImpl implements PortfolioService {
 		return binderDao.loadByResource(resource);
 	}
 
+	@Override
+	public RepositoryEntry getRepositoryEntry(Binder binder) {
+		OLATResource resource = ((BinderImpl)binder).getOlatResource();
+		Long resourceKey = resource.getKey();
+		return repositoryService.loadByResourceKey(resourceKey);
+	}
+
 	@Override
 	public Binder getBinderBySection(SectionRef section) {
 		return binderDao.loadBySection(section);
diff --git a/src/main/java/org/olat/modules/portfolio/ui/BinderController.java b/src/main/java/org/olat/modules/portfolio/ui/BinderController.java
index eacd95cc0540b883262c8cec56df30dc60757db4..3ae402832a3d9bd26f9ef82815de7828098095ba 100644
--- a/src/main/java/org/olat/modules/portfolio/ui/BinderController.java
+++ b/src/main/java/org/olat/modules/portfolio/ui/BinderController.java
@@ -57,7 +57,7 @@ import org.olat.modules.portfolio.ui.event.SectionSelectionEvent;
  */
 public class BinderController extends BasicController implements TooledController, Activateable2 {
 	
-	private Link assessmentLink, publishLink;
+	private Link assessmentLink, publishLink, optionsLink;
 	private final Link overviewLink, entriesLink, historyLink;
 	private final ButtonGroupComponent segmentButtonsCmp;
 	private final TooledStackedPanel stackPanel;
@@ -66,6 +66,7 @@ public class BinderController extends BasicController implements TooledControlle
 	
 	private HistoryController historyCtrl;
 	private PublishController publishCtrl;
+	private BinderDeliveryOptionsController optionsCtrl;
 	private BinderPageListController entriesCtrl;
 	private TableOfContentController overviewCtrl;
 	private BinderAssessmentController assessmentCtrl;
@@ -97,6 +98,10 @@ public class BinderController extends BasicController implements TooledControlle
 			assessmentLink = LinkFactory.createLink("portfolio.assessment", getTranslator(), this);
 			segmentButtonsCmp.addButton(assessmentLink, false);
 		}
+		if(config.isOptions()) {
+			optionsLink = LinkFactory.createLink("portfolio.template.options", getTranslator(), this);
+			segmentButtonsCmp.addButton(optionsLink, false);
+		}
 		
 		mainPanel = putInitialPanel(new SimpleStackedPanel("portfolioSegments"));
 		mainPanel.setContent(new Panel("empty"));
@@ -151,6 +156,8 @@ public class BinderController extends BasicController implements TooledControlle
 			doOpenHistory(ureq);
 		} else if("Toc".equalsIgnoreCase(resName)) {
 			doOpenOverview(ureq);
+		} else if("Options".equalsIgnoreCase(resName)) {
+			doOpenOptions(ureq);
 		}
 	}
 
@@ -187,6 +194,8 @@ public class BinderController extends BasicController implements TooledControlle
 			doOpenAssessment(ureq);
 		} else if(historyLink == source) {
 			doOpenHistory(ureq);
+		} else if(optionsLink == source) {
+			doOpenOptions(ureq);
 		} else if(stackPanel == source) {
 			if(event instanceof PopEvent) {
 				if(stackPanel.getLastController() == this) {
@@ -263,4 +272,15 @@ public class BinderController extends BasicController implements TooledControlle
 		segmentButtonsCmp.setSelectedButton(historyLink);
 		return historyCtrl;
 	}
-}
+	
+	private void doOpenOptions(UserRequest ureq) {
+		OLATResourceable bindersOres = OresHelper.createOLATResourceableInstance("Options", 0l);
+		WindowControl swControl = addToHistory(ureq, bindersOres, null);
+		optionsCtrl = new BinderDeliveryOptionsController(ureq, swControl, binder);
+		listenTo(optionsCtrl);
+		
+		popUpToBinderController(ureq);
+		stackPanel.pushController(translate("portfolio.template.options"), optionsCtrl);
+		segmentButtonsCmp.setSelectedButton(optionsLink);
+	}
+}
\ No newline at end of file
diff --git a/src/main/java/org/olat/modules/portfolio/ui/BinderDeliveryOptionsController.java b/src/main/java/org/olat/modules/portfolio/ui/BinderDeliveryOptionsController.java
new file mode 100644
index 0000000000000000000000000000000000000000..5022692a897107bc1e3a17b2d84d94efb1b87e1a
--- /dev/null
+++ b/src/main/java/org/olat/modules/portfolio/ui/BinderDeliveryOptionsController.java
@@ -0,0 +1,87 @@
+/**
+ * <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.portfolio.ui;
+
+import org.olat.core.gui.UserRequest;
+import org.olat.core.gui.components.form.flexible.FormItemContainer;
+import org.olat.core.gui.components.form.flexible.elements.MultipleSelectionElement;
+import org.olat.core.gui.components.form.flexible.impl.FormBasicController;
+import org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer;
+import org.olat.core.gui.control.Controller;
+import org.olat.core.gui.control.WindowControl;
+import org.olat.modules.portfolio.Binder;
+import org.olat.modules.portfolio.BinderDeliveryOptions;
+import org.olat.modules.portfolio.PortfolioService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ * 
+ * Initial date: 29.08.2016<br>
+ * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
+ *
+ */
+public class BinderDeliveryOptionsController extends FormBasicController {
+	
+	private static final String[] onKeys = new String[] { "on" };
+	private static final String[] onValues = new String[] { "" };
+	
+	private MultipleSelectionElement newEntriesEl;
+	
+	private final Binder binder;
+	private final BinderDeliveryOptions deliveryOptions;
+	
+	@Autowired
+	private PortfolioService portfolioService;
+	
+	 
+	public BinderDeliveryOptionsController(UserRequest ureq, WindowControl wControl, Binder binder) {
+		super(ureq, wControl);
+		
+		this.binder = binder;
+		deliveryOptions = portfolioService.getDeliveryOptions(binder.getOlatResource());
+		 
+		initForm(ureq);
+	}
+
+	@Override
+	protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
+		newEntriesEl = uifactory.addCheckboxesHorizontal("canAddEntries", "allow.new.entries", formLayout, onKeys, onValues);
+		if(deliveryOptions.isAllowNewEntries()) {
+			newEntriesEl.select(onKeys[0], true);
+		}
+		
+		FormLayoutContainer buttonsLayout = FormLayoutContainer.createButtonLayout("buttons", getTranslator());
+		buttonsLayout.setRootForm(mainForm);
+		formLayout.add(buttonsLayout);
+		uifactory.addFormSubmitButton("save", buttonsLayout);
+	}
+	
+	@Override
+	protected void doDispose() {
+		//
+	}
+	
+	@Override
+	protected void formOK(UserRequest ureq) {
+		boolean allowNewEntries = newEntriesEl.isAtLeastSelected(1);
+		deliveryOptions.setAllowNewEntries(allowNewEntries);
+		portfolioService.setDeliveryOptions(binder.getOlatResource(), deliveryOptions);
+	}
+}
diff --git a/src/main/java/org/olat/modules/portfolio/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/modules/portfolio/ui/_i18n/LocalStrings_de.properties
index e15f07da4b2a2e95dd4b42ad7fe95dfc1ecdc5c3..ac385a45603317603184d93aaa900b866cabaf74 100644
--- a/src/main/java/org/olat/modules/portfolio/ui/_i18n/LocalStrings_de.properties
+++ b/src/main/java/org/olat/modules/portfolio/ui/_i18n/LocalStrings_de.properties
@@ -20,6 +20,7 @@ add.media=Media hinzuf\u00FCgen
 add.member=Mitglied hinzuf\u00FCgen
 add.text=Text hinzuf\u00FCgen
 add.video=Video hinzuf\u00FCgen
+allow.new.entries=Benutzer d\u00FCrfen neue Eintr\u00E4ge erstellen
 artefact.EfficiencyStatement=Leistungnachweis
 artefact.FileResource.BLOG=Blog Eintrag
 artefact.FileResource.WIKI=Wikiseite
@@ -212,6 +213,7 @@ portfolio.personal.menu.title=Portfolio 2.0
 portfolio.personal.menu.title.alt=$\:portfolio.personal.menu.title
 portfolio.publish=Freigabe
 portfolio.root.breadcrump=Portfolio
+portfolio.template.options=Optionen
 portfoliotask=Portfolioaufgabe
 portfoliotask.none=Keine
 publication.title=Ver\u00F6ffentlichungstitel
diff --git a/src/main/java/org/olat/modules/portfolio/ui/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/modules/portfolio/ui/_i18n/LocalStrings_en.properties
index ff87a8630f347b607c8a607ecf5eaafaeae503ab..cd131ab9a8df056de2b93f532831ece3c0517efa 100644
--- a/src/main/java/org/olat/modules/portfolio/ui/_i18n/LocalStrings_en.properties
+++ b/src/main/java/org/olat/modules/portfolio/ui/_i18n/LocalStrings_en.properties
@@ -20,6 +20,7 @@ add.media=Add media
 add.member=Add member
 add.text=Add text
 add.video=Add video
+allow.new.entries=Users are allowed to create new entries
 artefact.EfficiencyStatement=Efficiency statement
 artefact.FileResource.BLOG=Blog entry
 artefact.FileResource.WIKI=Wiki page
@@ -212,6 +213,7 @@ portfolio.personal.menu.title=Portfolio 2.0
 portfolio.personal.menu.title.alt=$\:portfolio.personal.menu.title
 portfolio.publish=Publish
 portfolio.root.breadcrump=Portfolio
+portfolio.template.options=Options
 portfoliotask=Portfolio Task
 portfoliotask.none=None
 publication.title=Publication title
diff --git a/src/main/java/org/olat/modules/portfolio/ui/_i18n/LocalStrings_fr.properties b/src/main/java/org/olat/modules/portfolio/ui/_i18n/LocalStrings_fr.properties
index 42dc724cb331d4fefc2403c069148b1bb6369902..d6c00f975e3a80eeef845d9dcf6a3de27725407f 100644
--- a/src/main/java/org/olat/modules/portfolio/ui/_i18n/LocalStrings_fr.properties
+++ b/src/main/java/org/olat/modules/portfolio/ui/_i18n/LocalStrings_fr.properties
@@ -20,6 +20,7 @@ add.media=Ajouter un \u00E9l\u00E9ment multim\u00E9dia
 add.member=Ajouter un membre
 add.text=Ajouter un texte
 add.video=Ajouter une vid\u00E9o
+allow.new.entries=Les utilisateurs sont autoris\u00E9s à cr\u00E9er des nouvelles contributions
 artefact.EfficiencyStatement=Attestation de performance
 artefact.FileResource.BLOG=Billet d'un blogue
 artefact.FileResource.WIKI=Page wiki
@@ -212,6 +213,7 @@ portfolio.personal.menu.title=Portfolio 2.0
 portfolio.personal.menu.title.alt=$\:portfolio.personal.menu.title
 portfolio.publish=Publier
 portfolio.root.breadcrump=Portfolio
+portfolio.template.options=Options
 portfoliotask=Devoir portfolio
 portfoliotask.none=Aucun
 publication.title=Titre de la publication