Musterbeispiel "Termin in einen Google-Kalender eintragen"

~ 0 min
17.03.2014 01:51

Problem:

In einem Terminierungsprojekt für Aussendienstmitarbeiter oder für einen Mitarbeiter soll ein Termin aus AG-VIP SQL heraus in einem Google-Kalender eingetragen werden oder ein bestimmter Google-Kalender soll in einem Webcontrol auf einer Ansicht oder einem Gesprächsleitfaden zu Ansicht gebracht werden.

Lösung:

Die in diesem Artikel vorgestellten Dateien enthalten 2 mögliche Lösungen für die Erstellung eines Kalendereintrags.
1. Anzeige und Eintrag eines Termins mittels einer Ansicht.
2. Eintrag eines Termins mittels einem Hilfsmittel.

Hinweise:

Für die Nutzung dieses Beispiels ist ein Google-Account erforderlich.
Sie können einen Google-Account kostenlos unter der URL https://www.google.com/accounts/NewAccount anlegen.

Um die Muster allgemein lauffähig zu halten, wurden keine Datenbankbezüge für den Termineintrag integriert. Wenn Sie jedoch ein Feld vom Typ "Datum/Zeit" in der Adresstabelle anlegen und dem Control "startdatum" auf der Ansicht "Google-Kalender" eine Datenbindung mit diesem Datenbankfeld zuweisen, wird Ihr Termin in AG-VIP SQL und im Google-Kalender geführt.
Wird später natürlich der Termin im Google-Kalender verschoben, werden die Daten im Terminkalender in unserem Datenfeld in AG-VIP SQL nicht automatisch aktualisiert.
Terminänderungen sollten daher wenn möglich auch im AG-VIP SQL entsprechend aktualisiert werden.

Die wichtigsten Felder für die Nutzung dieser Beispiele sind Application.GlobalData("gmail") und Application.GlobalData("gpass").
Sie müssen vor der erfolgreichen Nutzung des Beispiels mit den Benutzerdaten des Google-Accounts gefüllt werden (Emailadresse und Passwort)

Sollte beim Laden der Ansicht folgende Warnung angezeigt werden:
Browser not supported

dann lesen Sie bitte folgenden Knowledgebase Artikel, welcher dieses Problem beschreibt:
http://kb.grutzeck.de/content/34/323/de/das-browsercontrol-wird-von-webseiten-als-veralteter-browser-erkannt.html

1. Anzeige und Eintrag eines Termins mittels einer Ansicht:

Dieses Beispiel zeigt exemplarisch wie ein Termin aus Feldern einer Ansicht in AG-VIP SQL direkt in einem Google-Kalender eingetragen werden können.
Ausserdem wird der entsprechende Googlekalender in einem Webcontrol zur Anzeige gebracht.
(Dieses Beispiel zeigt auch die Steuerung eines Formulars das mit GET anstatt mit einem POST arbeitet. [Für den Google-Login])

Um das Beispiel zu nutzen müssen Sie gültige Google-Zugangsdaten im Formular "Marko beim Laden" hinterlegen. Danach ist das Beispiel sofort einsatzbereit.

2. Eintrag eines Termins mittels einem Hilfsmittel:

Dieses Beispiel zeigt wie ein Termineintrag mit einem Hilfsmittel in einen Googlekalender vorgenommen werden kann.
Typischerweise wäre dies ein Hilfsmittel das mit einer Reaktion "Termin erstellt" auch in einem vorhandenen Terminierungsprojekt verwendet werden kann, wenn die Syncronisation des Blackberry oder Outlook-Kalenders des Aussendienstmitarbeiters mit einem Google-Kalender vorgenommen wird.
So kann nun mit einem "normalen" Terminierungsprojekt auch gleich der Termineintrag in dem entsprechenden Googlekalender des Aussendienstmitarbeiters vorgenommen werden.
Um das Beispiel auszuprobieren müssen Sie nach der Installation, im Makro des Hilfsmittels, die Werte für die Zugangsdaten für den Google-Account hinterlegen.
Danach ist das Beispiel sofort einsatzbereit.

Natürlich gibt es für diese Musterbeispiele noch unzählige Anwendungsszenarien.

