diff --git a/src/main/java/de/bps/course/nodes/vc/_spring/vcContext.xml b/src/main/java/de/bps/course/nodes/vc/_spring/vcContext.xml index 55cccb7c9f3270dfcbcdda46752da3281afcbc3a..548ddfc686c3c551048fb2c5f60fa0824465d87d 100644 --- a/src/main/java/de/bps/course/nodes/vc/_spring/vcContext.xml +++ b/src/main/java/de/bps/course/nodes/vc/_spring/vcContext.xml @@ -47,7 +47,9 @@ <property name="accountId" value="${vc.adobe.accountid}" /> <property name="templates"><!-- optional --> <map key-type="java.lang.String" value-type="java.lang.String"> - <entry value="Standardmeetingvorlage" key="4711" /> + <entry value="${vc.template.name.0}" key="${vc.template.key.0}" /> + <entry value="${vc.template.name.1}" key="${vc.template.key.1}" /> + <entry value="${vc.template.name.2}" key="${vc.template.key.2}" /> </map> </property> <property name="showOptions" value="${vc.adobe.showoptions}" /> @@ -69,9 +71,9 @@ <property name="jobDataAsMap"> <map> <entry key="providerId" value="adobe" /> - <entry key="daysToKeep" value="1" /> - <entry key="cleanupMeetings" value="true" /> - <entry key="cleanupModerators" value="false" /> + <entry key="daysToKeep" value="${vc.adobe.daysToKeep}" /> + <entry key="cleanupMeetings" value="${vc.adobe.cleanupMeetings}" /> + <entry key="cleanupModerators" value="${vc.adobe.cleanupModerators}" /> </map> </property> </bean> diff --git a/src/main/java/de/bps/course/nodes/vc/provider/adobe/AdobeConnectProvider.java b/src/main/java/de/bps/course/nodes/vc/provider/adobe/AdobeConnectProvider.java index 1ebdb077ab6ce962a4c0ad08aa9e804bf2a70314..7c948f8aa40f47b192cd8436c2430776d83c8372 100644 --- a/src/main/java/de/bps/course/nodes/vc/provider/adobe/AdobeConnectProvider.java +++ b/src/main/java/de/bps/course/nodes/vc/provider/adobe/AdobeConnectProvider.java @@ -57,6 +57,7 @@ import org.olat.core.id.UserConstants; import org.olat.core.logging.AssertException; import org.olat.core.logging.LogDelegator; import org.olat.core.util.Encoder; +import org.olat.core.util.StringHelper; import org.w3c.dom.Document; import org.w3c.dom.Node; import org.w3c.dom.NodeList; @@ -463,8 +464,11 @@ public class AdobeConnectProvider extends LogDelegator implements VCProvider { parameters.put("login", adminLogin); parameters.put("password", adminPassword); Document responseDoc = getResponseDocument(sendRequest(parameters)); - - return evaluateOk(responseDoc); + boolean success = evaluateOk(responseDoc); + if(!success) { + logWarn("Admin login to Adobe Connect failed", null); + } + return success; } private boolean logout() { @@ -692,11 +696,22 @@ public class AdobeConnectProvider extends LogDelegator implements VCProvider { } public void setAccountId(String accountId) { - this.accountId = accountId; + if(StringHelper.containsNonWhitespace(accountId)) { + this.accountId = accountId; + } else { + this.accountId = null; + } } public void setTemplates(Map<String,String> templates) { - this.templates = templates; + this.templates = templates; + + List<Map.Entry<String, String>> entries = new ArrayList<Map.Entry<String, String>>(templates.entrySet()); + for(Map.Entry<String, String> entry:entries) { + if(!StringHelper.containsNonWhitespace(entry.getKey()) || !StringHelper.containsNonWhitespace(entry.getValue())) { + templates.remove(entry.getKey()); + } + } } public void setGuestAccessAllowedDefault(boolean guestAccessAllowedDefault) { diff --git a/src/main/java/de/bps/course/nodes/vc/provider/adobe/_spring/adobeContext.xml b/src/main/java/de/bps/course/nodes/vc/provider/adobe/_spring/adobeContext.xml index 19d348aca8bf3a44893d377bd68ee1032bbb918b..2412a19a7216ec20fb300704b4e6ea41655ebecc 100644 --- a/src/main/java/de/bps/course/nodes/vc/provider/adobe/_spring/adobeContext.xml +++ b/src/main/java/de/bps/course/nodes/vc/provider/adobe/_spring/adobeContext.xml @@ -3,15 +3,15 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans - http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> + http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="adobeDefaultConfig" class="de.bps.course.nodes.vc.provider.adobe.AdobeConnectConfiguration"> <!-- general --> - <property name="createMeetingImmediately" value="false" /> + <property name="createMeetingImmediately" value="${vc.adobe.createMeetingImmediately}" /> <!-- Adobe Connect specific --> - <property name="guestAccessAllowed" value="true" /> - <property name="guestStartMeetingAllowed" value="true" /> - <property name="useMeetingDates" value="false" /> + <property name="guestAccessAllowed" value="${vc.adobe.guestAccessAllowed}" /> + <property name="guestStartMeetingAllowed" value="${vc.adobe.guestStartMeetingAllowed}" /> + <property name="useMeetingDates" value="${vc.adobe.useMeetingDates}" /> </bean> </beans> \ No newline at end of file diff --git a/src/main/resources/serviceconfig/olat.properties b/src/main/resources/serviceconfig/olat.properties index 826d931b65336211e47baf4003ae5d9b6676af11..23f61d0bf17cef1e0fed2d6a040e423eb948f1ab 100644 --- a/src/main/resources/serviceconfig/olat.properties +++ b/src/main/resources/serviceconfig/olat.properties @@ -888,6 +888,21 @@ vc.adobe.showoptions=true vc.adobe.usertype=user vc.adobe.usertype.values=guest,user +vc.adobe.daysToKeep=1 +vc.adobe.cleanupMeetings=true +vc.adobe.cleanupModerators=false +vc.adobe.createMeetingImmediately=false +vc.adobe.guestAccessAllowed=true +vc.adobe.guestStartMeetingAllowed=true +vc.adobe.useMeetingDates=false + +vc.template.name.0=Standardmeetingvorlage +vc.template.key.0=4711 +vc.template.name.1=Standardmeetingvorlage 2 +vc.template.key.1=4712 +vc.template.name.2=Standardmeetingvorlage 3 +vc.template.key.2=4713 + #Winba vc.wimba.enabled=false vc.wimba.protocol=http