diff --git a/pom.xml b/pom.xml
index d2880dc4c99a0b671c11388183e2aeb4d94137b5..7ee25a80fa6a5599d056447ab9ff70eaeb17e71a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1291,8 +1291,8 @@
 						<configuration>
 							<target>
 								<mkdir dir="${project.build.directory}/downloads" />
-								<get src="https://nexus.openolat.org/nexus/content/repositories/openolat/org/apache/tomcat/apache-tomcat-arq/8.0.24/apache-tomcat-arq-8.0.24.zip" dest="${project.build.directory}/downloads" verbose="true" skipexisting="true" />
-								<unzip src="${project.build.directory}/downloads/apache-tomcat-arq-8.0.24.zip" dest="${project.build.directory}/arq-apache-tomcat-8.0.24" />
+								<get src="https://nexus.openolat.org/nexus/content/repositories/openolat/org/apache/tomcat/apache-tomcat-arq/8.5.45/apache-tomcat-arq-8.5.45.zip" dest="${project.build.directory}/downloads" verbose="true" skipexisting="true" />
+								<unzip src="${project.build.directory}/downloads/apache-tomcat-arq-8.5.45.zip" dest="${project.build.directory}/arq-apache-tomcat-8.5.45" />
 							</target>
 						</configuration>
 					</execution> 
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 eaddb18207b5161a0481d3d9b2f62920a617be2c..f013f1cfa9fd0174a5ac20a72eeac0bc156e0d2f 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 @@
-#Thu Sep 12 21:21:31 CEST 2019
+#Thu Sep 26 19:53:42 CEST 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/modules/adobeconnect/manager/AbstractAdobeConnectProvider.java b/src/main/java/org/olat/modules/adobeconnect/manager/AbstractAdobeConnectProvider.java
index da82eec5a190cd2210a9d3f76440b1be5c426fea..0872e22edba6068de4faeef0ab33f64dad4f0424 100644
--- a/src/main/java/org/olat/modules/adobeconnect/manager/AbstractAdobeConnectProvider.java
+++ b/src/main/java/org/olat/modules/adobeconnect/manager/AbstractAdobeConnectProvider.java
@@ -117,9 +117,10 @@ public abstract class AbstractAdobeConnectProvider implements AdobeConnectSPI {
 			builder.queryParam("source-sco-id", templateId);
 		}
 		if(startDate != null) {
-			builder
-				.queryParam("date-begin", formatDate(startDate))
-				.queryParam("date-end", formatDate(endDate));
+			builder.queryParam("date-begin", formatDate(startDate));
+		}
+		if(endDate != null) {
+			builder.queryParam("date-end", formatDate(endDate));
 		}
 		
 		List<AdobeConnectSco> createdScos = sendScoRequest(builder, error);
@@ -195,9 +196,10 @@ public abstract class AbstractAdobeConnectProvider implements AdobeConnectSPI {
 			builder.queryParam("source-sco-id", templateId);
 		}
 		if(startDate != null) {
-			builder
-				.queryParam("date-begin", formatDate(startDate))
-				.queryParam("date-end", formatDate(endDate));
+			builder.queryParam("date-begin", formatDate(startDate));
+		}
+		if(endDate != null) {
+			builder.queryParam("date-end", formatDate(endDate));
 		}
 		
 		boolean ok = false;
