diff --git a/src/main/java/org/olat/commons/calendar/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/commons/calendar/_i18n/LocalStrings_pt_BR.properties
index 4283269d2710c2450fb917d09e8061978750f824..c11d4bb12dece93518133093f99ad807807cca54 100644
--- a/src/main/java/org/olat/commons/calendar/_i18n/LocalStrings_pt_BR.properties
+++ b/src/main/java/org/olat/commons/calendar/_i18n/LocalStrings_pt_BR.properties
@@ -1,4 +1,4 @@
-#Mon Feb 04 20:02:45 CET 2019
+#Tue Feb 05 13:21:15 CET 2019
 cal.add.event=Adicionar evento
 cal.add.readonly=(somente leitura)
 cal.color.choose=Escolher cor
diff --git a/src/main/java/org/olat/commons/calendar/restapi/CalendarWSHelper.java b/src/main/java/org/olat/commons/calendar/restapi/CalendarWSHelper.java
index 1451100bb4a8210b805dbb6a7670b7fe03083caf..372f0ca2397455a09eeee29f5c2f504cbfb54e03 100644
--- a/src/main/java/org/olat/commons/calendar/restapi/CalendarWSHelper.java
+++ b/src/main/java/org/olat/commons/calendar/restapi/CalendarWSHelper.java
@@ -51,6 +51,8 @@ public class CalendarWSHelper {
 		kalEvent.setLocation(event.getLocation());
 		kalEvent.setManagedFlags(CalendarManagedFlag.toEnum(event.getManagedFlags()));
 		kalEvent.setAllDayEvent(event.isAllDayEvent());
+        kalEvent.setExternalId(event.getExternalId());
+        kalEvent.setExternalSource(event.getExternalSource());
 	}
 	
 	protected static boolean hasReadAccess(KalendarRenderWrapper wrapper) {
diff --git a/src/main/java/org/olat/group/ui/run/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/group/ui/run/_i18n/LocalStrings_pt_BR.properties
index 643e53a7f770017ecfc6be306bee1693935f5bb3..0ca82a841e396f125e7a3789b921281c6a91e8fa 100644
--- a/src/main/java/org/olat/group/ui/run/_i18n/LocalStrings_pt_BR.properties
+++ b/src/main/java/org/olat/group/ui/run/_i18n/LocalStrings_pt_BR.properties
@@ -1,4 +1,4 @@
-#Mon Feb 04 20:03:03 CET 2019
+#Tue Feb 05 13:19:48 CET 2019
 businessgroup.contact.bodytext=<p></p>---<p>Ir imediatamente para o grupo "{0}"\: {1}</p>
 businessgroup.contact.subject=Mensagem para grupo {0}
 contact.all.coaches=Todos os treinadores (coaches) de grupo
diff --git a/src/main/java/org/olat/ims/qti21/ui/editor/AssessmentTestComposerController.java b/src/main/java/org/olat/ims/qti21/ui/editor/AssessmentTestComposerController.java
index d637e4911231cb3dad56b7f3be0ef6e5bb305687..0c42b30aedecedf04729d269160bbf5df669b16b 100644
--- a/src/main/java/org/olat/ims/qti21/ui/editor/AssessmentTestComposerController.java
+++ b/src/main/java/org/olat/ims/qti21/ui/editor/AssessmentTestComposerController.java
@@ -441,11 +441,13 @@ public class AssessmentTestComposerController extends MainLayoutBasicController
 			AssessmentTestEvent ate = (AssessmentTestEvent)event;
 			if(ate == AssessmentTestEvent.ASSESSMENT_TEST_CHANGED_EVENT) {
 				AssessmentTest ast = assessmentTestBuilder.getAssessmentTest();
+				assessmentChanged(ureq);
 				doUpdate(ast.getIdentifier(), ast.getTitle());
 			}
 		} else if(event instanceof AssessmentTestPartEvent) {
 			AssessmentTestPartEvent atpe = (AssessmentTestPartEvent)event;
 			if(atpe == AssessmentTestPartEvent.ASSESSMENT_TEST_PART_CHANGED_EVENT) {
+				assessmentChanged(ureq);
 				doSaveAssessmentTest(ureq, null);
 			}
 		} else if(event instanceof AssessmentSectionEvent) {
diff --git a/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_fr.properties b/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_fr.properties
index d86d45c4035cd41cb33fce3563c93762541e6ee3..4a8ead5613a2f240c5e7b47298402ed9baf7dd8a 100644
--- a/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_fr.properties
+++ b/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_fr.properties
@@ -1,4 +1,4 @@
-#Tue Jan 22 21:32:30 CET 2019
+#Fri Feb 08 11:37:38 CET 2019
 Diff\u00E9rentes=alternatives
 MULTIPLE=Choix multiple
 SINGLE=Choix simple
@@ -17,6 +17,7 @@ add.match.row=Ajouter une ligne
 answers=R\u00E9ponses
 change.elements=Edition
 configuration.option.inherited=H\u00E9rit\u00E9
+configuration.option.inherited.val=H\u00E9rit\u00E9 ({0})
 configuration.option.no=Non
 configuration.option.yes=Oui
 configuration.overview=Aper\u00E7u de la configuration du test
diff --git a/src/main/java/org/olat/modules/curriculum/ui/EditCurriculumController.java b/src/main/java/org/olat/modules/curriculum/ui/EditCurriculumController.java
index 140e10126c2c78a390e89f8b9adfd3afbe7d3f2e..c08aacbb595cdbdf978c77c9ecd0ec197982f01e 100644
--- a/src/main/java/org/olat/modules/curriculum/ui/EditCurriculumController.java
+++ b/src/main/java/org/olat/modules/curriculum/ui/EditCurriculumController.java
@@ -141,11 +141,17 @@ public class EditCurriculumController extends FormBasicController {
 		}
 		
 		String selectedOrganisationKey = null;
-		if(curriculum != null && curriculum.getOrganisation() != null) {
-			selectedOrganisationKey = curriculum.getOrganisation().getKey().toString();
-			if(!keyList.contains(selectedOrganisationKey)) {
-				keyList.add(selectedOrganisationKey);
-				valueList.add(curriculum.getOrganisation().getDisplayName());
+		if(curriculum != null) {
+			if(curriculum.getOrganisation() == null) {
+				keyList.add(0, "");
+				valueList.add(0, "-");
+				selectedOrganisationKey = "";
+			} else {
+				selectedOrganisationKey = curriculum.getOrganisation().getKey().toString();
+				if(!keyList.contains(selectedOrganisationKey)) {
+					keyList.add(selectedOrganisationKey);
+					valueList.add(curriculum.getOrganisation().getDisplayName());
+				}
 			}
 		}
 
@@ -186,8 +192,12 @@ public class EditCurriculumController extends FormBasicController {
 		//create a new one
 		Organisation organisation;
 		if(organisationEl != null && organisationEl.isVisible() && organisationEl.isOneSelected()) {
-			organisation = organisationService
-					.getOrganisation(new OrganisationRefImpl(Long.valueOf(organisationEl.getSelectedKey())));
+			if(StringHelper.isLong(organisationEl.getSelectedKey())) {
+				organisation = organisationService
+						.getOrganisation(new OrganisationRefImpl(Long.valueOf(organisationEl.getSelectedKey())));
+			} else {
+				organisation = null;
+			}
 		} else {
 			organisation = organisationService.getDefaultOrganisation();
 		}
diff --git a/src/main/java/org/olat/user/ui/organisation/ConfirmOrganisationDeleteController.java b/src/main/java/org/olat/user/ui/organisation/ConfirmOrganisationDeleteController.java
index f98307d51a396f900e16fa33542c79ab25547a05..df475bf09cbf80428a383a8d031a111806b71b47 100644
--- a/src/main/java/org/olat/user/ui/organisation/ConfirmOrganisationDeleteController.java
+++ b/src/main/java/org/olat/user/ui/organisation/ConfirmOrganisationDeleteController.java
@@ -158,7 +158,7 @@ public class ConfirmOrganisationDeleteController extends FormBasicController {
 	
 	private void doDelete() {
 		OrganisationRef organisationAlt = null;
-		if(organisationAltEl != null) {
+		if(organisationAltEl != null && StringHelper.isLong(organisationAltEl.getSelectedKey())) {
 			String selectedKey = organisationAltEl.getSelectedKey();
 			organisationAlt = new OrganisationRefImpl(Long.valueOf(selectedKey));
 		}
diff --git a/src/main/java/org/olat/user/ui/organisation/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/user/ui/organisation/_i18n/LocalStrings_de.properties
index 0c73eb26c102d2cc22b3bdaf933f72dff381afdc..1b1182ea3f805b9982a3bc176886cd7ff0864ccf 100644
--- a/src/main/java/org/olat/user/ui/organisation/_i18n/LocalStrings_de.properties
+++ b/src/main/java/org/olat/user/ui/organisation/_i18n/LocalStrings_de.properties
@@ -27,7 +27,7 @@ organisation.external.id=Externe ID
 organisation.identifier=Bezeichnung
 organisation.key=ID
 organisation.metadata=Metadata
-organisation.replacement=Austaucht die gel\u00F6schte Organisation f\u00FCr Curriculums...
+organisation.replacement=Gel\u00F6schte Organisation f\u00FCr zugeordnete Curricula ersetzen...
 organisation.resources=Lernressourcen
 organisation.structure=Organisationsstruktur
 organisation.type=Organisationstyp
diff --git a/src/main/java/org/olat/user/ui/organisation/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/user/ui/organisation/_i18n/LocalStrings_en.properties
index 5d4d318ce6465c5895139f51a4e51b9906cac0f0..a5ea98964cb3965fc7775e426338df60c1b01919 100644
--- a/src/main/java/org/olat/user/ui/organisation/_i18n/LocalStrings_en.properties
+++ b/src/main/java/org/olat/user/ui/organisation/_i18n/LocalStrings_en.properties
@@ -1,4 +1,4 @@
-#Tue Sep 11 22:19:19 CEST 2018
+#Fri Feb 08 11:37:13 CET 2019
 add.member=Add user
 add.member.role=Add user as "{0}"
 add.organisation.under=Add new organisation under this one
@@ -16,9 +16,9 @@ edit.type=Edit organisation type
 institution.to.org=Migrate learn resource management by institution name to organisation
 institution.to.org.explain=Explanation
 institution.to.org.label=Migration
-no.replacement=-
 migrate=Migrate
 move.organisation=Move organisation
+no.replacement=-
 organisation.admin.enabled=Enable organisations
 organisation.configuration=Organisations
 organisation.description=Description
@@ -41,6 +41,7 @@ role.coach=$org.olat.admin.user\:role.coach
 role.curriculummanager=$org.olat.admin.user\:role.curriculummanager
 role.groupmanager=$org.olat.admin.user\:role.groupmanager
 role.guest=$org.olat.admin.user\:role.guest
+role.invitee=$org.olat.admin.user\:role.invitee
 role.learnresourcemanager=Learn resource manager
 role.lecturemanager=$org.olat.admin.user\:role.lecturemanager
 role.linemanager=$org.olat.admin.user\:role.linemanager
@@ -69,10 +70,10 @@ table.organisation.type.empty=Empty
 table.tooltip.inheritance.inherited=Roles inherited from the organisations above
 table.tooltip.inheritance.none=Roles of this organisation
 table.tooltip.inheritance.root=Role propagated on the organisation under this one
+table.tree.root=Organisations
 table.type.header.type.displayName=Name
 table.type.header.type.externalId=External ID
 table.type.header.type.identifier=Identifier
-table.tree.root=Organisations
 type.allowed.sub.types=Sub types
 type.cssClass=CSS class
 type.description=Description
@@ -81,4 +82,4 @@ type.identifier=Identifier
 warning.atleastone.member=You need to select at least one user.
 warning.organisation.deleted=The organisation was deleted.
 warning.user.orphan=Ein oder mehrere Benutzer konnte ihre Benutzer Role nicht verlieren weil sie Benutzer von keine Organisation mehr wurden.
-zoom=<i class='o_icon o_icon-fw o_icon_enlarge'> </i>
+zoom=<i class\='o_icon o_icon-fw o_icon_enlarge'> </i>
diff --git a/src/main/java/org/olat/user/ui/organisation/_i18n/LocalStrings_fr.properties b/src/main/java/org/olat/user/ui/organisation/_i18n/LocalStrings_fr.properties
index 26d985c9f21635e965a12e1bb77b3ece88188084..071a6936d62e1e685de6dd88603ff0f4b371aca1 100644
--- a/src/main/java/org/olat/user/ui/organisation/_i18n/LocalStrings_fr.properties
+++ b/src/main/java/org/olat/user/ui/organisation/_i18n/LocalStrings_fr.properties
@@ -1,4 +1,4 @@
-#Tue Sep 11 20:29:14 CEST 2018
+#Fri Feb 08 11:39:21 CET 2019
 add.member=Ajouter un utilisateur
 add.member.role=Utilisateur ajout\u00E9 en tant que "{0}"
 add.organisation.under=Cr\u00E9er une sous-organisation
@@ -18,6 +18,7 @@ institution.to.org.explain=Explication
 institution.to.org.label=Migration
 migrate=Migrer
 move.organisation=D\u00E9placer l'organisation
+no.replacement=-
 organisation.admin.enabled=Activer les organisations
 organisation.configuration=Organisations
 organisation.description=Description
@@ -26,6 +27,7 @@ organisation.external.id=Id. externe
 organisation.identifier=Identifiant
 organisation.key=ID
 organisation.metadata=M\u00E9tadonn\u00E9es
+organisation.replacement=Remplacer l'organisation effac\u00E9e pour les curriculums par...
 organisation.resources=Ressources didactiques
 organisation.structure=Structure de l'organisation
 organisation.type=Type d'organisations
@@ -39,6 +41,7 @@ role.coach=$org.olat.admin.user\:role.coach
 role.curriculummanager=$org.olat.admin.user\:role.curriculummanager
 role.groupmanager=$org.olat.admin.user\:role.groupmanager
 role.guest=$org.olat.admin.user\:role.guest
+role.invitee=$org.olat.admin.user\:role.invitee
 role.learnresourcemanager=$org.olat.admin.user\:role.learnresourcemanager
 role.lecturemanager=$org.olat.admin.user\:role.lecturemanager
 role.linemanager=$org.olat.admin.user\:role.linemanager
@@ -78,4 +81,5 @@ type.displayname=Nom
 type.identifier=Identifiant
 warning.atleastone.member=Vous devez choisir au moins un utilisateur.
 warning.organisation.deleted=L'organisation a d\u00FB \u00EAtre effac\u00E9e entre-temps.
-zoom=<i class='o_icon o_icon-fw o_icon_enlarge'> </i>
+warning.user.orphan=Un ou plusieurs utilisateurs ne peuvent perdre leur r\u00F4le "utilisateur" car ils ne seraient plus "utilisateur" d'aucune organisation.
+zoom=<i class\='o_icon o_icon-fw o_icon_enlarge'> </i>
diff --git a/src/main/java/org/olat/user/ui/organisation/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/user/ui/organisation/_i18n/LocalStrings_pt_BR.properties
index b8afa8f1a2988254fb76ba28f2a0edae062b11d7..66e123db5461c54826dcb681892a1425c6ae8c18 100644
--- a/src/main/java/org/olat/user/ui/organisation/_i18n/LocalStrings_pt_BR.properties
+++ b/src/main/java/org/olat/user/ui/organisation/_i18n/LocalStrings_pt_BR.properties
@@ -1,4 +1,4 @@
-#Wed Oct 24 15:14:55 CEST 2018
+#Tue Feb 05 13:21:14 CET 2019
 add.member=Adicionar usu\u00E1rio
 add.member.role=Adicionar usu\u00E1rio como "{0}"
 add.organisation.under=Adicionar nova organiza\u00E7\u00E3o sob este
@@ -18,6 +18,7 @@ institution.to.org.explain=Explica\u00E7\u00E3o
 institution.to.org.label=Migra\u00E7\u00E3o
 migrate=Migrar
 move.organisation=Mover organiza\u00E7\u00E3o
+no.replacement=-
 organisation.admin.enabled=Capacitar organiza\u00E7\u00F5es
 organisation.configuration=Organiza\u00E7\u00F5es
 organisation.description=Descri\u00E7\u00E3o
@@ -26,6 +27,7 @@ organisation.external.id=ID Externo
 organisation.identifier=Identificador
 organisation.key=ID
 organisation.metadata=Metadados
+organisation.replacement=Substitua a organiza\u00E7\u00E3o exclu\u00EDda pelos curr\u00EDculos ...
 organisation.resources=Recursos did\u00E1ticos
 organisation.structure=Estruturas Organizacionais
 organisation.type=Tipo de organiza\u00E7\u00E3o
@@ -39,6 +41,7 @@ role.coach=$org.olat.admin.user\:role.coach
 role.curriculummanager=$org.olat.admin.user\:role.curriculummanager
 role.groupmanager=$org.olat.admin.user\:role.groupmanager
 role.guest=$org.olat.admin.user\:role.guest
+role.invitee=$org.olat.admin.user\:role.invitee
 role.learnresourcemanager=$org.olat.admin.user\:role.learnresourcemanager
 role.lecturemanager=$org.olat.admin.user\:role.lecturemanager
 role.linemanager=$org.olat.admin.user\:role.linemanager
@@ -78,4 +81,5 @@ type.displayname=Nome
 type.identifier=Identificador
 warning.atleastone.member=Voc\u00EA precisa selecionar pelo menos um usu\u00E1rio.
 warning.organisation.deleted=A organiza\u00E7\u00E3o foi exclu\u00EDda.
+warning.user.orphan=Um ou mais usu\u00E1rios n\u00E3o puderam perder a fun\u00E7\u00E3o de usu\u00E1rios porque n\u00E3o eram mais usu\u00E1rios de nenhuma organiza\u00E7\u00E3o.
 zoom=<i class\='o_icon o_icon-fw o_icon_enlarge'> </i>