diff --git a/src/main/java/de/bps/olat/portal/institution/InstitutionPortlet.java b/src/main/java/de/bps/olat/portal/institution/InstitutionPortlet.java
index 0fc3172f3f4f8696ee9b4ebdc0ed1d23d6771b4a..acb18592cb8b1d0b175ba34eebb47e99ba389fbf 100644
--- a/src/main/java/de/bps/olat/portal/institution/InstitutionPortlet.java
+++ b/src/main/java/de/bps/olat/portal/institution/InstitutionPortlet.java
@@ -31,7 +31,6 @@ import org.olat.core.gui.control.Controller;
 import org.olat.core.gui.control.WindowControl;
 import org.olat.core.gui.control.generic.portal.AbstractPortlet;
 import org.olat.core.gui.control.generic.portal.Portlet;
-import org.olat.core.gui.translator.PackageTranslator;
 import org.olat.core.id.UserConstants;
 import org.olat.core.logging.StartupException;
 import org.olat.core.util.Util;
@@ -79,12 +78,12 @@ public class InstitutionPortlet extends AbstractPortlet {
 	/**
 	 * @see org.olat.gui.control.generic.portal.AbstractPortlet#createInstance(org.olat.gui.control.WindowControl, org.olat.gui.UserRequest, java.util.Map)
 	 */
-	public Portlet createInstance(WindowControl wControl, UserRequest ureq, Map configuration) {
+	public Portlet createInstance(WindowControl wControl, UserRequest ureq, Map<String,String> configuration) {
 		if (institutions == null) init();
 		InstitutionPortlet p = new InstitutionPortlet();
 		p.setName(this.getName());
 		p.setConfiguration(configuration);
-		p.setTranslator(new PackageTranslator(Util.getPackageName(InstitutionPortlet.class), ureq.getLocale()));
+		p.setTranslator(Util.createPackageTranslator(InstitutionPortlet.class, ureq.getLocale()));
 		// override css class if configured
 		String cssClass = (String) configuration.get("cssWrapperClass");
 		if (cssClass != null) p.setCssWrapperClass(cssClass);
diff --git a/src/main/java/de/bps/olat/portal/links/LinksPortlet.java b/src/main/java/de/bps/olat/portal/links/LinksPortlet.java
index 1c778fffe246f7d83562e3c36499dbad585711da..a89130f0f9c613358a9871cd03f4bcce5356995d 100644
--- a/src/main/java/de/bps/olat/portal/links/LinksPortlet.java
+++ b/src/main/java/de/bps/olat/portal/links/LinksPortlet.java
@@ -85,7 +85,7 @@ public class LinksPortlet extends AbstractPortlet {
 	/**
 	 * @see org.olat.gui.control.generic.portal.AbstractPortlet#createInstance(org.olat.gui.control.WindowControl, org.olat.gui.UserRequest, java.util.Map)
 	 */
-	public Portlet createInstance(WindowControl wControl, UserRequest ureq, Map configuration) {
+	public Portlet createInstance(WindowControl wControl, UserRequest ureq, Map<String,String> configuration) {
 		if(content == null) init();
 		LinksPortlet p = new LinksPortlet();
 		p.setName(this.getName());
diff --git a/src/main/java/org/olat/bookmark/BookmarksPortlet.java b/src/main/java/org/olat/bookmark/BookmarksPortlet.java
index 56f559848c8156d0b3e16939ae86c0a54fa8b9cd..3a3d46804901414cf45f38eff201195827263b52 100644
--- a/src/main/java/org/olat/bookmark/BookmarksPortlet.java
+++ b/src/main/java/org/olat/bookmark/BookmarksPortlet.java
@@ -33,7 +33,6 @@ import org.olat.core.gui.control.WindowControl;
 import org.olat.core.gui.control.generic.portal.AbstractPortlet;
 import org.olat.core.gui.control.generic.portal.Portlet;
 import org.olat.core.gui.control.generic.portal.PortletToolController;
-import org.olat.core.gui.translator.PackageTranslator;
 import org.olat.core.gui.translator.Translator;
 import org.olat.core.util.Util;
 /**
@@ -50,8 +49,8 @@ public class BookmarksPortlet extends AbstractPortlet {
 	/**
 	 * @see org.olat.gui.control.generic.portal.AbstractPortlet#createInstance(org.olat.core.gui.control.WindowControl, org.olat.core.gui.UserRequest, java.util.Map)
 	 */
-	public Portlet createInstance(WindowControl wControl, UserRequest ureq, Map configuration) {
-		Translator translator = new PackageTranslator(Util.getPackageName(BookmarksPortlet.class), ureq.getLocale());
+	public Portlet createInstance(WindowControl wControl, UserRequest ureq, Map<String,String> configuration) {
+		Translator translator = Util.createPackageTranslator(BookmarksPortlet.class, ureq.getLocale());
 		Portlet p = new BookmarksPortlet();
 		p.setName(this.getName());
 		p.setConfiguration(configuration);			
@@ -106,7 +105,7 @@ public class BookmarksPortlet extends AbstractPortlet {
 		}
 	}
 	
-	public PortletToolController getTools(UserRequest ureq, WindowControl wControl) {
+	public PortletToolController<Bookmark> getTools(UserRequest ureq, WindowControl wControl) {
 		if (runCtr == null ) {
 			this.runCtr = new BookmarksPortletRunController(wControl, ureq, getTranslator(), this.getName());		
 		}
diff --git a/src/main/java/org/olat/commons/info/portlet/InfoMessagePortlet.java b/src/main/java/org/olat/commons/info/portlet/InfoMessagePortlet.java
index 6db4050b03e10f7a890cf37ff35df522c51b66ea..8adc18b70907288a9b00fa13b7d732ac14dc494a 100644
--- a/src/main/java/org/olat/commons/info/portlet/InfoMessagePortlet.java
+++ b/src/main/java/org/olat/commons/info/portlet/InfoMessagePortlet.java
@@ -54,7 +54,7 @@ public class InfoMessagePortlet extends AbstractPortlet {
 	}
 
 	@Override
-	public Portlet createInstance(WindowControl wControl, UserRequest ureq, Map portletConfig) {
+	public Portlet createInstance(WindowControl wControl, UserRequest ureq, Map<String,String> portletConfig) {
 		Translator translator = Util.createPackageTranslator(InfoMessagePortlet.class, ureq.getLocale());
 		Portlet p = new InfoMessagePortlet();
 		p.setName(getName());			
@@ -88,7 +88,7 @@ public class InfoMessagePortlet extends AbstractPortlet {
 	}
 
 	@Override
-	public PortletToolController getTools(UserRequest ureq, WindowControl wControl) {
+	public PortletToolController<InfoSubscriptionItem> getTools(UserRequest ureq, WindowControl wControl) {
 		if (runCtrl == null ) {
 			runCtrl = new InfoMessagePortletRunController(wControl, ureq, getTranslator(), getName());
 		}
diff --git a/src/main/java/org/olat/core/commons/portlets/didYouKnow/DidYouKnowPortlet.java b/src/main/java/org/olat/core/commons/portlets/didYouKnow/DidYouKnowPortlet.java
index 76e4830e36cc231038564a3bf63a7b36b8ed7410..9ba363dbc0787c4b25742113af00d68845ef64d8 100644
--- a/src/main/java/org/olat/core/commons/portlets/didYouKnow/DidYouKnowPortlet.java
+++ b/src/main/java/org/olat/core/commons/portlets/didYouKnow/DidYouKnowPortlet.java
@@ -34,7 +34,6 @@ import org.olat.core.gui.control.Controller;
 import org.olat.core.gui.control.WindowControl;
 import org.olat.core.gui.control.generic.portal.AbstractPortlet;
 import org.olat.core.gui.control.generic.portal.Portlet;
-import org.olat.core.gui.translator.PackageTranslator;
 import org.olat.core.util.Util;
 
 /**
@@ -58,11 +57,11 @@ public class DidYouKnowPortlet extends AbstractPortlet {
 	/**
 	 * @see org.olat.gui.control.generic.portal.AbstractPortlet#createInstance(org.olat.core.gui.control.WindowControl, org.olat.core.gui.UserRequest, java.util.Map)
 	 */
-	public Portlet createInstance(WindowControl wControl, UserRequest ureq, Map configuration) {
+	public Portlet createInstance(WindowControl wControl, UserRequest ureq, Map<String,String> configuration) {
 		Portlet p = new DidYouKnowPortlet();
 		p.setName(this.getName());
 		p.setConfiguration(configuration);
-		p.setTranslator(new PackageTranslator(Util.getPackageName(DidYouKnowPortlet.class), ureq.getLocale()));
+		p.setTranslator(Util.createPackageTranslator(DidYouKnowPortlet.class, ureq.getLocale()));
 		return p;
 	}
 
diff --git a/src/main/java/org/olat/core/commons/portlets/iframe/IframePortlet.java b/src/main/java/org/olat/core/commons/portlets/iframe/IframePortlet.java
index c0bfa12172c3b2fdff2ec19eee90eb42895946f6..433c511031d0155ef63b658c653375b54fa928bd 100644
--- a/src/main/java/org/olat/core/commons/portlets/iframe/IframePortlet.java
+++ b/src/main/java/org/olat/core/commons/portlets/iframe/IframePortlet.java
@@ -28,14 +28,11 @@ package org.olat.core.commons.portlets.iframe;
 
 import java.util.Map;
 
-import org.olat.core.commons.portlets.iframe.IframePortlet;
-import org.olat.core.commons.portlets.iframe.IframePortletRunController;
 import org.olat.core.gui.UserRequest;
 import org.olat.core.gui.components.Component;
 import org.olat.core.gui.control.WindowControl;
 import org.olat.core.gui.control.generic.portal.AbstractPortlet;
 import org.olat.core.gui.control.generic.portal.Portlet;
-import org.olat.core.gui.translator.PackageTranslator;
 import org.olat.core.util.Util;
 
 /**
@@ -76,11 +73,11 @@ public class IframePortlet extends AbstractPortlet {
 	/**
 	 * @see org.olat.gui.control.generic.portal.AbstractPortlet#createInstance(org.olat.core.gui.control.WindowControl, org.olat.core.gui.UserRequest, java.util.Map)
 	 */
-	public Portlet createInstance(WindowControl wControl, UserRequest ureq, Map configuration) {
+	public Portlet createInstance(WindowControl wControl, UserRequest ureq, Map<String,String> configuration) {
 		IframePortlet p = new IframePortlet();
 		p.setName(this.getName());
 		p.setConfiguration(configuration);
-		p.setTranslator(new PackageTranslator(Util.getPackageName(IframePortlet.class), ureq.getLocale()));
+		p.setTranslator(Util.createPackageTranslator(IframePortlet.class, ureq.getLocale()));
 		// override css class if configured
 		String cssClass = (String)configuration.get("cssWrapperClass");
 		if (cssClass != null) p.setCssWrapperClass(cssClass);
diff --git a/src/main/java/org/olat/core/gui/control/generic/portal/AbstractPortlet.java b/src/main/java/org/olat/core/gui/control/generic/portal/AbstractPortlet.java
index 0452998e90718ec39f2796a47850f5e894890115..a1be22481839d5fbb37452290fb53a55efaadd82 100644
--- a/src/main/java/org/olat/core/gui/control/generic/portal/AbstractPortlet.java
+++ b/src/main/java/org/olat/core/gui/control/generic/portal/AbstractPortlet.java
@@ -42,21 +42,21 @@ import org.olat.core.gui.translator.Translator;
  * @author gnaegi
  */
 public abstract class AbstractPortlet extends AbstractConfigOnOff implements Portlet {
-	private Map configuration = new HashMap();
+	private Map<String,String> configuration = new HashMap<String,String>();
 	private String name;
 	private Translator trans;
 
 	/**
 	 * @return The configuration map
 	 */
-	public Map getConfiguration() {
+	public Map<String,String> getConfiguration() {
 		return this.configuration;
 	}
 
 	/**
 	 * @param configuration The configuration map
 	 */
-	public void setConfiguration(Map configuration) {
+	public void setConfiguration(Map<String,String> configuration) {
 		this.configuration = configuration;
 	}
 
diff --git a/src/main/java/org/olat/core/gui/control/generic/portal/Portlet.java b/src/main/java/org/olat/core/gui/control/generic/portal/Portlet.java
index fb9773a07b62e2b31790b93c1e266ce403c5fb3e..e50ffffa99eb032e2464fe8694a3a238d338c0b2 100644
--- a/src/main/java/org/olat/core/gui/control/generic/portal/Portlet.java
+++ b/src/main/java/org/olat/core/gui/control/generic/portal/Portlet.java
@@ -60,7 +60,7 @@ public interface Portlet extends ConfigOnOff,Disposable{
 	 * @param configuration
 	 * @return AbstractPortlet
 	 */
-	public Portlet createInstance(WindowControl wControl, UserRequest ureq, Map portletConfig);
+	public Portlet createInstance(WindowControl wControl, UserRequest ureq, Map<String,String> portletConfig);
 
 	/**
 	 * Get the run component of this portlet
@@ -78,12 +78,12 @@ public interface Portlet extends ConfigOnOff,Disposable{
 	/**
 	 * @return The configuration map
 	 */
-	public Map getConfiguration();
+	public Map<String,String> getConfiguration();
 
 	/**
 	 * @param configuration The configuration map
 	 */
-	public void setConfiguration(Map configuration);
+	public void setConfiguration(Map<String,String> configuration);
 
 	/**
 	 * @return The unique name of this portlet. 
diff --git a/src/main/java/org/olat/course/assessment/EfficiencyStatementsPortlet.java b/src/main/java/org/olat/course/assessment/EfficiencyStatementsPortlet.java
index 707422b9b40a61f0cea1d55508982158ae995348..f7a5777966c8100324c2ef7fa391de94bb6e5788 100644
--- a/src/main/java/org/olat/course/assessment/EfficiencyStatementsPortlet.java
+++ b/src/main/java/org/olat/course/assessment/EfficiencyStatementsPortlet.java
@@ -29,15 +29,13 @@ import java.util.Map;
 
 import org.olat.core.gui.UserRequest;
 import org.olat.core.gui.components.Component;
-import org.olat.core.gui.control.Controller;
 import org.olat.core.gui.control.WindowControl;
 import org.olat.core.gui.control.generic.portal.AbstractPortlet;
-import org.olat.core.gui.control.generic.portal.AbstractPortletRunController;
 import org.olat.core.gui.control.generic.portal.Portlet;
 import org.olat.core.gui.control.generic.portal.PortletToolController;
-import org.olat.core.gui.translator.PackageTranslator;
 import org.olat.core.gui.translator.Translator;
 import org.olat.core.util.Util;
+import org.olat.course.assessment.model.UserEfficiencyStatementLight;
 
 /**
  * Description:<br>
@@ -52,8 +50,8 @@ public class EfficiencyStatementsPortlet extends AbstractPortlet {
 	/**
 	 * @see org.olat.gui.control.generic.portal.AbstractPortlet#createInstance(org.olat.core.gui.control.WindowControl, org.olat.core.gui.UserRequest, java.util.Map)
 	 */
-	public Portlet createInstance(WindowControl wControl, UserRequest ureq, Map configuration) {
-		Translator translator = new PackageTranslator(Util.getPackageName(EfficiencyStatementsPortlet.class), ureq.getLocale());
+	public Portlet createInstance(WindowControl wControl, UserRequest ureq, Map<String,String> configuration) {
+		Translator translator = Util.createPackageTranslator(EfficiencyStatementsPortlet.class, ureq.getLocale());
 		Portlet p = new EfficiencyStatementsPortlet();
 		p.setName(this.getName());
 		p.setConfiguration(configuration);
@@ -108,7 +106,7 @@ public class EfficiencyStatementsPortlet extends AbstractPortlet {
 		}
 	}
 	
-	public PortletToolController getTools(UserRequest ureq, WindowControl wControl) {
+	public PortletToolController<UserEfficiencyStatementLight> getTools(UserRequest ureq, WindowControl wControl) {
 		if (runCtr == null) {
 			this.runCtr = new EfficiencyStatementsPortletRunController(wControl, ureq, getTranslator(), this.getName());
 		}
diff --git a/src/main/java/org/olat/group/BusinessGroupView.java b/src/main/java/org/olat/group/BusinessGroupView.java
index 271b0dced2cc33d69ff84f341fd3fbd6457741d3..c7627711fb949aae36a61abfabce93adbb63673c 100644
--- a/src/main/java/org/olat/group/BusinessGroupView.java
+++ b/src/main/java/org/olat/group/BusinessGroupView.java
@@ -50,15 +50,15 @@ public interface BusinessGroupView extends BusinessGroupShort, Persistable, Crea
 	public OLATResource getResource();
 	
 	
-	public int getNumOfRelations();
+	public long getNumOfRelations();
 	
-	public int getNumOfOwners();
+	public long getNumOfOwners();
 	
-	public int getNumOfParticipants();
+	public long getNumOfParticipants();
 	
-	public int getNumOfOffers();
+	public long getNumOfOffers();
 	
-	public int getNumOfValidOffers();
+	public long getNumOfValidOffers();
 
 	/**
 	 * The BusinessGroup has 1..n Owners acting as <i>administrators </i>.
diff --git a/src/main/java/org/olat/group/model/BusinessGroupViewImpl.hbm.xml b/src/main/java/org/olat/group/model/BusinessGroupViewImpl.hbm.xml
index d5427dcf3ba2b5ae36b42b3662d7b72d81cca075..49fa73c1c1017dda74a18ea00bd8eb7d27b1bd89 100644
--- a/src/main/java/org/olat/group/model/BusinessGroupViewImpl.hbm.xml
+++ b/src/main/java/org/olat/group/model/BusinessGroupViewImpl.hbm.xml
@@ -21,11 +21,11 @@
 		<property name="waitingListEnabled" type="boolean" column="waitinglist_enabled" unique="false" not-null="false"/>	
 		<property name="autoCloseRanksEnabled" type="boolean" column="autocloseranks_enabled" unique="false" not-null="false"/>	
 		<!--  statistics informations -->
-  		<property name="numOfOwners" column="num_of_owners" type="integer" />
-  		<property name="numOfParticipants" column="num_of_participants" type="integer" />
-  		<property name="numOfRelations" column="num_of_relations" type="integer" />
-  		<property name="numOfOffers" column="num_of_offers" type="integer" />
-  		<property name="numOfValidOffers" column="num_of_valid_offers" type="integer" />
+  		<property name="numOfOwners" column="num_of_owners" type="long" />
+  		<property name="numOfParticipants" column="num_of_participants" type="long" />
+  		<property name="numOfRelations" column="num_of_relations" type="long" />
+  		<property name="numOfOffers" column="num_of_offers" type="long" />
+  		<property name="numOfValidOffers" column="num_of_valid_offers" type="long" />
 
 		<many-to-one name="resource" class="org.olat.resource.OLATResourceImpl"
     		outer-join="true" cascade="none" lazy="false">  
diff --git a/src/main/java/org/olat/group/model/BusinessGroupViewImpl.java b/src/main/java/org/olat/group/model/BusinessGroupViewImpl.java
index 361a004649e7d67842481977fab37d7a3192179e..e408b880dd02164234ee6f8b9b9062f1764d1ee9 100644
--- a/src/main/java/org/olat/group/model/BusinessGroupViewImpl.java
+++ b/src/main/java/org/olat/group/model/BusinessGroupViewImpl.java
@@ -50,32 +50,32 @@ public class BusinessGroupViewImpl extends PersistentObject implements BusinessG
 	private Boolean autoCloseRanksEnabled;
 	private Date lastModified;
 
-	private int numOfOwners;
-	private int numOfParticipants;
-	private int numOfRelations;
-	private int numOfOffers;
-	private int numOfValidOffers;
+	private long numOfOwners;
+	private long numOfParticipants;
+	private long numOfRelations;
+	private long numOfOffers;
+	private long numOfValidOffers;
 
 	@Override
-	public int getNumOfRelations() {
+	public long getNumOfRelations() {
 		return numOfRelations;
 	}
 
-	public void setNumOfRelations(int numOfRelations) {
+	public void setNumOfRelations(long numOfRelations) {
 		this.numOfRelations = numOfRelations;
 	}
 
 	@Override
-	public int getNumOfOwners() {
+	public long getNumOfOwners() {
 		return numOfOwners;
 	}
 
-	public void setNumOfOwners(int numOfOwners) {
+	public void setNumOfOwners(long numOfOwners) {
 		this.numOfOwners = numOfOwners;
 	}
 
 	@Override
-	public int getNumOfParticipants() {
+	public long getNumOfParticipants() {
 		return numOfParticipants;
 	}
 
@@ -83,22 +83,21 @@ public class BusinessGroupViewImpl extends PersistentObject implements BusinessG
 		this.numOfParticipants = numOfParticipants;
 	}
 
-
 	@Override
-	public int getNumOfOffers() {
+	public long getNumOfOffers() {
 		return numOfOffers;
 	}
 	
-	public void setNumOfOffers(int numOfOffers) {
+	public void setNumOfOffers(long numOfOffers) {
 		this.numOfOffers = numOfOffers;
 	}
 
 	@Override
-	public int getNumOfValidOffers() {
+	public long getNumOfValidOffers() {
 		return numOfValidOffers;
 	}
 
-	public void setNumOfValidOffers(int numOfValidOffers) {
+	public void setNumOfValidOffers(long numOfValidOffers) {
 		this.numOfValidOffers = numOfValidOffers;
 	}
 
diff --git a/src/main/java/org/olat/group/ui/main/BGTableItem.java b/src/main/java/org/olat/group/ui/main/BGTableItem.java
index 4825a804175a83b98f8ffab8137a13ab3b8f497b..31ff6c092499ce67d8248f299b6fd9b22f194a17 100644
--- a/src/main/java/org/olat/group/ui/main/BGTableItem.java
+++ b/src/main/java/org/olat/group/ui/main/BGTableItem.java
@@ -82,7 +82,7 @@ public class BGTableItem {
 		return businessGroup.getName();
 	}
 	
-	public int getNumOfParticipants() {
+	public long getNumOfParticipants() {
 		return businessGroup.getNumOfParticipants();
 	}
 	
@@ -186,7 +186,7 @@ public class BGTableItem {
 		private final Long key;
 		private final String name;
 		private final Integer maxParticipants;
-		private int numOfParticipants;
+		private long numOfParticipants;
 		private final boolean waitingListEnabled;
 		
 		public BGShort(BusinessGroup group) {
@@ -228,7 +228,7 @@ public class BGTableItem {
 			return maxParticipants;
 		}
 
-		public int getNumOfParticipants() {
+		public long getNumOfParticipants() {
 			return numOfParticipants;
 		}
 		
diff --git a/src/main/java/org/olat/group/ui/main/BusinessGroupTableModelWithType.java b/src/main/java/org/olat/group/ui/main/BusinessGroupTableModelWithType.java
index 690e58433d47c3f44634767c57646df2243a9734..132ad1f7ca920bb144f3570d181932cde9ae1c1e 100644
--- a/src/main/java/org/olat/group/ui/main/BusinessGroupTableModelWithType.java
+++ b/src/main/java/org/olat/group/ui/main/BusinessGroupTableModelWithType.java
@@ -120,8 +120,8 @@ public class BusinessGroupTableModelWithType extends DefaultTableDataModel<BGTab
 			case freePlaces: {
 				Integer maxParticipants = wrapped.getMaxParticipants();
 				if(maxParticipants != null && maxParticipants.intValue() > 0) {
-					int free = maxParticipants - wrapped.getNumOfParticipants();
-					return Integer.toString(free);
+					long free = maxParticipants - wrapped.getNumOfParticipants();
+					return Long.toString(free);
 				}
 				return "&infin;";
 			}
diff --git a/src/main/java/org/olat/group/ui/portlet/GroupsPortlet.java b/src/main/java/org/olat/group/ui/portlet/GroupsPortlet.java
index e61d5ae3e2f2fa22f6f81c97b715bbac67aa1b92..889294b8301524277d8fd67d94763c64b28ce963 100644
--- a/src/main/java/org/olat/group/ui/portlet/GroupsPortlet.java
+++ b/src/main/java/org/olat/group/ui/portlet/GroupsPortlet.java
@@ -52,7 +52,7 @@ public class GroupsPortlet extends AbstractPortlet {
 	 * @see org.olat.gui.control.generic.portal.AbstractPortlet#createInstance(org.olat.core.gui.control.WindowControl,
 	 *      org.olat.core.gui.UserRequest, java.util.Map)
 	 */
-	public Portlet createInstance(WindowControl wControl, UserRequest ureq, Map configuration) {
+	public Portlet createInstance(WindowControl wControl, UserRequest ureq, Map<String,String> configuration) {
 		Translator translator = Util.createPackageTranslator(BGControllerFactory.class, ureq.getLocale());
 		Portlet p = new GroupsPortlet();
 		p.setName(this.getName());
diff --git a/src/main/java/org/olat/note/NotesPortlet.java b/src/main/java/org/olat/note/NotesPortlet.java
index d2679de0ab121a34603d16b46bd076da5910f043..db4576b92f517eb68ff9c1924f83c2c2519c2c78 100644
--- a/src/main/java/org/olat/note/NotesPortlet.java
+++ b/src/main/java/org/olat/note/NotesPortlet.java
@@ -33,7 +33,6 @@ import org.olat.core.gui.control.WindowControl;
 import org.olat.core.gui.control.generic.portal.AbstractPortlet;
 import org.olat.core.gui.control.generic.portal.Portlet;
 import org.olat.core.gui.control.generic.portal.PortletToolController;
-import org.olat.core.gui.translator.PackageTranslator;
 import org.olat.core.gui.translator.Translator;
 import org.olat.core.util.Util;
 
@@ -50,9 +49,8 @@ public class NotesPortlet extends AbstractPortlet {
 	/**
 	 * @see org.olat.gui.control.generic.portal.AbstractPortlet#createInstance(org.olat.core.gui.control.WindowControl, org.olat.core.gui.UserRequest, java.util.Map)
 	 */
-	@SuppressWarnings("unused")
-	public Portlet createInstance(WindowControl wControl, UserRequest ureq, Map configuration) {
-		Translator translator = new PackageTranslator(Util.getPackageName(NotesPortlet.class), ureq.getLocale());
+	public Portlet createInstance(WindowControl wControl, UserRequest ureq, Map<String,String> configuration) {
+		Translator translator = Util.createPackageTranslator(NotesPortlet.class, ureq.getLocale());
 		Portlet p = new NotesPortlet();
 		p.setName(this.getName());
 		p.setConfiguration(configuration);
@@ -107,7 +105,7 @@ public class NotesPortlet extends AbstractPortlet {
 		}
 	}
 
-	public PortletToolController getTools(UserRequest ureq, WindowControl wControl) {
+	public PortletToolController<Note> getTools(UserRequest ureq, WindowControl wControl) {
 		if (runCtr == null) {
 			this.runCtr = new NotesPortletRunController(wControl, ureq, getTranslator(), this.getName());
 		}
diff --git a/src/main/java/org/olat/notifications/NotificationsPortlet.java b/src/main/java/org/olat/notifications/NotificationsPortlet.java
index 705eab4e49df10c8553975e8ccb27768566144da..ef687a4ec4f2f259f9476585e680ba586fca6356 100644
--- a/src/main/java/org/olat/notifications/NotificationsPortlet.java
+++ b/src/main/java/org/olat/notifications/NotificationsPortlet.java
@@ -35,6 +35,7 @@ import org.olat.core.gui.control.generic.portal.Portlet;
 import org.olat.core.gui.control.generic.portal.PortletToolController;
 import org.olat.core.gui.translator.Translator;
 import org.olat.core.util.Util;
+import org.olat.core.util.notifications.Subscriber;
 
 /**
  * Description:<br>
@@ -49,7 +50,7 @@ public class NotificationsPortlet extends AbstractPortlet {
 	/**
 	 * @see org.olat.gui.control.generic.portal.AbstractPortlet#createInstance(org.olat.core.gui.control.WindowControl, org.olat.core.gui.UserRequest, java.util.Map)
 	 */
-	public Portlet createInstance(WindowControl wControl, UserRequest ureq, Map configuration) {
+	public Portlet createInstance(WindowControl wControl, UserRequest ureq, Map<String,String> configuration) {
 		Translator translator = Util.createPackageTranslator(NotificationsPortlet.class, ureq.getLocale());
 		Portlet p = new NotificationsPortlet();
 		p.setName(this.getName());
@@ -105,7 +106,7 @@ public class NotificationsPortlet extends AbstractPortlet {
 		}
 	}
 	
-	public PortletToolController getTools(UserRequest ureq, WindowControl wControl) {
+	public PortletToolController<Subscriber> getTools(UserRequest ureq, WindowControl wControl) {
 		if (runCtr == null) {
 			this.runCtr = new NotificationsPortletRunController(wControl, ureq, getTranslator(), this.getName());
 		}
diff --git a/src/main/java/org/olat/notifications/NotificationsPortletRunController.java b/src/main/java/org/olat/notifications/NotificationsPortletRunController.java
index 0d1f75d6d9727f28a3e752f652c323c78d93931d..8cd9cd4955568df652204a879801c49c313472a8 100644
--- a/src/main/java/org/olat/notifications/NotificationsPortletRunController.java
+++ b/src/main/java/org/olat/notifications/NotificationsPortletRunController.java
@@ -36,7 +36,6 @@ import java.util.Map;
 import org.olat.ControllerFactory;
 import org.olat.NewControllerFactory;
 import org.olat.commons.calendar.ui.CalendarController;
-import org.olat.core.CoreSpringFactory;
 import org.olat.core.gui.UserRequest;
 import org.olat.core.gui.Windows;
 import org.olat.core.gui.components.Component;
@@ -74,9 +73,7 @@ import org.olat.core.util.notifications.Subscriber;
 import org.olat.core.util.notifications.SubscriptionInfo;
 import org.olat.core.util.resource.OresHelper;
 import org.olat.course.CourseModule;
-import org.olat.group.BusinessGroup;
 import org.olat.group.BusinessGroupModule;
-import org.olat.group.BusinessGroupService;
 
 /**
  * Description:<br>
diff --git a/src/main/java/org/olat/portal/calendar/CalendarPortlet.java b/src/main/java/org/olat/portal/calendar/CalendarPortlet.java
index 7558e7853f99a55dda63fa6a0afa76ef2384391c..430f5a728e7d8ce6eac563158a4e0e8de4f1365f 100644
--- a/src/main/java/org/olat/portal/calendar/CalendarPortlet.java
+++ b/src/main/java/org/olat/portal/calendar/CalendarPortlet.java
@@ -37,7 +37,6 @@ import org.olat.core.gui.control.Controller;
 import org.olat.core.gui.control.WindowControl;
 import org.olat.core.gui.control.generic.portal.AbstractPortlet;
 import org.olat.core.gui.control.generic.portal.Portlet;
-import org.olat.core.gui.translator.PackageTranslator;
 import org.olat.core.util.Util;
 
 /**
@@ -56,11 +55,11 @@ public class CalendarPortlet extends AbstractPortlet {
 	/**
 	 * @see org.olat.gui.control.generic.portal.AbstractPortlet#createInstance(org.olat.core.gui.control.WindowControl, org.olat.core.gui.UserRequest, java.util.Map)
 	 */
-	public Portlet createInstance(WindowControl wControl, UserRequest ureq, Map configuration) {
+	public Portlet createInstance(WindowControl wControl, UserRequest ureq, Map<String,String> configuration) {
 		CalendarPortlet p = new CalendarPortlet();
 		p.setName(this.getName());
 		p.setConfiguration(configuration);
-		p.setTranslator(new PackageTranslator(Util.getPackageName(CalendarPortlet.class), ureq.getLocale()));
+		p.setTranslator(Util.createPackageTranslator(CalendarPortlet.class, ureq.getLocale()));
 		p.setLocale(ureq.getLocale());
 		return p;
 	}
diff --git a/src/main/java/org/olat/portal/infomsg/InfoMsgPortlet.java b/src/main/java/org/olat/portal/infomsg/InfoMsgPortlet.java
index 84e4ae702c68c12881b4612576ac3727dd95537e..fa022a0560c486600b94157c34dba2d7e0b8e20f 100644
--- a/src/main/java/org/olat/portal/infomsg/InfoMsgPortlet.java
+++ b/src/main/java/org/olat/portal/infomsg/InfoMsgPortlet.java
@@ -33,7 +33,6 @@ import org.olat.core.gui.control.Controller;
 import org.olat.core.gui.control.WindowControl;
 import org.olat.core.gui.control.generic.portal.AbstractPortlet;
 import org.olat.core.gui.control.generic.portal.Portlet;
-import org.olat.core.gui.translator.PackageTranslator;
 import org.olat.core.util.Util;
 
 /**
@@ -50,11 +49,11 @@ public class InfoMsgPortlet extends AbstractPortlet {
 	/**
 	 * @see org.olat.gui.control.generic.portal.AbstractPortlet#createInstance(org.olat.gui.control.WindowControl, org.olat.gui.UserRequest, java.util.Map)
 	 */
-	public Portlet createInstance(WindowControl wControl, UserRequest ureq, Map configuration) {
+	public Portlet createInstance(WindowControl wControl, UserRequest ureq, Map<String,String> configuration) {
 		Portlet p = new InfoMsgPortlet();
 		p.setName(this.getName());
 		p.setConfiguration(configuration);
-		p.setTranslator(new PackageTranslator(Util.getPackageName(InfoMsgPortlet.class), ureq.getLocale()));
+		p.setTranslator(Util.createPackageTranslator(InfoMsgPortlet.class, ureq.getLocale()));
 		return p;
 	}
 
diff --git a/src/main/java/org/olat/portal/quickstart/QuickstartPortlet.java b/src/main/java/org/olat/portal/quickstart/QuickstartPortlet.java
index bc447508b334509611657b0022741ca884f76b65..bfe4e77080d4676cb9392335fde89c5fb2ab92db 100644
--- a/src/main/java/org/olat/portal/quickstart/QuickstartPortlet.java
+++ b/src/main/java/org/olat/portal/quickstart/QuickstartPortlet.java
@@ -33,7 +33,6 @@ import org.olat.core.gui.control.Controller;
 import org.olat.core.gui.control.WindowControl;
 import org.olat.core.gui.control.generic.portal.AbstractPortlet;
 import org.olat.core.gui.control.generic.portal.Portlet;
-import org.olat.core.gui.translator.PackageTranslator;
 import org.olat.core.util.Util;
 
 /**
@@ -49,11 +48,11 @@ public class QuickstartPortlet extends AbstractPortlet {
 	/**
 	 * @see org.olat.gui.control.generic.portal.AbstractPortlet#createInstance(org.olat.core.gui.control.WindowControl, org.olat.core.gui.UserRequest, java.util.Map)
 	 */
-	public Portlet createInstance(WindowControl wControl, UserRequest ureq, Map configuration) {
+	public Portlet createInstance(WindowControl wControl, UserRequest ureq, Map<String,String> configuration) {
 		Portlet p = new QuickstartPortlet();
 		p.setName(this.getName());
 		p.setConfiguration(configuration);
-		p.setTranslator(new PackageTranslator(Util.getPackageName(QuickstartPortlet.class), ureq.getLocale()));
+		p.setTranslator(Util.createPackageTranslator(QuickstartPortlet.class, ureq.getLocale()));
 		return p;
 	}
 
diff --git a/src/main/java/org/olat/portal/shiblogin/ShibLoginPortlet.java b/src/main/java/org/olat/portal/shiblogin/ShibLoginPortlet.java
index 9546de65f455938203740f5d5b33482a8e7cb774..7b9757465a47c4f64bae7c3a0065e6e87a8016aa 100644
--- a/src/main/java/org/olat/portal/shiblogin/ShibLoginPortlet.java
+++ b/src/main/java/org/olat/portal/shiblogin/ShibLoginPortlet.java
@@ -93,7 +93,7 @@ public class ShibLoginPortlet extends AbstractPortlet {
 	/**
 	 * @see org.olat.gui.control.generic.portal.AbstractPortlet#createInstance(org.olat.gui.control.WindowControl, org.olat.gui.UserRequest, java.util.Map)
 	 */
-	public Portlet createInstance(WindowControl wControl, UserRequest ureq, Map configuration) {
+	public Portlet createInstance(WindowControl wControl, UserRequest ureq, Map<String,String> configuration) {
 		if (!ShibbolethModule.isEnableShibbolethLogins())
 			throw new OLATSecurityException("Got shibboleth wayf form request but shibboleth is not enabled.");		
 		ShibLoginPortlet p = new ShibLoginPortlet(config);
diff --git a/src/main/java/org/olat/repository/portlet/RepositoryPortlet.java b/src/main/java/org/olat/repository/portlet/RepositoryPortlet.java
index db5fa15478d2e0a09cb24db71e6c84c6e87a67ae..5d29364fd2baff666a9f9accf8c9b17d01a2bf91 100644
--- a/src/main/java/org/olat/repository/portlet/RepositoryPortlet.java
+++ b/src/main/java/org/olat/repository/portlet/RepositoryPortlet.java
@@ -30,6 +30,7 @@ import org.olat.core.gui.control.generic.portal.Portlet;
 import org.olat.core.gui.control.generic.portal.PortletToolController;
 import org.olat.core.gui.translator.Translator;
 import org.olat.core.util.Util;
+import org.olat.repository.RepositoryEntryShort;
 
 /**
  * Description:<br>
@@ -44,14 +45,14 @@ public class RepositoryPortlet extends AbstractPortlet {
 	private RepositoryPortletRunController runCtr;
 	private static final String CONFIG_KEY_ROLE = "role";
 	private static final String CONFIG_KEY_ROLE_STUDENT = "student";
-	private static final String CONFIG_KEY_ROLE_TEACHER = "teacher";
+	protected static final String CONFIG_KEY_ROLE_TEACHER = "teacher";
 	
 	
 	/**
 	 * @see org.olat.gui.control.generic.portal.AbstractPortlet#createInstance(org.olat.core.gui.control.WindowControl,
 	 *      org.olat.core.gui.UserRequest, java.util.Map)
 	 */
-	public Portlet createInstance(WindowControl wControl, UserRequest ureq, Map configuration) {
+	public Portlet createInstance(WindowControl wControl, UserRequest ureq, Map<String,String> configuration) {
 		Translator translator = Util.createPackageTranslator(RepositoryPortlet.class, ureq.getLocale());
 		Portlet p = new RepositoryPortlet();
 		p.setName(this.getName());
@@ -121,7 +122,7 @@ public class RepositoryPortlet extends AbstractPortlet {
 		}
 	}
 	
-	public PortletToolController getTools(UserRequest ureq, WindowControl wControl) {
+	public PortletToolController<RepositoryEntryShort> getTools(UserRequest ureq, WindowControl wControl) {
 		//portlet was not yet visible
 		if ( runCtr == null ) {
 			boolean studentView = CONFIG_KEY_ROLE_STUDENT.equals(getConfiguration().get(CONFIG_KEY_ROLE));
diff --git a/src/main/resources/database/postgresql/alter_8_1_x_to_8_2_0.sql b/src/main/resources/database/postgresql/alter_8_1_x_to_8_2_0.sql
index 1cabe48a32d7ae29ff8ed6c61475a9a9e7eb5043..c12e69e1f00fa4d73e3565c866e24206de39b12f 100644
--- a/src/main/resources/database/postgresql/alter_8_1_x_to_8_2_0.sql
+++ b/src/main/resources/database/postgresql/alter_8_1_x_to_8_2_0.sql
@@ -184,7 +184,7 @@ create index paypal_pay_key_idx on o_ac_paypal_transaction (pay_key);
 create index paypal_pay_trx_id_idx on o_ac_paypal_transaction (ipn_transaction_id);
 create index paypal_pay_s_trx_id_idx on o_ac_paypal_transaction (ipn_sender_transaction_id);
 
-create table  if not exists o_ac_reservation (
+create table o_ac_reservation (
    reservation_id int8 NOT NULL,
    creationdate timestamp,
    lastmodified timestamp,
diff --git a/src/main/resources/database/postgresql/setupDatabase.sql b/src/main/resources/database/postgresql/setupDatabase.sql
index fed48bb3bbeab7a1aed0026dc38868b50206a08d..b75881276ca9f6e7c310f1aff0c8e26f12db3364 100644
--- a/src/main/resources/database/postgresql/setupDatabase.sql
+++ b/src/main/resources/database/postgresql/setupDatabase.sql
@@ -525,7 +525,7 @@ create table o_info_message (
 
 create table o_co_db_entry (
    id int8 not null,
-   version int8 not null,
+   version int4 not null,
    lastmodified timestamp,
    creationdate timestamp,
    courseid int8,
@@ -797,7 +797,7 @@ create table o_ac_transaction (
 	primary key (transaction_id)
 );
 
-create table  if not exists o_ac_reservation (
+create table o_ac_reservation (
    reservation_id int8 NOT NULL,
    creationdate timestamp,
    lastmodified timestamp,
@@ -809,32 +809,32 @@ create table  if not exists o_ac_reservation (
 
 create table o_ac_paypal_transaction (
    transaction_id int8 not null,
-   version int8 not null,
+   version int4 not null,
    creationdate timestamp,
    ref_no varchar(255),
    order_id int8 not null,
    order_part_id int8 not null,
    method_id int8 not null,
    success_uuid varchar(32) not null,
-	 cancel_uuid varchar(32) not null,
-	 amount_amount DECIMAL,
-	 amount_currency_code VARCHAR(3),
+   cancel_uuid varchar(32) not null,
+   amount_amount DECIMAL,
+   amount_currency_code VARCHAR(3),
    pay_response_date timestamp,
    pay_key varchar(255),
-	 ack varchar(255),
-	 build varchar(255),
-	 coorelation_id varchar(255),
-	 payment_exec_status varchar(255),
-	 ipn_transaction_id varchar(255),
-	 ipn_transaction_status varchar(255),
-	 ipn_sender_transaction_id varchar(255),
-	 ipn_sender_transaction_status varchar(255),
-	 ipn_sender_email varchar(255),
-	 ipn_verify_sign varchar(255),
-	 ipn_pending_reason varchar(255),
-	 trx_status VARCHAR(32) not null default 'NEW',
-	 trx_amount DECIMAL,
-	 trx_currency_code VARCHAR(3),
+   ack varchar(255),
+   build varchar(255),
+   coorelation_id varchar(255),
+   payment_exec_status varchar(255),
+   ipn_transaction_id varchar(255),
+   ipn_transaction_status varchar(255),
+   ipn_sender_transaction_id varchar(255),
+   ipn_sender_transaction_status varchar(255),
+   ipn_sender_email varchar(255),
+   ipn_verify_sign varchar(255),
+   ipn_pending_reason varchar(255),
+   trx_status VARCHAR(32) not null default 'NEW',
+   trx_amount DECIMAL,
+   trx_currency_code VARCHAR(3),
    primary key (transaction_id)
 );