Einrichtung:
  1. Laden Sie die ZIP-Datei am Ende des Artikels herunter und entpacken Sie die Dateien typischerweise im Ordner <AGVIP SQL Installationsverzeichnis>\Samples (bpw. C:\Programme\AG-VIP SQL\Samples)
  2. Öffnen Sie AG-VIP SQL und wechseln Sie im Arbeitsbereich auf die Administration
  3. Klicken Sie auf "Ansichten". Der Formulareditor öffnet sich.
  4. Klicken Sie im Formulareditor im Menü auf "Datei" -> "Import" und wählen Sie die Datei "Google-Kalender.agfrm"
  5. Klicken Sie dann auf "Makro beim öffnen" und ergänzen Sie die Zugangsdaten für den Google-Kalender in Zeile 5 und 6:
    Application.GlobalData("gmail")="<Ihre Emailadresse>"
    Application.GlobalData("gpass")= "<Ihr Passwort>"
  6. Speichern Sie nun die Ansicht im gewünschten Kontext
  7. Schließen Sie den Formulareditor und wechseln Sie im Administrationsbereich auf "Verschiedenes" -> "Hilfsmittel"
  8. Importieren Sie nun die Datei "Termin in Google Kalender eintragen.agtool".
  9. Klicken Sie auf das Hilfsmittel "Termin in Google Kalender eintragen" -> "Ändern" und wechseln Sie auf die Registerkarte Makro
  10. Klicken Sie hier auf "Ändern" und ergänzen Sie die Zugangsdaten für den Google-Kalender in Zeile 4 und 5:
    Application.GlobalData("gmail")="<Ihre Emailadresse>"
    Application.GlobalData("gpass")= "<Ihr Passwort>"

Nun können Sie die Beispiele bereits ausprobieren.

Anpassungsmöglichkeiten:

Sie können die folgenden Werte vorgeben:

  1. Zugangsdaten:
    Application.GlobalData("gmail")="support@grutzeck.de"
    Application.GlobalData("gpass")= "Passwort"
  2. Wert für das Startdatum
    Application.GlobalData("startdate") = ""
  3. Wert für die Startzeit
    Application.GlobalData("starttime") = ""
  4. Wert für das Enddatum
    Application.GlobalData("enddate")= ""
  5. Wert für die Endzeit
    Application.GlobalData("endttime")= ""
  6. Wert für den Titel Eintrag.
    Application.GlobalData("title")="Testeintrag im Googlekalender für " & ActiveAddress.Fields("NameLast").value
  7. Wert für die Beschreibung des Termins im Googlekalender
    Application.GlobalData("description")="Termin bei " & ActiveAddress.Fields("NameSalutation").Value & _
    " " & ActiveAddress.Fields("NameLast").Value & ", " & _
    ActiveAddress.Fields("Name1").Value
  8. Wert für den Ort an dem der Termin stattfinden soll. Hier wir als Beispiel die Adresse des Datensatzes verwendet. Könnte aber auch = "Hanau" sein.
    Application.GlobalData("place")= ActiveAddress.Fields("Street").Value & _
    ", " & ActiveAddress.Fields("ZipCode").Value & " " & ActiveAddress.Fields("City").Value
  9. Wert ob der Termin als privater Termin oder öffentliche Termin eingetragen wird. Mögliche Angaben sind "private" oder "public"
    Application.GlobalData("visibility") = "private"
  10. Wert für eine Zeitkorrektur (Kalender zur eigener Systemzeit) Beispiel -01:00 oder +02:00
    Application.GlobalData("timecorection") = ""
  11. Wert ob die Zeit im Kalender als Belegt oder Frei angezeigt wird. (Mögliche Werte false oder true)
    Application.GlobalData("timeconsumption") = true

Im Beispiel für das Hilfsmittel kann mit dem Wert "Termindauer" (Termindauer=1) ein Wert für die Terminlänge eingetragen werden. (In Stunden)
Im Beispiel mit der Ansicht wird die Termindauer in Zeile 12 festgelegt. Dabei wird für die Endzeit die Startzeit +1 Stunde festgelegt.
Sie können natürlich jederzeit beliebige Vorgabewerte als Text oder aus Datenbankfeldern definieren.

 

Änderungslog:

17.03.2014

  • Verweis auf Problemlösung bezüglich der Ausgabe, dass ein veralteter Browser verwendet wird.

Angehängte Dateien:

Durchschnittliche Bewertung 0 (0 Abstimmungen)

Kommentieren nicht möglich