Tipps & Tricks - Microsoft Exchange - Abwesenheitsnachricht setzen

Dieser Beitrag zeigt, wie mit dem Connector für Microsoft Exchange eine Abwesenheitsnachricht für einen Exchange-Benutzeraccount verfasst und aktiviert werden kann. Die Beispielapplikation können Sie hier herunterladen und wie gewohnt importieren. Aktivieren Sie die Experten-Optionen, damit alle Dialoge, die in diesem Beispiel genannt werden, erreichbar sind. Außderdem muss eine Verbindung zu Microsoft Exchange eingerichtet sein.

Auf der Startseite "Übersicht" finden Sie in der Beispielapplikation das Element Statischer Text. Im Eigenschaftendialog finden Sie auf dem Reiter Allgemein das folgende Skript:

#set($bIsEnabled = $ExchangeMailboxCallable.isOutOfOfficeEnabled())
#if($bIsEnabled)
Out of office message enabled
#else
Out of office message not activated
#end

Auf dem Reiter Optionen ist die Option "Programmierung, nur Standardsprache" ausgewählt. Das Skript wird damit beim Laden der Seite im Browser ausgeführt und gibt aus, ob die Abwesenheitsnachricht aktiviert ist oder nicht.

Auf der Seite "Status ändern" kann im Browser der Text der Abwesenheitsnachricht eingetragen werden. Außerdem finden Sie hier das Kontrollkästchen "Aktiv". Beide Eingabeelemente benötigen keine Datenfeldverknüpfung.

Auf der Seite wurde mit Hilfe des Elements VTL Include eine VM-Datei mit dem Namen "outOfOffice.vm" erstellt. Die Datei enthält das folgende Skript:

$!ExchangeMailboxCallable.setOutOfOfficeMessage($Request.get('rq_message'))
#if($Request.get('rq_enabled') == "1")
	#set($bEnabled = true)
#else
	#set($bEnabled = false)
#end
$!ExchangeMailboxCallable.setOutOfOffice($bEnabled)
{
	"bReturn": true
}

Das VTL-Include-Element wurde anschließend gelöscht, weil es nicht zwingend benötigt wird.

Das Skript kann nachträglich über dem Applikationsknoten bearbeiten werden. Wählen Sie dazu das Kontextmenü Details aus. Klicken Sie im Details-Dialog auf den Link "Temporäres Arbeitsverzeichnis öffnen". Die VM-Datei ""outOfOffice.vm"" befindet sich im Ordner "resources".

Auf der Seite "Status ändern" finden Sie auch die Schaltfläche "Übernehmen" mit dem Sprungziel "Status ändern". Die Seite "Status ändern" wird also nach Klick auf die Schaltfläche geladen. Auf dem Reiter "Skript" ist das folgende Skript hinterlegt:

function setOutOfOfficeMessage(p_oHtml) 
{
	/*Out of office message  textareacontrol*/
	var strMessage = Browser.getValue(getElement("GUID_TEXTFIELD")); 

	/*Active  checkcontrol*/
	var bEnabled   = Browser.getValue(getElement("GUID_CHECKBOX")); 

	var oAjax = new upSimpleAjax();
	oAjax.oFup = ContainerAgent.getFuncPart(p_oHtml);
	oAjax.oHtmlForm = oAjax.oFup.oForm.oHtml; 
	oAjax.oProcessFunc = function (p_oJSON) {

		if(!p_oJSON.bReturn)
		{
			alert("Error setting message.");
		}
		else
		{
			alert("Message set.");
		}
	}

	oAjax.bAsync = true;
	oAjax.bAddHistory = false;
	oAjax.loadAppSnippetJsonVm("internal/application/resource/0A3832BBDDECE6DA29F712724BF368B70B228711/outOfOffice.vm", {rq_message: strMessage, rq_enabled: bEnabled});

	return true;
}

Wenn Sie das Skript in anderen Applikationen einsetzen wollen, sind folgende Werte anzupassen:

  • getElement("GUID_TEXTFIELD")
    GUID des Textfeldes "Abwesenheitsnachricht"

  • getElement("GUID_CHECKBOX")
    GUID des Kontrollkästchens "Aktiv"

  • 0A3832BBDDECE6DA29F712724BF368B70B228711/outOfOffice.vm Ersetzen Sie 0A3832BBDDECE6DA29F712724BF368B70B228711 mit der GUID der aktuellen Applikation.

Alle GUIDS können direkt im Editor im Bereich Applikationsstruktur ermittelt werden. Mit Hilfe dieser Funktion wird das hinterlegte VM-Skript über einen AJAX-Call aufgerufen und ausgeführt. Das Skript ist dem onclick-Event der Schaltfläche mit dem Parameter "this" zugeordnet. Es wird also bei Klick auf die Schaltfläche im Browser ausgeführt.

Wenn Sie die Applikation das erste Mal im Browser öffnen, müssen Sie Ihre Exchange-Logindaten eintragen und sich anmelden. Anschließend können Sie die Abwesenheitsnachricht auf der Seite "Status ändern" aktivieren. Nach dem Übernehmen der Nachricht ist sie ab sofort in Ihrem Exchange-Postfach aktiv.