diff --git a/src/main/java/org/olat/modules/qpool/ui/admin/QEducationalContextEditController.java b/src/main/java/org/olat/modules/qpool/ui/admin/QEducationalContextEditController.java
index 4841b863fa6a73471913ceeba623cf4ec1702814..51263118515b840e61557c981bc4c9126999ba05 100644
--- a/src/main/java/org/olat/modules/qpool/ui/admin/QEducationalContextEditController.java
+++ b/src/main/java/org/olat/modules/qpool/ui/admin/QEducationalContextEditController.java
@@ -63,8 +63,14 @@ public class QEducationalContextEditController extends FormBasicController {
 
 	@Override
 	protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
+		formLayout.setElementCssClass("o_sel_edit_level_form");
+		
 		String name = itemLevel == null ? "" : itemLevel.getLevel();
 		nameEl = uifactory.addTextElement("level.level", "level.level", 128, name, formLayout);
+		nameEl.setElementCssClass("o_sel_level_name");
+		if(!StringHelper.containsNonWhitespace(name)) {
+			nameEl.setFocus(true);
+		}
 
 		FormLayoutContainer buttonsCont = FormLayoutContainer.createButtonLayout("buttons", getTranslator());
 		buttonsCont.setRootForm(mainForm);
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 92014e037b5bcbaf2a28ab992e92c28a4768bf75..dcb787aa3f9a4e1fad48ffff481ce36e03cc620d 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
@@ -22,7 +22,7 @@ package org.olat.modules.qpool.ui.admin;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.olat.core.CoreSpringFactory;
+import org.apache.logging.log4j.Level;
 import org.olat.core.gui.UserRequest;
 import org.olat.core.gui.components.form.flexible.FormItem;
 import org.olat.core.gui.components.form.flexible.FormItemContainer;
@@ -53,6 +53,7 @@ import org.olat.core.util.i18n.ui.SingleKeyTranslatorController;
 import org.olat.modules.qpool.QPoolService;
 import org.olat.modules.qpool.model.QEducationalContext;
 import org.olat.modules.qpool.ui.QuestionsController;
+import org.springframework.beans.factory.annotation.Autowired;
 
 /**
  * 
@@ -74,12 +75,11 @@ public class QEducationalContextsAdminController extends FormBasicController {
 	private DialogBoxController confirmDeleteCtrl;
 	private SingleKeyTranslatorController singleKeyTrnsCtrl;
 	
-	private final QPoolService qpoolService;
+	@Autowired
+	private QPoolService qpoolService;
 	
 	public QEducationalContextsAdminController(UserRequest ureq, WindowControl wControl) {
 		super(ureq, wControl, null, "levels_admin", Util.createPackageTranslator(QuestionsController.class, ureq.getLocale()));
-
-		qpoolService = CoreSpringFactory.getImpl(QPoolService.class);
 		initForm(ureq);
 		reloadModel();
 	}
@@ -106,6 +106,7 @@ public class QEducationalContextsAdminController extends FormBasicController {
 		tableEl.setCustomizeColumns(false);
 		
 		createType = uifactory.addFormLink("create.level", formLayout, Link.BUTTON);
+		createType.setElementCssClass("o_sel_add_level");
 	}
 	
 	private void reloadModel() {
@@ -291,7 +292,7 @@ public class QEducationalContextsAdminController extends FormBasicController {
 				case level: return level.getLevel();
 				case levelI18n: {
 					String i18nKey = "item.level." + level.getLevel().toLowerCase();
-					String translation = getTranslator().translate(i18nKey);
+					String translation = getTranslator().translate(i18nKey, null, Level.OFF);
 					if(i18nKey.equals(translation) || translation.length() > 256) {
 						return level.getLevel();
 					}
diff --git a/src/main/java/org/olat/modules/qpool/ui/metadata/GeneralMetadataEditController.java b/src/main/java/org/olat/modules/qpool/ui/metadata/GeneralMetadataEditController.java
index 6c39c37246c451ab7314a6c4d037e4b0938e466b..399917a9bb8a07dc78c5657a4410ffd33191a333 100644
--- a/src/main/java/org/olat/modules/qpool/ui/metadata/GeneralMetadataEditController.java
+++ b/src/main/java/org/olat/modules/qpool/ui/metadata/GeneralMetadataEditController.java
@@ -95,15 +95,18 @@ public class GeneralMetadataEditController extends FormBasicController {
 	protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
 		String topic = item.getTopic();
 		topicEl = uifactory.addTextElement("general.topic", "general.topic", 1000, topic, formLayout);
+		topicEl.setElementCssClass("o_sel_qpool_metadata_topic");
 		
 		taxonomyLevelEl = uifactory.addDropdownSingleselect("general.taxonomy.level", formLayout, new String[0],
 				new String[0]);
+		taxonomyLevelEl.setElementCssClass("o_sel_qpool_metadata_taxonomy");
 		buildTaxonomyLevelEl();
 		taxonomyLevelEl.setVisible(qPoolSecurityCallback.canUseTaxonomy());
 		
 		KeyValues contexts = MetaUIFactory.getContextKeyValues(getTranslator(), qpoolService);
 		contextEl = uifactory.addDropdownSingleselect("educational.context", "educational.context", formLayout,
 				contexts.getKeys(), contexts.getValues(), null);
+		contextEl.setElementCssClass("o_sel_qpool_metadata_context");
 		contextEl.setAllowNoSelection(true);
 		contextEl.setEnabled(contexts.getKeys().length > 0);
 		if (item.getEducationalContext() != null) {
@@ -113,26 +116,32 @@ public class GeneralMetadataEditController extends FormBasicController {
 		
 		String keywords = item.getKeywords();
 		keywordsEl = uifactory.addTextElement("general.keywords", "general.keywords", 1000, keywords, formLayout);
+		keywordsEl.setElementCssClass("o_sel_qpool_metadata_keywords");
 		
 		String addInfos = item.getAdditionalInformations();
 		addInfosEl = uifactory.addTextElement("general.additional.informations", "general.additional.informations", 256,
 				addInfos, formLayout);
+		addInfosEl.setElementCssClass("o_sel_qpool_metadata_add_infos");
 		
 		String coverage = item.getCoverage();
 		coverageEl = uifactory.addTextElement("general.coverage", "general.coverage", 1000, coverage, formLayout);
+		coverageEl.setElementCssClass("o_sel_qpool_metadata_coverage");
 
 		String language = item.getLanguage();
 		languageEl = uifactory.addTextElement("general.language", "general.language", 10, language, formLayout);
+		languageEl.setElementCssClass("o_sel_qpool_metadata_language");
 		
 		KeyValues types = MetaUIFactory.getAssessmentTypes(getTranslator());
 		assessmentTypeEl = uifactory.addDropdownSingleselect("question.assessmentType", "question.assessmentType",
 				formLayout, types.getKeys(), types.getValues(), null);
+		assessmentTypeEl.setElementCssClass("o_sel_qpool_metadata_assessment_type");
 		assessmentTypeEl.setAllowNoSelection(true);
 		if(StringHelper.containsNonWhitespace(item.getAssessmentType())) {
 			assessmentTypeEl.select(item.getAssessmentType(), true);
 		}
 		
 		buttonsCont = FormLayoutContainer.createButtonLayout("buttons", getTranslator());
+		buttonsCont.setElementCssClass("o_sel_qpool_metadata_buttons");
 		buttonsCont.setRootForm(mainForm);
 		formLayout.add(buttonsCont);
 		uifactory.addFormSubmitButton("ok", "ok", buttonsCont);
diff --git a/src/main/java/org/olat/modules/qpool/ui/metadata/MetaUIFactory.java b/src/main/java/org/olat/modules/qpool/ui/metadata/MetaUIFactory.java
index 05ad034cadad9de6ae87c406de6e61029ecfaafb..5ff6422863359a99a910bfde4f5ef48420db6a69 100644
--- a/src/main/java/org/olat/modules/qpool/ui/metadata/MetaUIFactory.java
+++ b/src/main/java/org/olat/modules/qpool/ui/metadata/MetaUIFactory.java
@@ -23,6 +23,7 @@ import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.List;
 
+import org.apache.logging.log4j.Level;
 import org.olat.core.gui.components.form.flexible.elements.SingleSelection;
 import org.olat.core.gui.components.form.flexible.elements.TextElement;
 import org.olat.core.gui.translator.Translator;
@@ -77,7 +78,7 @@ public class MetaUIFactory {
 		for(QEducationalContext level:levels) {
 			contextKeys[count] = level.getKey().toString();
 			String i18nKey = "item.level." + level.getLevel().toLowerCase();
-			String translation = translator.translate(i18nKey);
+			String translation = translator.translate(i18nKey, null, Level.OFF);
 			if(i18nKey.equals(translation) || translation.length() > 256) {
 				translation = level.getLevel();
 			}
diff --git a/src/main/java/org/olat/modules/qpool/ui/metadata/_content/item_metadatas.html b/src/main/java/org/olat/modules/qpool/ui/metadata/_content/item_metadatas.html
index 511bd2a9d88774f8c7caa7741eec708208704f63..684084465a8352fa9995578cb3715cc7cf267200 100644
--- a/src/main/java/org/olat/modules/qpool/ui/metadata/_content/item_metadatas.html
+++ b/src/main/java/org/olat/modules/qpool/ui/metadata/_content/item_metadatas.html
@@ -1,5 +1,5 @@
  <div class="panel-group" id="accordion">
-	<div class="panel panel-default">
+	<div class="panel panel-default o_sel_qpool_metadata_general">
 		<div class="panel-heading">
 			<h4 class="panel-title">
 				<i id="collapseGeneralToggler" class="o_icon o_icon-fw #if($inGeneral) o_icon_close_togglebox #else o_icon_open_togglebox #end"> </i>
@@ -14,15 +14,13 @@
 			</div>
 		</div>
 		<script>
-			/* <![CDATA[ */
-				jQuery('#general').on('hide.bs.collapse', function () {
-					jQuery('#collapseGeneralToggler').removeClass('o_icon_close_togglebox').addClass('o_icon_open_togglebox');
-				})
-				jQuery('#general').on('show.bs.collapse', function () {
-					jQuery('#collapseGeneralToggler').removeClass('o_icon_open_togglebox').addClass('o_icon_close_togglebox');
-					$r.backgroundCommand("show","panel","general")
-				})
-			/* ]]> */
+		jQuery('#general').on('hide.bs.collapse', function () {
+			jQuery('#collapseGeneralToggler').removeClass('o_icon_close_togglebox').addClass('o_icon_open_togglebox');
+		})
+		jQuery('#general').on('show.bs.collapse', function () {
+			jQuery('#collapseGeneralToggler').removeClass('o_icon_open_togglebox').addClass('o_icon_close_togglebox');
+			$r.backgroundCommand("show","panel","general")
+		})
 		</script>
 	</div>
 	<div class="panel panel-default">
diff --git a/src/main/java/org/olat/modules/vitero/manager/ViteroManager.java b/src/main/java/org/olat/modules/vitero/manager/ViteroManager.java
index 08893cf590e467082dc07a3539876ccd9ac5efea..8d7c7f8fdd0e3e5cddf0be9d404d5edcff3547d4 100644
--- a/src/main/java/org/olat/modules/vitero/manager/ViteroManager.java
+++ b/src/main/java/org/olat/modules/vitero/manager/ViteroManager.java
@@ -231,10 +231,7 @@ public class ViteroManager implements UserDataDeletable {
 		cal.add(Calendar.MINUTE, booking.getEndBuffer());
 		Date end = cal.getTime();
 		
-		if(start.before(now) && end.after(now)) {
-			return true;
-		}
-		return false;
+		return(start.before(now) && end.after(now));
 	}
 	
 	public String getURLToBooking(Identity identity, ViteroBooking booking)
@@ -1039,6 +1036,8 @@ public class ViteroManager implements UserDataDeletable {
 		booking.setEnd(cal.getTime());
 		booking.setEndBuffer(15);
 		
+		booking.setInspire(viteroModule.isInspire());
+		
 		List<Integer> roomSizes = getLicencedRoomSizes();
 		if(!roomSizes.isEmpty()) {
 			booking.setRoomSize(roomSizes.get(0));
@@ -1304,7 +1303,7 @@ public class ViteroManager implements UserDataDeletable {
 	throws VmsNotAvailableException {
 		ViteroBooking booking = null;
 		List<Property> properties = propertyManager.listProperties(null, group, ores, VMS_CATEGORY, Integer.toString(bookingId));
-		if(properties.size() > 0) {
+		if(!properties.isEmpty()) {
 			Property property = properties.get(0);
 			String propIdentifier = property.getStringValue();
 			if((propIdentifier == null || subIdentifier == null)
@@ -1388,7 +1387,7 @@ public class ViteroManager implements UserDataDeletable {
 		//check if vms user with an openolat login exists on vms server
 		//without the need authentication object in openolat.
 		List<Usertype> users = getCustomersUsers();
-		if(users != null && users.size() > 0) {
+		if(users != null && !users.isEmpty()) {
 			for(Usertype user:users) {
 				String vmsUsername = user.getUsername();
 				if(vmsUsername.startsWith(prefix)) {
@@ -1549,7 +1548,7 @@ public class ViteroManager implements UserDataDeletable {
 	private final List<ViteroBooking> convert(List<Booking_Type> bookings) {
 		List<ViteroBooking> viteroBookings = new ArrayList<>();
 		
-		if(bookings != null && bookings.size() > 0) {
+		if(bookings != null && !bookings.isEmpty()) {
 			for(Booking_Type b:bookings) {
 				viteroBookings.add(convert(b));
 			}
@@ -1574,6 +1573,7 @@ public class ViteroManager implements UserDataDeletable {
 		vb.setStartBuffer(booking.getStartbuffer());
 		vb.setEnd(parse(booking.getEnd()));
 		vb.setEndBuffer(booking.getEndbuffer());
+		vb.setInspire(booking.isInspire());
 		return vb;
 	}
 	
diff --git a/src/main/java/org/olat/modules/vitero/model/ViteroBooking.java b/src/main/java/org/olat/modules/vitero/model/ViteroBooking.java
index 8d6b73a537a3ad868604138e36fd24c8a0d99209..9d18d639a32aac5b9494395f133ff8d4db7f7fa0 100644
--- a/src/main/java/org/olat/modules/vitero/model/ViteroBooking.java
+++ b/src/main/java/org/olat/modules/vitero/model/ViteroBooking.java
@@ -45,6 +45,7 @@ public class ViteroBooking {
 	private int endBuffer;
 	private int roomSize;
 	private boolean autoSignIn;
+	private boolean inspire;
 	private String timeZoneId;
 
 	private String resourceName;
@@ -167,4 +168,12 @@ public class ViteroBooking {
 	public void setAutoSignIn(boolean autoSignIn) {
 		this.autoSignIn = autoSignIn;
 	}
+
+	public boolean isInspire() {
+		return inspire;
+	}
+
+	public void setInspire(boolean inspire) {
+		this.inspire = inspire;
+	}
 }
\ No newline at end of file
diff --git a/src/main/java/org/olat/modules/vitero/restapi/ViteroBookingVO.java b/src/main/java/org/olat/modules/vitero/restapi/ViteroBookingVO.java
index cf98ffbd2e0aabda92aff271bc38c003840849a7..f4a0286b5d0ab5726ba882072c73e0590f318d8c 100644
--- a/src/main/java/org/olat/modules/vitero/restapi/ViteroBookingVO.java
+++ b/src/main/java/org/olat/modules/vitero/restapi/ViteroBookingVO.java
@@ -47,6 +47,7 @@ public class ViteroBookingVO {
 	private Date end;
 	private int endBuffer;
 	private int roomSize;
+	private boolean inspire;
 	private boolean autoSignIn;
 	private String timeZoneId;
 	
@@ -66,6 +67,7 @@ public class ViteroBookingVO {
 		endBuffer = booking.getEndBuffer();
 		roomSize = booking.getRoomSize();
 		autoSignIn = booking.isAutoSignIn();
+		inspire = booking.isInspire();
 		timeZoneId = booking.getTimeZoneId();
 	}
 	
@@ -157,6 +159,14 @@ public class ViteroBookingVO {
 		this.autoSignIn = autoSignIn;
 	}
 	
+	public boolean isInspire() {
+		return inspire;
+	}
+
+	public void setInspire(boolean inspire) {
+		this.inspire = inspire;
+	}
+
 	public String getTimeZoneId() {
 		return timeZoneId;
 	}
diff --git a/src/main/java/org/olat/modules/vitero/restapi/ViteroBookingWebService.java b/src/main/java/org/olat/modules/vitero/restapi/ViteroBookingWebService.java
index 1c9f4fd5b300a990965a809749f200de1bf9003f..c2375092a8fae5a0492533fd10a5f5bccb6cc0b3 100644
--- a/src/main/java/org/olat/modules/vitero/restapi/ViteroBookingWebService.java
+++ b/src/main/java/org/olat/modules/vitero/restapi/ViteroBookingWebService.java
@@ -190,6 +190,7 @@ public class ViteroBookingWebService {
 			vBooking.setEndBuffer(booking.getEndBuffer());
 			vBooking.setRoomSize(booking.getRoomSize());
 			vBooking.setAutoSignIn(booking.isAutoSignIn());
+			vBooking.setInspire(booking.isInspire());
 			vBooking.setTimeZoneId(viteroModule.getTimeZoneId());
 			
 			ViteroStatus status;
diff --git a/src/main/java/org/olat/modules/vitero/ui/ViteroAdminBookingRawInfosController.java b/src/main/java/org/olat/modules/vitero/ui/ViteroAdminBookingRawInfosController.java
index e96c6b0c8b972e05ed1f2b28b7925d43aec3e823..ca004684a787c9634aa1331d51569212a1f9b276 100644
--- a/src/main/java/org/olat/modules/vitero/ui/ViteroAdminBookingRawInfosController.java
+++ b/src/main/java/org/olat/modules/vitero/ui/ViteroAdminBookingRawInfosController.java
@@ -26,8 +26,10 @@ import org.olat.core.gui.components.form.flexible.impl.FormBasicController;
 import org.olat.core.gui.control.Controller;
 import org.olat.core.gui.control.WindowControl;
 import org.olat.core.util.Formatter;
+import org.olat.modules.vitero.ViteroModule;
 import org.olat.modules.vitero.model.ViteroBooking;
 import org.olat.modules.vitero.model.ViteroGroup;
+import org.springframework.beans.factory.annotation.Autowired;
 
 /**
  * 
@@ -43,18 +45,18 @@ public class ViteroAdminBookingRawInfosController extends FormBasicController {
 	private final ViteroGroup group;
 	private final ViteroBooking booking;
 	private final Formatter formatter;
-	private static final String[] autoSignInKeys = new String[]{"on"};
-	private final String[] autoSignInValues;
+	private static final String[] onKeys = new String[]{"on"};
+
+	
+	@Autowired
+	private ViteroModule viteroModule;
 	
 	public ViteroAdminBookingRawInfosController(UserRequest ureq, WindowControl wControl, ViteroBooking booking,
 			ViteroGroup group) {
 		super(ureq, wControl);
-		
 		this.group = group;
 		this.booking = booking;
-		this.formatter = Formatter.getInstance(getLocale());
-		autoSignInValues = new String[]{ translate("enabled") };
-		
+		formatter = Formatter.getInstance(getLocale());
 		initForm(ureq);
 	}
 
@@ -75,10 +77,18 @@ public class ViteroAdminBookingRawInfosController extends FormBasicController {
 			name = name.substring(0, sepIndex);
 		}
 		uifactory.addStaticTextElement("group.name", name, formLayout);
+		
+		String[] enabledValues = new String[]{translate("enabled")};
+		MultipleSelectionElement inspireEl = uifactory.addCheckboxesHorizontal("option.inspire", formLayout, onKeys, enabledValues);
+		inspireEl.setVisible(viteroModule.isInspire());
+		if(viteroModule.isInspire() && booking.isInspire()) {
+			inspireEl.select(onKeys[0], true);
+		}
+		inspireEl.setEnabled(false);
 
-		MultipleSelectionElement autoSignIn = uifactory.addCheckboxesHorizontal("booking.autoSignIn", formLayout, autoSignInKeys, autoSignInValues);
+		MultipleSelectionElement autoSignIn = uifactory.addCheckboxesHorizontal("booking.autoSignIn", formLayout, onKeys, enabledValues);
 		if(booking.isAutoSignIn()) {
-			autoSignIn.select(autoSignInKeys[0], true);
+			autoSignIn.select(onKeys[0], true);
 		}
 		autoSignIn.setEnabled(false);
 	}
diff --git a/src/main/java/org/olat/modules/vitero/ui/ViteroBookingEditController.java b/src/main/java/org/olat/modules/vitero/ui/ViteroBookingEditController.java
index 18486e0684bd55dccf84a07414bdd71d374f7f2a..613de8b13423b30f9b644ee96c8987c6a721bf33 100644
--- a/src/main/java/org/olat/modules/vitero/ui/ViteroBookingEditController.java
+++ b/src/main/java/org/olat/modules/vitero/ui/ViteroBookingEditController.java
@@ -23,7 +23,6 @@ import java.util.Collections;
 import java.util.Date;
 import java.util.List;
 
-import org.olat.core.CoreSpringFactory;
 import org.olat.core.gui.UserRequest;
 import org.olat.core.gui.components.form.flexible.FormItemContainer;
 import org.olat.core.gui.components.form.flexible.elements.DateChooser;
@@ -39,10 +38,12 @@ import org.olat.core.helpers.Settings;
 import org.olat.core.id.OLATResourceable;
 import org.olat.core.util.StringHelper;
 import org.olat.group.BusinessGroup;
+import org.olat.modules.vitero.ViteroModule;
 import org.olat.modules.vitero.manager.ViteroManager;
 import org.olat.modules.vitero.manager.VmsNotAvailableException;
 import org.olat.modules.vitero.model.ViteroBooking;
 import org.olat.modules.vitero.model.ViteroStatus;
+import org.springframework.beans.factory.annotation.Autowired;
 
 /**
  * 
@@ -54,14 +55,17 @@ import org.olat.modules.vitero.model.ViteroStatus;
  * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
  */
 public class ViteroBookingEditController extends FormBasicController {
+
+	private static final String[] enabledKeys = new String[]{"on"};
 	
+
 	private TextElement groupName;
 	private DateChooser beginChooser;
 	private DateChooser endChooser;
 	private SingleSelection beginBufferEl;
 	private SingleSelection endBufferEl;
 	private SingleSelection roomSizeEl;
-	
+	private MultipleSelectionElement inspireEl;
 	private MultipleSelectionElement autoSignIn;
 	
 	private static final String[] bufferKeys = new String[]{"0", "15", "30", "45", "60"};
@@ -74,7 +78,11 @@ public class ViteroBookingEditController extends FormBasicController {
 	private final OLATResourceable ores;
 	private final String subIdentifier;
 	private final ViteroBooking booking;
-	private final ViteroManager viteroManager;
+	
+	@Autowired
+	private ViteroModule viteroModule;
+	@Autowired
+	private ViteroManager viteroManager;
 	
 	public ViteroBookingEditController(UserRequest ureq, WindowControl wControl, BusinessGroup group, OLATResourceable ores,
 			String subIdentifier, ViteroBooking booking) {
@@ -84,7 +92,6 @@ public class ViteroBookingEditController extends FormBasicController {
 		this.ores = ores;
 		this.subIdentifier = subIdentifier; 
 		this.booking = booking;
-		viteroManager = (ViteroManager)CoreSpringFactory.getBean("viteroManager");
 		
 		List<Integer> sizes;
 		try {
@@ -156,6 +163,14 @@ public class ViteroBookingEditController extends FormBasicController {
 		}
 		roomSizeEl.setEnabled(editable);
 		
+		String[] enabledValues = new String[]{translate("enabled")};
+		inspireEl = uifactory.addCheckboxesHorizontal("option.inspire", formLayout, enabledKeys, enabledValues);
+		inspireEl.setVisible(viteroModule.isInspire());
+		if(viteroModule.isInspire() && booking.isInspire()) {
+			inspireEl.select(enabledKeys[0], true);
+		}
+		inspireEl.setEnabled(editable);
+		
 		autoSignIn = uifactory.addCheckboxesHorizontal("booking.autoSignIn", formLayout, autoSignInKeys, autoSignInValues);
 		if(booking.isAutoSignIn()) {
 			autoSignIn.select(autoSignInKeys[0], true);
@@ -188,7 +203,7 @@ public class ViteroBookingEditController extends FormBasicController {
 
 	@Override
 	protected boolean validateFormLogic(UserRequest ureq) {
-		boolean allOk = true;
+		boolean allOk = super.validateFormLogic(ureq);
 		
 		String name = groupName.getValue();
 		groupName.clearError();
@@ -207,10 +222,10 @@ public class ViteroBookingEditController extends FormBasicController {
 			beginChooser.clearError();
 			if(begin == null) {
 				beginChooser.setErrorKey("form.legende.mandatory", null);
-				allOk = false;
+				allOk &= false;
 			} else if(new Date().after(begin)) {
 				beginChooser.setErrorKey("error.bookingInPast", null);
-				allOk = false;
+				allOk &= false;
 			}
 		}
 		
@@ -219,13 +234,10 @@ public class ViteroBookingEditController extends FormBasicController {
 			endChooser.clearError();
 			if(end == null) {
 				endChooser.setErrorKey("form.legende.mandatory", null);
-				allOk = false;
-			} else if(new Date().after(begin)) {
-				beginChooser.setErrorKey("error.bookingInPast", null);
-				allOk = false;
-			} else if(end.before(begin)) {
+				allOk &= false;
+			} else if(new Date().after(begin) || end.before(begin)) {
 				beginChooser.setErrorKey("error.bookingInPast", null);
-				allOk = false;
+				allOk &= false;
 			}
 		}
 		
@@ -235,7 +247,7 @@ public class ViteroBookingEditController extends FormBasicController {
 			allOk = false;
 		}
 		
-		return allOk && super.validateFormLogic(ureq);
+		return allOk;
 	}
 
 	@Override
@@ -270,6 +282,9 @@ public class ViteroBookingEditController extends FormBasicController {
 		boolean auto = autoSignIn.isMultiselect() && autoSignIn.isSelected(0);
 		booking.setAutoSignIn(auto);
 		
+		boolean inspire = inspireEl.isVisible() && inspireEl.isAtLeastSelected(1);
+		booking.setInspire(inspire);
+		
 		try {
 			if(booking.getBookingId() >= 0) {
 				ViteroBooking updatedBooking = viteroManager.updateBooking(group, ores, subIdentifier, booking);
diff --git a/src/test/java/org/olat/selenium/CourseElementTest.java b/src/test/java/org/olat/selenium/CourseElementTest.java
index ac0ca70b6022247b23a287fe7d3cc36e8e514eaa..bea8a6a3159e3de47173fd2f8fcf5ceb2bf5e21a 100644
--- a/src/test/java/org/olat/selenium/CourseElementTest.java
+++ b/src/test/java/org/olat/selenium/CourseElementTest.java
@@ -149,9 +149,10 @@ public class CourseElementTest extends Deployments {
 		//check that the default title of CP (Lorem Ipsum) is visible in the iframe
 		By iframe = By.cssSelector("div.o_iframedisplay>iframe");
 		OOGraphene.waitElement(iframe, browser);
+		OOGraphene.waitingALittleBit();
 		WebElement cpIframe = browser.findElement(iframe);
 		browser.switchTo().frame(cpIframe);
-		browser.findElement(By.xpath("//h2[text()='Lorem Ipsum']"));
+		OOGraphene.waitElement(By.xpath("//h2[text()='Lorem Ipsum']"), browser);
 	}
 	
 	/**
diff --git a/src/test/java/org/olat/selenium/QuestionPoolTest.java b/src/test/java/org/olat/selenium/QuestionPoolTest.java
index 7308baef78400d9252ffa3d8fd286cbb8d00c08f..79db4b7321e76598fb9c09ea51054b6f3824aaad 100644
--- a/src/test/java/org/olat/selenium/QuestionPoolTest.java
+++ b/src/test/java/org/olat/selenium/QuestionPoolTest.java
@@ -172,5 +172,78 @@ public class QuestionPoolTest extends Deployments {
 			.selectMyQuestions()
 			.assertFinalQuestionInList(questionTitle);
 	}
+	
+	/**
+	 * An author create a QTI 2.1 question, a multiple choice,
+	 * and fill the general metadata. Go back in list and check
+	 * the metadata are there.
+	 * 
+	 * @param loginPage
+	 * @throws IOException
+	 * @throws URISyntaxException
+	 */
+	@Test
+	@RunAsClient
+	public void questionPoolGeneralMetadata()
+	throws IOException, URISyntaxException {
+		// prepare taxonomy
+		LoginPage loginPage = LoginPage.load(browser, deploymentUrl);
+		loginPage
+			.loginAs("administrator", "openolat")
+			.resume();
+		AdministrationPage administration = NavigationPage.load(browser)
+			.openAdministration();
+		// add a level
+		administration
+			.openQuestionPool()
+			.selectLevels()
+			.addLevel("Primary School")
+			.assertLevelInList("Primary School");
+		// configure the taxonomy
+		administration
+			.openTaxonomy()
+			.selectTaxonomy("QPOOL")
+			.assertOnMetadata()
+			.selectTaxonomyTree()
+			.atLeastOneLevel("one-fore-question-pool", "One for question pool");
+		
+		new UserToolsPage(browser).logout();
+		
+		// The author create a new question with metadata
+		UserVO author = new UserRestClient(deploymentUrl).createAuthor("Lili");
+
+		loginPage = LoginPage.load(browser, deploymentUrl);
+		loginPage
+			.loginAs(author.getLogin(), author.getPassword())
+			.resume();
+		
+		String questionTitle = "MetaMC-" + UUID.randomUUID();
+		NavigationPage navBar = NavigationPage.load(browser);
+		QuestionPoolPage questionPool = navBar.assertOnNavigationPage()
+			.openQuestionPool();
+		questionPool
+			.selectMyQuestions()
+			.newQuestion(questionTitle, QTI21QuestionType.mc)
+			.metadata().openGeneral()
+			.setGeneralMetadata("New topic", "One for question pool", "Primary School",
+					"Interessant", "Add. infos", "Wide coverage", "formative")
+			.saveGeneralMetadata();
+		
+		questionPool	
+			.clickToolbarBack()
+			.assertQuestionInList(questionTitle, QTI21QuestionType.mc.name())
+			.openQuickView(questionTitle)
+			.metadata()
+			.openGeneral()
+			.assertTopic("New topic")
+			.assertTaxonomy("One for question pool")
+			.assertLevel("Primary School")
+			.assertKeywords("Interessant")
+			.assertAdditionalInfos("Add. infos")
+			.assertCoverage("Wide coverage")
+			.assertAssessmentType("formative");
+		
+		// open quick view
+	}
 
 }
diff --git a/src/test/java/org/olat/selenium/page/course/LTIPage.java b/src/test/java/org/olat/selenium/page/course/LTIPage.java
index cd9b3e7acb468e2889c598e9252a45c2c4dcc083..5d0fe3f686bb2f8f8f0a8811323d4c2ff629bb1c 100644
--- a/src/test/java/org/olat/selenium/page/course/LTIPage.java
+++ b/src/test/java/org/olat/selenium/page/course/LTIPage.java
@@ -53,13 +53,14 @@ public class LTIPage {
 			By iframeBy = By.cssSelector(".o_iframedisplay iframe");
 			OOGraphene.waitElement(iframeBy, browser);
 			
-			WebElement iframe = browser.findElement(iframeBy);
-			WebDriver iframeBrowser = browser.switchTo().frame(iframe);
-
+			List<WebElement> iframes = browser.findElements(iframeBy);
+			browser = browser.switchTo().frame(iframes.get(0));
+			
 			By launchedBy = By.xpath("//p[contains(text(),'Launch Validated.')]");
-			OOGraphene.waitElement(launchedBy, iframeBrowser);
+			OOGraphene.waitElement(launchedBy, browser);
 		} catch (Exception e) {
-			OOGraphene.takeScreenshot("LTIPage::start", browser);
+			OOGraphene.takeScreenshot("LTIPage_start", browser);
+
 			throw e;
 		}
 		return this;
diff --git a/src/test/java/org/olat/selenium/page/qpool/QuestionMetadataPage.java b/src/test/java/org/olat/selenium/page/qpool/QuestionMetadataPage.java
new file mode 100644
index 0000000000000000000000000000000000000000..a4afd85f38e991fefce27ad5a040ac13611e49af
--- /dev/null
+++ b/src/test/java/org/olat/selenium/page/qpool/QuestionMetadataPage.java
@@ -0,0 +1,149 @@
+/**
+ * <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.selenium.page.qpool;
+
+import org.olat.selenium.page.graphene.OOGraphene;
+import org.openqa.selenium.By;
+import org.openqa.selenium.WebDriver;
+import org.openqa.selenium.support.ui.Select;
+
+/**
+ * 
+ * Initial date: 23 sept. 2019<br>
+ * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
+ *
+ */
+public class QuestionMetadataPage {
+	
+	private final WebDriver browser;
+	
+	private QuestionMetadataPage(WebDriver browser) {
+		this.browser = browser;
+	}
+	
+	public static QuestionMetadataPage getPage(WebDriver browser) {
+		return new QuestionMetadataPage(browser);
+	}
+	
+	public QuestionMetadataPage openGeneral() {
+		By hrefBy = By.cssSelector("div.o_sel_qpool_metadata_general>div>h4>a");
+		OOGraphene.waitElement(hrefBy, browser);
+		browser.findElement(hrefBy).click();
+		OOGraphene.waitingALittleLonger();// wait the accordion opens up
+		
+		By generalMetadata = By.cssSelector("div.o_sel_qpool_metadata_general div.panel-body fieldset.o_form");
+		OOGraphene.waitElement(generalMetadata, browser);
+		
+		return this;
+	}
+	
+	public QuestionMetadataPage setGeneralMetadata(String topic, String taxonomy, String level,
+			String keywords, String additionalInfos, String coverage, String assessmentType) {
+		if(topic != null) {
+			By topicBy = By.cssSelector("div.o_sel_qpool_metadata_topic input[type='text']");
+			browser.findElement(topicBy).sendKeys(topic);
+		}
+		
+		if(taxonomy != null) {
+			By taxonomyBy = By.cssSelector("div.o_sel_qpool_metadata_taxonomy select");
+			new Select(browser.findElement(taxonomyBy)).selectByVisibleText(taxonomy);
+		}
+		
+		if(level != null) {
+			By levelBy = By.cssSelector("div.o_sel_qpool_metadata_context select");
+			new Select(browser.findElement(levelBy)).selectByVisibleText(level);
+		}
+		
+		if(keywords != null) {
+			By keywordsBy = By.cssSelector("div.o_sel_qpool_metadata_keywords input[type='text']");
+			browser.findElement(keywordsBy).sendKeys(keywords);
+		}
+		
+		if(additionalInfos != null) {
+			By additionalInfosBy = By.cssSelector("div.o_sel_qpool_metadata_add_infos input[type='text']");
+			browser.findElement(additionalInfosBy).sendKeys(additionalInfos);
+		}
+		
+		if(coverage != null) {
+			By coverageBy = By.cssSelector("div.o_sel_qpool_metadata_coverage input[type='text']");
+			browser.findElement(coverageBy).sendKeys(coverage);
+		}
+		
+		if(assessmentType != null) {
+			By assessmentTypeBy = By.cssSelector("div.o_sel_qpool_metadata_assessment_type select");
+			new Select(browser.findElement(assessmentTypeBy)).selectByValue(assessmentType);
+		}
+		return this;
+	}
+	
+	public QuestionMetadataPage assertTopic(String topic) {
+		By topicBy = By.xpath("//div[contains(@class,'o_sel_qpool_metadata_topic')]//input[@value='" + topic + "']");
+		OOGraphene.waitElement(topicBy, browser);
+		return this;
+	}
+	
+	public QuestionMetadataPage assertTaxonomy(String taxonomy) {
+		By taxonomyBy = By.xpath("//div[contains(@class,'o_sel_qpool_metadata_taxonomy')]//select/option[@selected='selected'][text()[contains(.,'" + taxonomy + "')]]");
+		OOGraphene.waitElement(taxonomyBy, browser);
+		return this;
+	}
+	
+	public QuestionMetadataPage assertLevel(String level) {
+		By levelBy = By.xpath("//div[contains(@class,'o_sel_qpool_metadata_context')]//select/option[@selected='selected'][text()[contains(.,'" + level + "')]]");
+		OOGraphene.waitElement(levelBy, browser);
+		return this;
+	}
+	
+	public QuestionMetadataPage assertKeywords(String keywords) {
+		By keywordsBy = By.xpath("//div[contains(@class,'o_sel_qpool_metadata_keywords')]//input[@value='" + keywords + "']");
+		OOGraphene.waitElement(keywordsBy, browser);
+		return this;
+	}
+	
+	public QuestionMetadataPage assertCoverage(String coverage) {
+		By coverageBy = By.xpath("//div[contains(@class,'o_sel_qpool_metadata_coverage')]//input[@value='" + coverage + "']");
+		OOGraphene.waitElement(coverageBy, browser);
+		return this;
+	}
+	
+	public QuestionMetadataPage assertAdditionalInfos(String infos) {
+		By infosBy = By.xpath("//div[contains(@class,'o_sel_qpool_metadata_add_infos')]//input[@value='" + infos + "']");
+		OOGraphene.waitElement(infosBy, browser);
+		return this;
+	}
+	
+	public QuestionMetadataPage assertAssessmentType(String assessmentType) {
+		By assessmentTypeBy = By.xpath("//div[contains(@class,'o_sel_qpool_metadata_assessment_type')]//select/option[@selected='selected'][@value='" + assessmentType + "']");
+		OOGraphene.waitElement(assessmentTypeBy, browser);
+		return this;
+	}
+	
+	public QuestionMetadataPage saveGeneralMetadata() {
+		By buttonsBy = By.cssSelector("div.o_sel_qpool_metadata_general div.panel-body div.o_sel_qpool_metadata_buttons");
+		OOGraphene.moveTo(buttonsBy, browser);
+		
+		By saveBy = By.cssSelector("div.o_sel_qpool_metadata_general div.panel-body div.o_sel_qpool_metadata_buttons button.btn.btn-primary");
+		browser.findElement(saveBy).click();
+		OOGraphene.waitBusy(browser);
+		OOGraphene.moveTop(browser);
+		return this;
+	}
+
+}
diff --git a/src/test/java/org/olat/selenium/page/qpool/QuestionPoolAdminPage.java b/src/test/java/org/olat/selenium/page/qpool/QuestionPoolAdminPage.java
index 5f2685ff06d5be90351ee31a6c301342f07aee29..53df103693521dffd656764a057a9b842eda4732 100644
--- a/src/test/java/org/olat/selenium/page/qpool/QuestionPoolAdminPage.java
+++ b/src/test/java/org/olat/selenium/page/qpool/QuestionPoolAdminPage.java
@@ -93,4 +93,35 @@ public class QuestionPoolAdminPage {
 		return this;
 	}
 	
+	public QuestionPoolAdminPage selectLevels() {
+		By levelsBy = By.xpath("//div[contains(@class,'o_segments')]/a[contains(@onclick,'segment.educational.context')]");
+		OOGraphene.waitElement(levelsBy, browser);
+		browser.findElement(levelsBy).click();
+		return this;
+	}
+	
+	public QuestionPoolAdminPage addLevel(String name) {
+		By addLevelBy = By.cssSelector("a.btn.o_sel_add_level");
+		OOGraphene.waitElement(addLevelBy, browser);
+		browser.findElement(addLevelBy).click();
+		
+		OOGraphene.waitModalDialog(browser);
+		
+		By nameBy = By.cssSelector("fieldset.o_sel_edit_level_form div.o_sel_level_name input[type='text']");
+		OOGraphene.waitElement(nameBy, browser);
+		browser.findElement(nameBy).sendKeys(name);
+		
+		By saveBy = By.cssSelector("fieldset.o_sel_edit_level_form button.btn.btn-primary");
+		browser.findElement(saveBy).click();
+		OOGraphene.waitBusy(browser);
+		OOGraphene.waitModalDialogDisappears(browser);
+		return this;
+	}
+	
+	public QuestionPoolAdminPage assertLevelInList(String level) {
+		By levelBy = By.xpath("//div[contains(@class,'o_table_flexi')]/table//td[text()[contains(.,'" + level + "')]]");
+		OOGraphene.waitElement(levelBy, browser);
+		return this;
+	}
+	
 }
diff --git a/src/test/java/org/olat/selenium/page/qpool/QuestionPoolPage.java b/src/test/java/org/olat/selenium/page/qpool/QuestionPoolPage.java
index a764502254955e190e170bcc8719d6b3257e8318..7c0dee97eb94c36ace5d04c4272088e24b889df4 100644
--- a/src/test/java/org/olat/selenium/page/qpool/QuestionPoolPage.java
+++ b/src/test/java/org/olat/selenium/page/qpool/QuestionPoolPage.java
@@ -130,6 +130,13 @@ public class QuestionPoolPage {
 		return this;
 	}
 	
+	/**
+	 * @return Access to the metadata panel
+	 */
+	public QuestionMetadataPage metadata() {
+		return QuestionMetadataPage.getPage(browser);
+	}
+	
 	/**
 	 * Start the process, confirm with the first taxonomy level found.
 	 * 
@@ -156,6 +163,16 @@ public class QuestionPoolPage {
 		return this;
 	}
 	
+	public QuestionPoolPage openQuickView(String title) {
+		By quickViewBy = By.xpath("//div[contains(@class,'o_table_flexi')]//tr[td[text()[contains(.,'" + title + "')]]]/td/a[contains(@href,'quick-view')]");
+		OOGraphene.waitElement(quickViewBy, browser);
+		browser.findElement(quickViewBy).click();
+		
+		By viewBy = By.cssSelector("tr.o_table_row_details>td #o_qti_container");
+		OOGraphene.waitElement(viewBy, browser);
+		return this;
+	}
+	
 	/**
 	 * Check if the mark "Final" is visible in the toolbar.
 	 * 
diff --git a/src/test/java/org/olat/selenium/page/taxonomy/TaxonomyTreePage.java b/src/test/java/org/olat/selenium/page/taxonomy/TaxonomyTreePage.java
index 38ad98939fb8d4fe9ff25d5e781c03344fab55ac..0de339b030cec70467562046755d19d2dba11849 100644
--- a/src/test/java/org/olat/selenium/page/taxonomy/TaxonomyTreePage.java
+++ b/src/test/java/org/olat/selenium/page/taxonomy/TaxonomyTreePage.java
@@ -55,7 +55,7 @@ public class TaxonomyTreePage {
 		By tableTreeBy = By.cssSelector("div.o_sel_taxonomy_levels_tree div.o_table_flexi_breadcrumb");
 		OOGraphene.waitElement(tableTreeBy, browser);
 		
-		By tableBy = By.xpath("//div[contains(@class,'o_sel_taxonomy_levels_tree')]//table//tr/td[text()[contains(.,'" + identifier + "')]]");
+		By tableBy = By.xpath("//div[contains(@class,'o_taxonomy_level_listing')]//table//tr/td/a[text()[contains(.,'" + identifier + "')]]");
 		List<WebElement> tableEls = browser.findElements(tableBy);
 		if(tableEls.isEmpty()) {
 			newLevel(identifier, name);
diff --git a/src/test/resources/arquillian.xml b/src/test/resources/arquillian.xml
index 570750e8694d11e661e5de11e817290ecdc04be9..650be96dfb0516720fe2b588354559b9844fe879 100644
--- a/src/test/resources/arquillian.xml
+++ b/src/test/resources/arquillian.xml
@@ -13,8 +13,8 @@
     <container qualifier="tomcat-7-managed" default="true">
         <configuration>
             <property name="workDir">target/arquillianDeployments</property>
-			<property name="catalinaHome">target/arq-apache-tomcat-8.0.24</property>
-			<property name="catalinaBase">target/arq-apache-tomcat-8.0.24</property>
+			<property name="catalinaHome">target/arq-apache-tomcat-8.5.45</property>
+			<property name="catalinaBase">target/arq-apache-tomcat-8.5.45</property>
 			<property name="javaVmArguments">-Xmx512m -Xms256m -Djava.awt.headless=true</property>
 			<!-- debugging arguments for javaVm: -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y -->
         </configuration>