diff --git a/src/main/java/org/olat/core/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/core/_i18n/LocalStrings_en.properties
index 861c326dcff92afab68b2590b152a674dc063e1e..786300fd276156d281e83eff6a92aeca95e75e6c 100644
--- a/src/main/java/org/olat/core/_i18n/LocalStrings_en.properties
+++ b/src/main/java/org/olat/core/_i18n/LocalStrings_en.properties
@@ -15,6 +15,7 @@ error.header=Error
 error.jpbwrapper.renderfailed=This component cannot be displayed anymore. Please start component again.
 error.noformpostdata=Attention\! Due to problems concerning your browser some data could not be transferred. Please use the "Back" button and try again.
 expand=Expand
+extsearch=Advanced search
 finish=Finish
 form.checkall=Select all
 form.date.datevalid=Date must be valid
diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/elements/FlexiTableElement.java b/src/main/java/org/olat/core/gui/components/form/flexible/elements/FlexiTableElement.java
index 16bf5e8fc7ddb0885710d2fd1be9e6f072adf53d..5f2ad6b6421f79bb4ee2e674077d81008fc0acbb 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/elements/FlexiTableElement.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/elements/FlexiTableElement.java
@@ -59,6 +59,18 @@ public interface FlexiTableElement extends FormItem {
 	 */
 	public void setMultiSelect(boolean enable);
 	
+	/**
+	 * 
+	 * @return true if the user can customize the columns of the table
+	 */
+	public boolean isCustomizeColumns();
+
+	/**
+	 * Enable customizing of columns
+	 * @param customizeColumns
+	 */
+	public void setCustomizeColumns(boolean customizeColumns);
+	
 	/**
 	 * @return The CSS selector used to calculate the height of the table
 	 * (datatables variant only)
diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/AbstractFlexiTableRenderer.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/AbstractFlexiTableRenderer.java
index f729bd9b15f8cd06b03fc1f2dba0541dc1648a14..1007d22045e45a4254559d9b498d93980b6ead75 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/AbstractFlexiTableRenderer.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/AbstractFlexiTableRenderer.java
@@ -78,7 +78,9 @@ public abstract class AbstractFlexiTableRenderer implements ComponentRenderer {
 		if(ftE.getExtendedSearchButton() != null) {
 			renderFormItem(renderer, sb, ftE.getExtendedSearchButton(), ubu, translator, renderResult, args);
 		}
-		renderFormItem(renderer, sb, ftE.getCustomButton(), ubu, translator, renderResult, args);
+		if(ftE.getCustomButton() != null && ftE.isCustomizeColumns()) {
+			renderFormItem(renderer, sb, ftE.getCustomButton(), ubu, translator, renderResult, args);
+		}
 	}
 	
 	protected void renderFormItem(Renderer renderer, StringOutput sb, FormItem item, URLBuilder ubu, Translator translator,
diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableElementImpl.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableElementImpl.java
index d4f0210ca673213fe40588a78ee53ee749719cf3..8175849286c6e21c8211cc13e2c6bd4a7f45aead 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableElementImpl.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableElementImpl.java
@@ -72,6 +72,7 @@ public class FlexiTableElementImpl extends FormItemImpl implements FlexiTableEle
 	//settings
 	private boolean multiSelect;
 	private FlexiTableRendererType rendererType = FlexiTableRendererType.classic;
+	private boolean customizeColumns = true;
 	
 	private int rowCount = -1;
 	
@@ -178,6 +179,16 @@ public class FlexiTableElementImpl extends FormItemImpl implements FlexiTableEle
 	public void setMultiSelect(boolean multiSelect) {
 		this.multiSelect = multiSelect;
 	}
+	
+	
+
+	public boolean isCustomizeColumns() {
+		return customizeColumns;
+	}
+
+	public void setCustomizeColumns(boolean customizeColumns) {
+		this.customizeColumns = customizeColumns;
+	}
 
 	public String getWrapperSelector() {
 		return wrapperSelector;
diff --git a/src/main/java/org/olat/group/manager/BusinessGroupDAO.java b/src/main/java/org/olat/group/manager/BusinessGroupDAO.java
index ee090d9f642df043cbc72663ee959e97b0781b53..8e714e06efac43ef2bbd97179bda92c2b8b04260 100644
--- a/src/main/java/org/olat/group/manager/BusinessGroupDAO.java
+++ b/src/main/java/org/olat/group/manager/BusinessGroupDAO.java
@@ -653,6 +653,10 @@ public class BusinessGroupDAO {
 	public List<BusinessGroupView> findBusinessGroupWithAuthorConnection(Identity author) {
 		StringBuilder sb = new StringBuilder();
 		sb.append("select bgi from ").append(BusinessGroupViewImpl.class.getName()).append(" as bgi ")
+		  .append("inner join fetch bgi.ownerGroup ownerGroup ")
+			.append("inner join fetch bgi.partipiciantGroup participantGroup ")
+			.append("inner join fetch bgi.waitingGroup waitingGroup ")
+			.append("inner join fetch bgi.resource bgResource ")
 		  .append("where bgi.key in (")
 		  .append("  select rel.group.key from ").append(BGResourceRelation.class.getName()).append(" as rel ")
 		  .append("  where rel.resource.key in (")
diff --git a/src/main/java/org/olat/ims/qti/QTI12MetadataController.java b/src/main/java/org/olat/ims/qti/QTI12MetadataController.java
index 2ec074aeae06f8ac945b94f776f34dc0ad0f8a9e..a7d3702bb275b68ab594881850971f5419c392b1 100644
--- a/src/main/java/org/olat/ims/qti/QTI12MetadataController.java
+++ b/src/main/java/org/olat/ims/qti/QTI12MetadataController.java
@@ -65,7 +65,7 @@ public class QTI12MetadataController extends FormBasicController  {
 			leftSettingsCont.setRootForm(mainForm);
 			formLayout.add("leftSettings", leftSettingsCont);
 			
-			String shuffleStr = Boolean.toString(question.isShuffle());
+			String shuffleStr = translate(question.isShuffle() ? "editor.true" : "editor.false");
 			uifactory.addStaticTextElement("form.imd.shuffle", shuffleStr, leftSettingsCont);
 			
 			String duration = "";
diff --git a/src/main/java/org/olat/ims/qti/_content/qti_metadatas.html b/src/main/java/org/olat/ims/qti/_content/qti_metadatas.html
index 420ebb195d994ba1fad6c31efb02c9a46f783c9e..938d8797a7ad8e16ba908111e01b9409ec338832 100644
--- a/src/main/java/org/olat/ims/qti/_content/qti_metadatas.html
+++ b/src/main/java/org/olat/ims/qti/_content/qti_metadatas.html
@@ -1,6 +1,6 @@
 #if($r.available("leftSettings") || $r.available("rightSettings"))
 	<fieldset>
-		<legend>Settings</legend>
+		<legend>$r.translate("editor.settings")</legend>
 		<div class="b_clearfix">
 			<div class="b_c50l">
 				<div class="b_subcl">
@@ -17,7 +17,7 @@
 #end
 #if($r.available("leftFeedback") || $r.available("rightFeedback"))
 	<fieldset>
-		<legend>Feedbacks</legend>
+		<legend>$r.translate("editor.feedback")</legend>
 		<div class="b_clearfix">
 			<div class="b_c50l">
 				<div class="b_subcl">
diff --git a/src/main/java/org/olat/ims/qti/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/ims/qti/_i18n/LocalStrings_de.properties
index cf176e01dbb88ca0ff0f2ca6dc01e964a707a762..e13cc040ac1604e4f8ab85e0a294dcdb245d487e 100644
--- a/src/main/java/org/olat/ims/qti/_i18n/LocalStrings_de.properties
+++ b/src/main/java/org/olat/ims/qti/_i18n/LocalStrings_de.properties
@@ -34,6 +34,10 @@ notReleased=Nicht abgegeben
 open=Offen
 date=Datum
 dur=Dauer
+editor.true=Ja
+editor.false=Nein
+editor.settings=Einstellungen
+editor.feedback=Feedbacks
 editor.newquestion=Neue Frage
 editor.newquestiontext=Neue Frage
 editor.newresponsetext=Neue Antwort
diff --git a/src/main/java/org/olat/ims/qti/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/ims/qti/_i18n/LocalStrings_en.properties
index f1ee9af447f5117de26a81587dd29c4f07b9e79c..c9c7993e7da553c4c116cce8e7e797ea14d2042f 100644
--- a/src/main/java/org/olat/ims/qti/_i18n/LocalStrings_en.properties
+++ b/src/main/java/org/olat/ims/qti/_i18n/LocalStrings_en.properties
@@ -35,6 +35,10 @@ open=Open
 date=Date
 days=Days
 dur=Duration
+editor.settings=Settings
+editor.feedback=Feedbacks
+editor.true=Yes
+editor.false=No
 editor.newquestion=New question
 editor.newquestiontext=New question
 editor.newresponsetext=New answer
diff --git a/src/main/java/org/olat/modules/qpool/ui/ImportController.java b/src/main/java/org/olat/modules/qpool/ui/ImportController.java
index 7596affff35c8226bf58ff5fa4d441a80f274f84..3e59b33886976c25dff12df1726b6fffe3e98b06 100644
--- a/src/main/java/org/olat/modules/qpool/ui/ImportController.java
+++ b/src/main/java/org/olat/modules/qpool/ui/ImportController.java
@@ -20,6 +20,7 @@
 package org.olat.modules.qpool.ui;
 
 import java.io.File;
+import java.util.List;
 
 import org.olat.core.CoreSpringFactory;
 import org.olat.core.gui.UserRequest;
@@ -31,6 +32,7 @@ import org.olat.core.gui.control.Controller;
 import org.olat.core.gui.control.Event;
 import org.olat.core.gui.control.WindowControl;
 import org.olat.modules.qpool.QPoolService;
+import org.olat.modules.qpool.QuestionItem;
 
 /**
  * 
@@ -85,8 +87,14 @@ public class ImportController extends FormBasicController {
 	protected void formOK(UserRequest ureq) {
 		String filename = fileEl.getUploadFileName();
 		File file = fileEl.getUploadFile();
-		qpoolservice.importItems(getIdentity(), getLocale(), filename, file);
+		List<QuestionItem> importItems = qpoolservice.importItems(getIdentity(), getLocale(), filename, file);
 		fireEvent(ureq, Event.DONE_EVENT);
+		
+		if(importItems.isEmpty()) {
+			showWarning("import.failed");
+		} else {
+			showInfo("import.success", Integer.toString(importItems.size()));
+		}
 	}
 
 	@Override
diff --git a/src/main/java/org/olat/modules/qpool/ui/QuestionItemDetailsController.java b/src/main/java/org/olat/modules/qpool/ui/QuestionItemDetailsController.java
index 1e73cae4692e3301244a97acbf1cb9f2637dd4eb..9e4aa2a281622bb4770f085389439803f8d1185d 100644
--- a/src/main/java/org/olat/modules/qpool/ui/QuestionItemDetailsController.java
+++ b/src/main/java/org/olat/modules/qpool/ui/QuestionItemDetailsController.java
@@ -80,7 +80,7 @@ public class QuestionItemDetailsController extends BasicController implements St
 	private final QuestionPoolModule poolModule;
 	private final QPoolService qpoolService;
 	
-	public QuestionItemDetailsController(UserRequest ureq, WindowControl wControl, QuestionItem item, boolean editable) {
+	public QuestionItemDetailsController(UserRequest ureq, WindowControl wControl, QuestionItem item, boolean editable, boolean deletable) {
 		super(ureq, wControl);
 
 		poolModule = CoreSpringFactory.getImpl(QuestionPoolModule.class);
@@ -112,8 +112,10 @@ public class QuestionItemDetailsController extends BasicController implements St
 		
 		shareItem = LinkFactory.createButton("share.item", mainVC, this);
 		copyItem = LinkFactory.createButton("copy", mainVC, this);
-		deleteItem = LinkFactory.createButton("delete.item", mainVC, this);
-		deleteItem.setVisible(canEdit);
+		if(deletable) {
+			deleteItem = LinkFactory.createButton("delete.item", mainVC, this);
+			deleteItem.setVisible(canEdit);
+		}
 		exportItem = LinkFactory.createButton("export.item", mainVC, this);
 		
 		mainVC.put("type_specifics", previewCtrl.getInitialComponent());
@@ -179,6 +181,7 @@ public class QuestionItemDetailsController extends BasicController implements St
 				if(groups.size() > 0) {
 					QuestionItem item = (QuestionItem)((SelectBusinessGroupController)source).getUserObject();
 					doShareItems(ureq, item, groups);
+					metadatasCtrl.updateShares();
 				}
 			}
 			cmc.deactivate();
diff --git a/src/main/java/org/olat/modules/qpool/ui/QuestionItemsSource.java b/src/main/java/org/olat/modules/qpool/ui/QuestionItemsSource.java
index 99166952cf4a734d0db744290cc54bf7c2e166f6..e263c50338770128c16edcd0fe3809a6800d9772 100644
--- a/src/main/java/org/olat/modules/qpool/ui/QuestionItemsSource.java
+++ b/src/main/java/org/olat/modules/qpool/ui/QuestionItemsSource.java
@@ -44,6 +44,8 @@ public interface QuestionItemsSource {
 	
 	public boolean isRemoveEnabled();
 	
+	public boolean isDeleteEnabled();
+	
 	public void removeFromSource(List<QuestionItemShort> items);
 	
 	public int getNumOfItems();
diff --git a/src/main/java/org/olat/modules/qpool/ui/QuestionListController.java b/src/main/java/org/olat/modules/qpool/ui/QuestionListController.java
index f01f7713d2dc721c62c8fb1fa4e3e5b862cedec1..f49168663de9755abc90115f14718654a84f5f47 100644
--- a/src/main/java/org/olat/modules/qpool/ui/QuestionListController.java
+++ b/src/main/java/org/olat/modules/qpool/ui/QuestionListController.java
@@ -127,7 +127,9 @@ public class QuestionListController extends AbstractItemListController implement
 		copyItem = uifactory.addFormLink("copy", formLayout, Link.BUTTON);
 		importItem = uifactory.addFormLink("import.item", formLayout, Link.BUTTON);
 		authorItem = uifactory.addFormLink("author.item", formLayout, Link.BUTTON);
-		deleteItem = uifactory.addFormLink("delete.item", formLayout, Link.BUTTON);
+		if(getSource().isDeleteEnabled()) {
+			deleteItem = uifactory.addFormLink("delete.item", formLayout, Link.BUTTON);
+		}
 		bulkChange = uifactory.addFormLink("bulk.change", formLayout, Link.BUTTON);
 	}
 
@@ -666,7 +668,7 @@ public class QuestionListController extends AbstractItemListController implement
 		removeAsListenerAndDispose(currentDetailsCtrl);
 		removeAsListenerAndDispose(currentMainDetailsCtrl);
 		
-		currentDetailsCtrl = new QuestionItemDetailsController(ureq, getWindowControl(), item, editable);
+		currentDetailsCtrl = new QuestionItemDetailsController(ureq, getWindowControl(), item, editable, getSource().isDeleteEnabled());
 		currentDetailsCtrl.setStackedController(stackPanel);
 		listenTo(currentDetailsCtrl);
 		currentMainDetailsCtrl = new LayoutMain3ColsController(ureq, getWindowControl(), currentDetailsCtrl);
diff --git a/src/main/java/org/olat/modules/qpool/ui/QuestionPoolMainEditorController.java b/src/main/java/org/olat/modules/qpool/ui/QuestionPoolMainEditorController.java
index bd734c919ed7756e6306bf95339210693fb66508..3c7614ddd5c9b3e7c443fe0247e0a6c7231fa331 100644
--- a/src/main/java/org/olat/modules/qpool/ui/QuestionPoolMainEditorController.java
+++ b/src/main/java/org/olat/modules/qpool/ui/QuestionPoolMainEditorController.java
@@ -350,6 +350,7 @@ public class QuestionPoolMainEditorController extends BasicController implements
 	private void doSelectMyQuestions(UserRequest ureq, List<ContextEntry> entries, StateEntry state) {
 		DefaultItemsSource source = new DefaultItemsSource(getIdentity(), ureq.getUserSession().getRoles(), "My"); 
 		source.getDefaultParams().setAuthor(getIdentity());
+		source.setDeleteEnabled(true);
 		if(myQuestionsCtrl == null) {
 			WindowControl swControl = addToHistory(ureq, OresHelper.createOLATResourceableType("My"), null);
 			myQuestionsCtrl = new QuestionsController(ureq, swControl, source, "my");
diff --git a/src/main/java/org/olat/modules/qpool/ui/QuestionsController.java b/src/main/java/org/olat/modules/qpool/ui/QuestionsController.java
index cfd47305a6baef9bdc07be9900ce40c0cda66474..814a399719903119d2ac6aee6be86456edafdacb 100644
--- a/src/main/java/org/olat/modules/qpool/ui/QuestionsController.java
+++ b/src/main/java/org/olat/modules/qpool/ui/QuestionsController.java
@@ -91,8 +91,10 @@ public class QuestionsController extends BasicController implements Activateable
 		mainVC.put("preview", previewCtrl.getInitialComponent());
 		mainVC.contextPut("tableId", listCtrl.getTableFormDispatchId());
 		
-		deleteItem = LinkFactory.createButton("delete.item", mainVC, this);
-		deleteItem.setEnabled(false);
+		if(source.isDeleteEnabled()) {
+			deleteItem = LinkFactory.createButton("delete.item", mainVC, this);
+			deleteItem.setEnabled(false);
+		}
 		selectItem = LinkFactory.createButton("select.item", mainVC, this);
 		selectItem.setEnabled(false);
 
@@ -199,13 +201,15 @@ public class QuestionsController extends BasicController implements Activateable
 	}
 	
 	private void doUpdateDetails(UserRequest ureq, QuestionItemView itemView) {
-		deleteItem.setVisible(itemView.isEditable());
+		if(deleteItem != null) {
+			deleteItem.setVisible(itemView.isEditable());
+			deleteItem.setEnabled(true);
+		}
 		QuestionItem item = qpoolService.loadItemById(itemView.getKey());
 		detailsCtrl.updateItem(item, itemView.isEditable());
 		previewCtrl.updateItem(ureq, item);
 		
 		selectItem.setEnabled(true);
-		deleteItem.setEnabled(true);
 	}
 	
 	private void doDelete(UserRequest ureq, QuestionItemShort item) {
diff --git a/src/main/java/org/olat/modules/qpool/ui/_content/item_details.html b/src/main/java/org/olat/modules/qpool/ui/_content/item_details.html
index a78c63878c9e06f739d2810a5976f1fe977a51dc..80776906c29a8e3c2476ac9b988e862f4b8ebd09 100644
--- a/src/main/java/org/olat/modules/qpool/ui/_content/item_details.html
+++ b/src/main/java/org/olat/modules/qpool/ui/_content/item_details.html
@@ -13,7 +13,9 @@ $r.render("metadatas")
 		$r.render("export.item")
 		$r.render("share.item")
 		$r.render("copy")
-		$r.render("delete.item")
+		#if($r.available("delete.item"))
+			$r.render("delete.item")
+		#end
 	</div>
 </div>
 $r.render("comments")
\ No newline at end of file
diff --git a/src/main/java/org/olat/modules/qpool/ui/_content/items.html b/src/main/java/org/olat/modules/qpool/ui/_content/items.html
index a0752c58cd1f6db441342a9a0c80653fbbcfbf8f..49f6794ac9cbcfe9eb505e40f01f3ac9000c034e 100644
--- a/src/main/java/org/olat/modules/qpool/ui/_content/items.html
+++ b/src/main/java/org/olat/modules/qpool/ui/_content/items.html
@@ -14,7 +14,9 @@
 <div id="qbuttons" class="b_clearfix o_qpool_button_bar_box">
 	<div class="o_qpool_button_bar">
 		$r.render("select.item")
-		$r.render("delete.item")
+		#if($r.available("delete.item"))
+			$r.render("delete.item")
+		#end
 	</div>
 </div>
 <script type="text/javascript">
diff --git a/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_de.properties
index 1e9ef91e81dccbcd96af92e580aff658fb7fb666..4eea335a3939a8f46bf7a2648521dc5b0aacee86 100644
--- a/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_de.properties
+++ b/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_de.properties
@@ -7,8 +7,8 @@ remove=-
 topnav.qpool=Q-Pool
 topnav.qpool.alt=Question pools
 create.collection.description=Geben Sie zu Ihrer Liste einen Namen.
-bulk.change=Metadaten ändern
-bulk.change.description=Hier k\u00F6nnen Sie in 1 Schritt mehrere Attributen von mehreren Fragen ändern.
+bulk.change=Metadaten \u00E4ndern
+bulk.change.description=Hier k\u00F6nnen Sie in 1 Schritt mehrere Attributen von mehreren Fragen \u00E4ndern.
 collection.name=Name
 collection.creationDate=Erstellt am
 copy=Kopieren
@@ -17,8 +17,8 @@ delete.item=L\u00F6schen
 delete.collection=Liste l\u00F6schen
 details=Detailansicht
 rename.collection=Liste umbenennen
-next=Weiter
-previous=Vorherig
+next=N\u00E4chste
+previous=Vorherige
 confirm.delete=Wollen Sie wirklich diese Frage l\u00F6schen? Sie wird von allen Gruppen, allen Pools und allen Listen gel\u00F6scht.
 confirm.delete.source=Wollen Sie wirklich diese Liste l\u00F6schen?
 confirm.unshare=Wollen Sie wirklich diese Frage von "{0}" entfernen?
@@ -27,10 +27,10 @@ menu.admin=Administration
 menu.admin.alt=Administration
 menu.admin.studyfields=Fachbereich
 menu.admin.studyfields.alt=Fachbereich
-menu.admin.types=Typ
-menu.admin.types.alt=Typ
-menu.admin.levels=Level
-menu.admin.levels.alt=Level
+menu.admin.types=Fragetyp
+menu.admin.types.alt=Fragetyp
+menu.admin.levels=Stufe
+menu.admin.levels.alt=Stufe
 menu.admin.licenses=Lizenz
 menu.admin.licenses.alt=Lizenz
 menu.database=Fragendatenbank
@@ -72,7 +72,7 @@ question.difficulty=Itemschwierigkeit
 question.difficulty.example=Wert zwischen 0.0 und 1.0, zum Beispiel 0.3
 question.stdevDifficulty=Standardabweichung Itemschwierigkeit
 question.stdevDifficulty.example=$\:question.difficulty.example
-question.differentiation=Trennschärfe
+question.differentiation=Trennsch\u00E4rfe
 question.differentiation.example=Wert zwischen -1.0 und 1.0, zum Beispiel 0.1
 question.numOfAnswerAlternatives=Anzahl Antwortalternativen
 question.usage=Verwendung in Tests
@@ -116,12 +116,12 @@ item.copied={0} Frage wurde kopiert.
 pool.key=ID
 pool.name=Name
 pool.public=\u00D6ffentlich
-pool.owners=Owners
+pool.owners=Besitzer
 create.pool=Pool erstellen
 delete.pool=Pool l\u00F6schen
 delete.pool.confirm=Wollen Sie wirklich diesen Pool "{0}" l\u00F6schen?
 edit.pool=Pool editieren
-error.select.one=Sie müssen mindestens eine Frage wählen.
+error.select.one=Sie müssen mindestens eine Frage w\u00E4hlen.
 inWork=In Bearbeitung
 inReview=In Review
 used=Verwendet
@@ -138,8 +138,6 @@ item.type.kprim=KPrim
 item.type.essay=Essay
 item.type.unkown=Unbekannt
 author.item=Autorenrechte
-author.choose.title=Autoren auswählen
-author.confirm.title=Bestätigen
 share.item=Freigeben
 unshare.item=Entfernen
 share.pool=Zu Pool freigeben
diff --git a/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_en.properties
index bad4a20f8a1cbd56dfbf67264c6901a46ae1b47b..a868b0d514e25d21527babfb25a188fd28e31e91 100644
--- a/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_en.properties
+++ b/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_en.properties
@@ -75,7 +75,7 @@ question.stdevDifficulty.example=$\:question.difficulty.example
 question.differentiation=Differentiation
 question.differentiation.example=Value between -1.0 and 1.0. Example: 0.1
 question.numOfAnswerAlternatives=Number of alternative responses
-question.usage=Usage in tests
+question.usage=Used in tests
 question.assessmentType=Test type
 question.assessmentType.summative=Summative
 question.assessmentType.formative=Formative
@@ -127,7 +127,7 @@ inWork=In work
 inReview=In review
 used=Used
 shared=Shared
-mark=Bookmarked
+mark=Bookmark
 rights=Rights
 applications=Applications
 technics=Technical
@@ -137,9 +137,7 @@ item.type.sc=Single-Choice
 item.type.kprim=KPrim
 item.type.essay=Essay
 item.type.unkown=Unkown
-author.item=Autorenrechte
-author.choose.title=Autoren auswählen
-author.confirm.title=Bestätigen
+author.item=Author rights
 share.item=Share
 unshare.item=Remove
 share.pool=Share with pool
diff --git a/src/main/java/org/olat/modules/qpool/ui/admin/PoolsAdminController.java b/src/main/java/org/olat/modules/qpool/ui/admin/PoolsAdminController.java
index 98a21d007934b63c3c0a78db9b9a3b90cd5735cd..d1c51e4501f41673f57ce63af26476217a1efab1 100644
--- a/src/main/java/org/olat/modules/qpool/ui/admin/PoolsAdminController.java
+++ b/src/main/java/org/olat/modules/qpool/ui/admin/PoolsAdminController.java
@@ -35,7 +35,10 @@ import org.olat.core.gui.components.form.flexible.elements.FlexiTableElement;
 import org.olat.core.gui.components.form.flexible.elements.FormLink;
 import org.olat.core.gui.components.form.flexible.impl.FormBasicController;
 import org.olat.core.gui.components.form.flexible.impl.FormEvent;
+import org.olat.core.gui.components.form.flexible.impl.elements.table.BooleanCellRenderer;
+import org.olat.core.gui.components.form.flexible.impl.elements.table.CSSIconFlexiCellRenderer;
 import org.olat.core.gui.components.form.flexible.impl.elements.table.DefaultFlexiColumnModel;
+import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiColumnModel;
 import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableColumnModel;
 import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableDataModel;
 import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableDataModelFactory;
@@ -99,7 +102,12 @@ public class PoolsAdminController extends FormBasicController {
 		//add the table
 		FlexiTableColumnModel columnsModel = FlexiTableDataModelFactory.createFlexiTableColumnModel();
 		columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, Cols.id.i18nKey(), Cols.id.ordinal(), true, "key"));
-		columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.publicPool.i18nKey(), Cols.publicPool.ordinal(), true, "name"));
+		columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(true, Cols.publicPool.i18nKey(), Cols.publicPool.ordinal(),
+				true, "publicPool", FlexiColumnModel.ALIGNMENT_LEFT,
+				new BooleanCellRenderer(
+						new CSSIconFlexiCellRenderer("o_public"),
+						new CSSIconFlexiCellRenderer("o_private"))
+		));
 		columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.name.i18nKey(), Cols.name.ordinal(), true, "name"));
 		columnsModel.addFlexiColumnModel(new StaticFlexiColumnModel("edit", translate("edit"), "edit-pool"));
 		columnsModel.addFlexiColumnModel(new StaticFlexiColumnModel("pool.owners", translate("pool.owners"), "owners-pool"));
@@ -220,7 +228,7 @@ public class PoolsAdminController extends FormBasicController {
 			listenTo(groupCtrl);
 	
 			cmc = new CloseableModalController(getWindowControl(), translate("close"),
-					groupCtrl.getInitialComponent(), true, translate("manage.owners"));
+					groupCtrl.getInitialComponent(), true, translate("pool.owners"));
 			cmc.activate();
 			listenTo(cmc);
 		}
diff --git a/src/main/java/org/olat/modules/qpool/ui/admin/QEducationalContextsAdminController.java b/src/main/java/org/olat/modules/qpool/ui/admin/QEducationalContextsAdminController.java
index d3c1491a58b49fd57d98c013cf83ddbf68b2a145..d2b1e9fa4b11d0cdf12975dd6601610bd6c1652b 100644
--- a/src/main/java/org/olat/modules/qpool/ui/admin/QEducationalContextsAdminController.java
+++ b/src/main/java/org/olat/modules/qpool/ui/admin/QEducationalContextsAdminController.java
@@ -218,7 +218,7 @@ public class QEducationalContextsAdminController extends FormBasicController {
 		listenTo(editCtrl);
 		
 		cmc = new CloseableModalController(getWindowControl(), translate("close"),
-				editCtrl.getInitialComponent(), true, translate("edit.pool"));
+				editCtrl.getInitialComponent(), true, translate("create.level"));
 		cmc.activate();
 		listenTo(cmc);	
 	}
diff --git a/src/main/java/org/olat/modules/qpool/ui/admin/QItemTypeEditController.java b/src/main/java/org/olat/modules/qpool/ui/admin/QItemTypeEditController.java
index fea6e8ce785f956ca297bdbef17af96a13c83de9..ab4bca387b2476b5d60409009c35c948164b66f5 100644
--- a/src/main/java/org/olat/modules/qpool/ui/admin/QItemTypeEditController.java
+++ b/src/main/java/org/olat/modules/qpool/ui/admin/QItemTypeEditController.java
@@ -65,7 +65,7 @@ public class QItemTypeEditController extends FormBasicController {
 	@Override
 	protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
 		String name = itemType == null ? "" : itemType.getType();
-		nameEl = uifactory.addTextElement("type.type", "type.type", 128, name, formLayout);
+		nameEl = uifactory.addTextElement("type.type", "type.type.alt", 128, name, formLayout);
 
 		FormLayoutContainer buttonsCont = FormLayoutContainer.createButtonLayout("buttons", getTranslator());
 		buttonsCont.setRootForm(mainForm);
diff --git a/src/main/java/org/olat/modules/qpool/ui/admin/QItemTypesAdminController.java b/src/main/java/org/olat/modules/qpool/ui/admin/QItemTypesAdminController.java
index 8eb067cd70a525ad475c44b9cfcd88de98bdc8ab..4206a2b0b54957f79cb2323a5999976bc1674e9c 100644
--- a/src/main/java/org/olat/modules/qpool/ui/admin/QItemTypesAdminController.java
+++ b/src/main/java/org/olat/modules/qpool/ui/admin/QItemTypesAdminController.java
@@ -219,7 +219,7 @@ public class QItemTypesAdminController extends FormBasicController {
 		listenTo(editCtrl);
 		
 		cmc = new CloseableModalController(getWindowControl(), translate("close"),
-				editCtrl.getInitialComponent(), true, translate("edit.pool"));
+				editCtrl.getInitialComponent(), true, translate("create.type"));
 		cmc.activate();
 		listenTo(cmc);	
 	}
diff --git a/src/main/java/org/olat/modules/qpool/ui/admin/QLicensesAdminController.java b/src/main/java/org/olat/modules/qpool/ui/admin/QLicensesAdminController.java
index 7a9c696bcc9e01b34e9f9d225fb24684f0b3fba6..ef181f33c0915e228d6c59fa5a93accb29f68f75 100644
--- a/src/main/java/org/olat/modules/qpool/ui/admin/QLicensesAdminController.java
+++ b/src/main/java/org/olat/modules/qpool/ui/admin/QLicensesAdminController.java
@@ -176,7 +176,7 @@ public class QLicensesAdminController extends FormBasicController {
 		listenTo(editCtrl);
 		
 		cmc = new CloseableModalController(getWindowControl(), translate("close"),
-				editCtrl.getInitialComponent(), true, translate("edit.pool"));
+				editCtrl.getInitialComponent(), true, translate("create.license"));
 		cmc.activate();
 		listenTo(cmc);	
 	}
diff --git a/src/main/java/org/olat/modules/qpool/ui/admin/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/modules/qpool/ui/admin/_i18n/LocalStrings_de.properties
index 41b56645f6a6eb5882f3b02b76da07665e31a616..262824aaf9afeab617ef8e08ca2f5fb02ee5dacb 100644
--- a/src/main/java/org/olat/modules/qpool/ui/admin/_i18n/LocalStrings_de.properties
+++ b/src/main/java/org/olat/modules/qpool/ui/admin/_i18n/LocalStrings_de.properties
@@ -1,24 +1,25 @@
 #Mon Mar 02 09:54:04 CET 2009
 level.key=ID
-level.level=Level
-level.translation=Ubersetzung
+level.level=Stufe
+level.translation=\u00DCbersetzung
 type.key=ID
 type.type=Typ
-type.translation=Ubersetzung
+type.type.alt=Fragetyp
+type.translation=\u00DCbersetzung
 license.id=ID
 license.key=Lizenz
 delete.type=Löschen
 delete.type.confirm=Wollen Sie wirklich dieser Typ löschen?
 delete.level=Löschen
-delete.level.confirm=Wollen Sie wirklich dieser Level löschen?
+delete.level.confirm=Wollen Sie wirklich dieser Stufe löschen?
 delete.license=Löschen
 delete.license.confirm=Wollen Sie wirklich dieser Lizenz löschen?
-create.level=Level erstellen
+create.level=Stufe erstellen
 create.license=Lizenz erstellen
-create.type=Typ erstellen
+create.type=Fragetyp erstellen
 add.taxonomyLevel=Fachbereich erstellen
 edit.taxonomyLevel=Fachbereich bearbeiten
 educational.context.deleted=Fachbereich wurde erfolgreich gelöscht
 educational.context.notdeleted=Fachbereich wurde nicht gelöscht, probably in use
-item.type.deleted=Typ wurde erfolgreich gelöscht
-item.type.notdeleted=Typ wurde nicht gelöscht, probably in use
\ No newline at end of file
+item.type.deleted=Fragetyp wurde erfolgreich gelöscht
+item.type.notdeleted=Fragetyp wurde nicht gelöscht, probably in use
\ No newline at end of file
diff --git a/src/main/java/org/olat/modules/qpool/ui/datasource/CollectionOfItemsSource.java b/src/main/java/org/olat/modules/qpool/ui/datasource/CollectionOfItemsSource.java
index a0238a783c41c9b774581fb4d768e393d2a6c021..6d8a155b801237db87792c13e4b9077de165e4c0 100644
--- a/src/main/java/org/olat/modules/qpool/ui/datasource/CollectionOfItemsSource.java
+++ b/src/main/java/org/olat/modules/qpool/ui/datasource/CollectionOfItemsSource.java
@@ -76,6 +76,11 @@ public class CollectionOfItemsSource implements QuestionItemsSource {
 		return true;
 	}
 
+	@Override
+	public boolean isDeleteEnabled() {
+		return false;
+	}
+
 	@Override
 	public void removeFromSource(List<QuestionItemShort> items) {
 		qpoolService.removeItemsFromCollection(items, collection);
diff --git a/src/main/java/org/olat/modules/qpool/ui/datasource/DefaultItemsSource.java b/src/main/java/org/olat/modules/qpool/ui/datasource/DefaultItemsSource.java
index 40d8cfa8935a61052a4d3bb5c81fa67aef0b0760..2fe902bce883417f5f7341d241ee5cabc9e04c54 100644
--- a/src/main/java/org/olat/modules/qpool/ui/datasource/DefaultItemsSource.java
+++ b/src/main/java/org/olat/modules/qpool/ui/datasource/DefaultItemsSource.java
@@ -45,6 +45,7 @@ import org.olat.modules.qpool.ui.QuestionItemsSource;
 public class DefaultItemsSource implements QuestionItemsSource {
 
 	private boolean removeEnabled = false;
+	private boolean deleteEnabled = false;
 	private final String name;
 	private final QPoolService qpoolService;
 	private final SearchQuestionItemParams defaultParams;
@@ -86,6 +87,15 @@ public class DefaultItemsSource implements QuestionItemsSource {
 		this.removeEnabled = removeEnabled;
 	}
 
+	@Override
+	public boolean isDeleteEnabled() {
+		return deleteEnabled;
+	}
+
+	public void setDeleteEnabled(boolean deleteEnabled) {
+		this.deleteEnabled = deleteEnabled;
+	}
+
 	@Override
 	public void removeFromSource(List<QuestionItemShort> items) {
 		//
diff --git a/src/main/java/org/olat/modules/qpool/ui/datasource/SharedItemsSource.java b/src/main/java/org/olat/modules/qpool/ui/datasource/SharedItemsSource.java
index ffe73ecc5d2c22acec3245b34f596fdefe8d4996..b665bb66b009d8daebab2a38e428575a1d460d38 100644
--- a/src/main/java/org/olat/modules/qpool/ui/datasource/SharedItemsSource.java
+++ b/src/main/java/org/olat/modules/qpool/ui/datasource/SharedItemsSource.java
@@ -77,6 +77,11 @@ public class SharedItemsSource implements QuestionItemsSource {
 		return roles.isOLATAdmin() || roles.isPoolAdmin() || admin;
 	}
 
+	@Override
+	public boolean isDeleteEnabled() {
+		return false;
+	}
+
 	@Override
 	public void removeFromSource(List<QuestionItemShort> items) {
 		qpoolService.removeItemsFromResource(items, resource);
diff --git a/src/main/java/org/olat/modules/qpool/ui/metadata/MetadatasController.java b/src/main/java/org/olat/modules/qpool/ui/metadata/MetadatasController.java
index 810d1122e97dd8264fe9ca7c46152b5d01456433..c085d93f36f41eaf92d7f063652523a2b61af449 100644
--- a/src/main/java/org/olat/modules/qpool/ui/metadata/MetadatasController.java
+++ b/src/main/java/org/olat/modules/qpool/ui/metadata/MetadatasController.java
@@ -236,6 +236,10 @@ public class MetadatasController extends BasicController {
 		mainVC.put("details_rights", rightsCtrl.getInitialComponent());
 	}
 	
+	public void updateShares() {
+		sharingCtrl.setItem(getItem());
+	}
+	
 	public QuestionItem updateVersionNumber() {
 		if(item instanceof QuestionItemImpl && StringHelper.containsNonWhitespace(item.getItemVersion())) {
 			String version = item.getItemVersion();
diff --git a/src/main/java/org/olat/modules/qpool/ui/metadata/SharingController.java b/src/main/java/org/olat/modules/qpool/ui/metadata/SharingController.java
index 494938d3a6762d930b4c5bc3a7b0ab8fee8aa9f1..f3df3d265cd46196beeaae5f09e12bafb6d3168b 100644
--- a/src/main/java/org/olat/modules/qpool/ui/metadata/SharingController.java
+++ b/src/main/java/org/olat/modules/qpool/ui/metadata/SharingController.java
@@ -84,12 +84,14 @@ public class SharingController extends FormBasicController {
 		poolInfosColumnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel("pool.name", 1));
 		poolInfosModel = new PoolInfosDataModel(poolInfosColumnsModel);
 		poolInfosTable = uifactory.addTableElement(ureq, getWindowControl(), "pools", poolInfosModel, getTranslator(), formLayout);
+		poolInfosTable.setCustomizeColumns(false);
 		
 		//list of authors
 		FlexiTableColumnModel authorsColumnsModel = FlexiTableDataModelFactory.createFlexiTableColumnModel();
 		authorsColumnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel("sharing.author.name", 0));
 		authorsModel = new AuthorDataModel(authorsColumnsModel);
 		authorsTable = uifactory.addTableElement(ureq, getWindowControl(), "authors", authorsModel, getTranslator(), formLayout);
+		authorsTable.setCustomizeColumns(false);
 
 		//list of groups
 		FlexiTableColumnModel sharesColumnsModel = FlexiTableDataModelFactory.createFlexiTableColumnModel();
@@ -101,6 +103,7 @@ public class SharingController extends FormBasicController {
 		sharesColumnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel("pool.name", 1));
 		sharesModel = new SharesDataModel(poolInfosColumnsModel);
 		sharesTable = uifactory.addTableElement(ureq, getWindowControl(), "shares", sharesModel, getTranslator(), formLayout);
+		sharesTable.setCustomizeColumns(false);
 	}
 	
 	@Override