Exchange Abwesenheits-Nachricht über Ajax setzen - Intrexx 6

Die Seite wird erstellt Matthias Zahn
 
WEITER LESEN
Exchange Abwesenheits-Nachricht über Ajax setzen - Intrexx 6
WERKSTATT

Exchange
Abwesenheits-
Nachricht über
Ajax setzen

Intrexx 6
Exchange Abwesenheits-Nachricht über Ajax setzen - Intrexx 6
Im folgenden Beitrag soll gezeigt werden, wie Sie mit Hilfe einer Intrexx-Applikation für
Ihren Exchange-Benutzeraccount eine Abwesenheitsnachricht hinterlegen und aktivieren
können. Dies ist vor allem dann sinnvoll, wenn Mitarbeiter außer Haus sind, z.B. auf Dienst-
reise oder im Urlaub, und vergessen wurde, eine entsprechende Abwesenheitsmitteilung zu
setzen und zu aktivieren. Über eine Intrexx-Applikation kann dies auch erfolgen, wenn von
extern kein Zugriff auf Outlook möglich ist.

Zur Umsetzung dieser Anforderung benötigen Sie den Intrexx Business Adapter für Microsoft
Exchange. Weitere Informationen zum Adapter finden Sie hier:

www.unitedplanet.com/de/business-adapter/microsoft-exchange.

Öffnen Sie den Intrexx Portal Manager und wechseln Sie in das Modul Applikationen.
Erstellen Sie eine neue Applikation auf Basis der Vorlage Leere Applikation. Die vorhandene
Datengruppe kann gelöscht werden. Geben Sie der Applikation einen passenden Namen, z.B.
Abwesenheitsnachricht setzen. Die Startseite Übersicht kann umbenannt werden in Status
anzeigen.

Platzieren Sie auf dieser Seite ein Ansichtselement vom Typ Statischer Text und erfassen Sie
folgenden Inhalt:

#set($bIsEnabled = $ExchangeMailboxCallable.isOutOfOfficeEnabled())
#if($bIsEnabled)
Abwesenheitsnachricht aktiviert.
#else
Abwesenheitsnachricht nicht aktiviert.
#end

Wechseln Sie anschließend auf den Reiter Optionen und selektieren Sie hier die Option
Programmierung, nur Standardsprache. Beim Aufruf der Seite erhalten Sie so eine
Statusmeldung darüber, ob die Abwesenheitsnachricht bereits aktiviert ist oder nicht.

Erstellen Sie anschließend eine neue Ansichtsseite und geben Sie dieser den Namen Status
ändern. Platzieren Sie auf dieser Seite ein Eingabeelement vom Typ Textfeld (Titel
Abwesenheitsnachricht) und ein Kontrollkästchen (Titel Aktiv). Beide Eingabeelemente
benötigen keine Datenfeldverknüpfung.

UNITED PLANET - INTREXX 6 PORTAL BUILDER - ABWESENHEITSNACHRICHT MIT AJAX              2
Exchange Abwesenheits-Nachricht über Ajax setzen - Intrexx 6
Wählen Sie nun aus den Ansichtselementen aus der Kategorie Programmierung das Element
VTL Include. Über die Einstellung Velocity-Datei aus dem Applikationspaket referenzieren
erstellen Sie eine neue VM-Datei und geben ihr z.B. den Namen outOfOffice.vm.

Hinterlegen Sie folgendes Skript im Velocity-Editor:

$!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
}

UNITED PLANET - INTREXX 6 PORTAL BUILDER - ABWESENHEITSNACHRICHT MIT AJAX          3
Exchange Abwesenheits-Nachricht über Ajax setzen - Intrexx 6
Schließen Sie den Editor und den Eigenschaften-Dialog des VTL-Include. Sie können nun das
VTL-Include-Element wieder löschen. Möchten Sie zu einem späteren Zeitpunkt das VTL-
Skript nochmals bearbeiten, klicken Sie in der Applikationsstruktur mit der rechten
Maustaste auf den Applikationstitel, wählen Sie den Punkt Details und klicken Sie
anschließend den Link Temporäres Arbeitsverzeichnis öffnen. Hier finden Sie die erstellte VM-
Datei im Ordner resources.

Platzieren Sie nach dem Löschen des VTL-Include unterhalb der Eingabeelemente eine
Schaltfläche mit dem

      Titel Übernehmen
      Aktionstyp Keine Aktion
      Sprungziel Ansichtsseite Status ändern

Wechseln Sie anschließend auf den Reiter Skript. Öffnen Sie den JavaScript-Editor.
Hinterlegen Sie dort folgendes Skript:

function setOutOfOfficeMessage(p_oHtml)
{
       /*Abwesenheitsnachricht textareacontrol*/
       var strMessage = Browser.getValue(getElement("GUID_TEXTFELD"));

       /*Aktiv checkcontrol*/
       var bEnabled  = Browser.getValue(getElement("GUID_KONTROLLKÄSTCHEN"));

       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)
               {

UNITED PLANET - INTREXX 6 PORTAL BUILDER - ABWESENHEITSNACHRICHT MIT AJAX               4
alert("Error setting message.");
               }
               else
               {
                       alert("Message set.");
               }
       }

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

       return true;
}

Anzupassen sind folgende Werte:

getElement("GUID_TEXTFELD")
GUID des Eingabeelements Textfeld Abwesenheitsnachricht

getElement("GUID_KONTROLLKÄSTCHEN")
GUID des Eingabeelements Kontrollkästchen Aktiv

0A3832BBDDECE6DA29F712724BF368B70B228711/outOfOffice.vm
Ersetzen Sie dies durch die bei Ihnen vorliegende Applikations-GUID und den Namen der
vm-Datei, den Sie vorhin im VTL-Include vergeben haben. Die Applikations-GUID können Sie
direkt im Editor über den Reiter Applikationsstruktur ermitteln.

Mit Hilfe dieser Funktion wird über einen AJAX-Call das hinterlegte VM-Skript aufgerufen und
ausgeführt.

Schließen Sie nach diesen Anpassungen den JavaScript-Editor und rufen Sie die Funktion im
onclick-Event der Schaltfläche mit dem Parameter this auf.

Speichern und veröffentlichen Sie die Applikation und rufen Sie sie im Browser auf. Bei der
ersten Anmeldung erscheint die Loginbox des Exchange-Adapters. Geben Sie Ihre Exchange-
Logindaten an. Bei Aufruf der Applikation wird der aktuelle Status Ihrer Abwesenheits-
nachricht angezeigt.

Über Status ändern können Sie eine neue Abwesenheitsnachricht erfassen und mit der
Checkbox den Aktiv-Status setzen.

UNITED PLANET - INTREXX 6 PORTAL BUILDER - ABWESENHEITSNACHRICHT MIT AJAX              5
Nach dem Übernehmen der Nachricht ist sie ab sofort in Ihrem Exchange-Postfach aktiv.

UNITED PLANET - INTREXX 6 PORTAL BUILDER - ABWESENHEITSNACHRICHT MIT AJAX               6
©2013 United Planet. All rights reserved. www.unitedplanet.com. Intrexx and United Planet are
registered trademarks of United Planet, Freiburg - Germany. Alle im Text erwähnten Hersteller,
Produkte und Dienstleistungen sind Marken oder eingetragene Marken der jeweiligen Unternehmen
in Deutschland und anderen Ländern weltweit.
Sie können auch lesen