ingenious
Kalendersynchronisation
Systemmodule > Programmeinstellungen > Kalendersynchronisation

Die Kalendersynchronisation erlaubt die Übertragung der Termine aus der ingenious Zeiterfassung an externe Systeme wie z.B. den Microsoft Exchange Server und umgekehrt. Damit können Nutzer ihre in ingenious angelegten Zeiten auch in Outlook und je nach Konfiguration auch unterwegs einsehen. So lassen sich einfach im Büro die Termine planen und an die zuständigen Mitarbeiter / Monteure übermitteln.

Die Grundkonfiguration der Kommunikation mit dem Server erfolgt unter Netzwerk und WebServer.

Im Reiter "Kalendersynchronisation" werden Einstellungen getroffen, welche Termine synchronisiert werden sollen, wie sie extern dargestellt werden sollen, ob auch externe Termine in ingenious erscheinen sollen und welches das führende System ist.

 

Konfiguration der Kalendersynchronisation

Konfiguration der Kalendersynchronisation

 

Die Einstellungen umfassen im Einzelnen:

 

Standard Kommission Auswahlliste Auswahl, welcher Kommission neue Einträge in ingenious standardmäßig zugeordnet werden. Werden Termine von extern importiert, so werden diese der Standardkommission zugewiesen.
Zu exportierende Kommissionen Liste + Button Auswahl der zu exportierenden Kommissionen. Zeiteinträge, die anderen Kommissionen zugewiesen sind, werden nicht mit an das externe System übertragen. Die Auswahl der möglichen Kommissionen erfolgt über einen separaten Dialog, der über den Button   zu öffnen ist.
Klassifizierung Auswahlliste Definition, wie Termine aus ingenious im externen System klassifiziert werden sollen - öffentlich, privat oder vertraulich. Dies bestimmt die Kennzeichnung des Termins im Mail Client und eventuelle Zugriffe durch Dritte.
Priorität Auswahlliste Kennzeichnung der Priorität eines Termins aus ingenious im Mail Client als hoch, normal oder niedrig.
Kategorie Textfeld Eingabe einer Kategorie des Mail Clients, der die Termine aus ingenious zugewiesen werden sollen. Kann leer bleiben.
Führendes System Auswahlliste

Auswahl, welches System das führende sein soll, d.h. welches System bestimmt die Aktualität der Daten und überschreibt ggf. Änderungen des anderen Systems

Ingenious Alle Änderungen an den Terminen in ingenious werden nach extern übertragen, externe Änderungen werden verworfen, die Inhalte aus ingenious werden im externen System wiederhergestellt.
Extern Alle Änderungen an den Terminen im externen System werden nach ingenious übertragen, Änderungen in ingenious werden verworfen, die Inhalte aus dem externen System werden in ingenious wiederhergestellt.
System mit neuerem Datum Alle neueren Änderungen innerhalb eines Synchronisationsintervalls werden in beiden Systemen aktualisiert. Das System, in dem die neuste Änderung vorgenommen wurde, bestimmt die Details des Termins

 

In ingenious angelegte Termine synchronisieren Checkbox Bestimmung, ob Termine aus ingenious an das externe System übertragen werden sollen.
Externe Termine in ingenious anlegen Checkbox Bestimmung, ob Termine aus dem externen System in ingenious angelegt werden sollen.
Löschen in ingenious Radiobuttons

Konfiguration, was mit den Terminen im externen System passieren soll, wenn sie in ingenious gelöscht wurden:

Löschen in ingenious nicht synchronisieren Wird ein Termin in ingenious gelöscht, so bleibt er im externen System erhalten.
Löschen in ingenious nach extern synchronisieren Wird ein Termin in ingenious gelöscht, so wird er auch aus dem externen System entfernt. Zusätzlich kann bestimmt werden, ob in Exchange eine Nachricht an eventuelle Teilnehmer geschickt werden soll.
In ingenious gelöschte Termine bei nächster Replikation wiederherstellen Wir ein Termin in ingenious gelöscht, so wird er mit den Daten aus dem externen System bei der nächsten Synchronisation wiederhergestellt.

Löschen von extern Radiobuttons

Konfiguration, was mit den Terminen im ingenious passieren soll, wenn sie im externen System gelöscht wurden:

Extern gelöschte Termine in ingenious behalten Werden Termine im externen System gelöscht, so bleiben sie im ingenious erhalten.
Extern gelöschte Termine in ingenious löschen Werden Termine im externen System gelöscht, so werden sie auch aus ingenious entfernt.
Extern gelöschte Termine mit Werten aus ingenious wiederherstellen Extern gelöschte Termine bleiben im ingenious erhalten und werden im externen System mit den Details aus ingenious wiederhergestellt.

 

Es werden immer alle Termine berücksichtigt, die der Konfiguration entsprechen und die maximal 100 Tage zurück und maximal 100 Tage in der Zukunft liegen.

 

Synchronisationsdurchführung

Je nach Größe des Betriebs und Anzahl der zu synchronisierenden Termine kann die Synchronisation manuell gestartet oder zeitgesteuert ausgeführt werden. 

 

Manueller Start der Synchronisation

Für den manuellen Start sind die folgenden Skripte z.B. für die Ausführung in der Projektzeitenliste anzulegen.

Innerhalb public override Dictionary
Kopiere Code
    var dict = new Dictionary<string, string>();
    dict.Add("calendarReplication", "Replikation Kalender");
    return dict;
Innerhalb public override void NavBarScript
Kopiere Code
if (script == "calendarReplication")
    {
        string[] userToReplicate = new string[] { "admin" };
        Boolean bError = false;
        string sResult = "";
        string sDescription = "";
        ingenious.net.Moduls.CalendarReplication.TimesReplication.Replicate(userToReplicate, out bError, out sResult, out sDescription);
        if (bError)
            ingenious.net.Tools.myMessageBox.Show(sResult, ingenious.net.Lang.getString("Fehler bei Replikation"), MessageBoxButtons.OK, MessageBoxIcon.Error);
        else
            ingenious.net.Tools.myMessageBox.Show(sResult, ingenious.net.Lang.getString("Erfolgreiche Replikation"), MessageBoxButtons.OK);
    }

 

Listenskript zur Kalendersynchronisation

Listenskript zur Kalendersynchronisation

 

Sollen die Kalender mehrerer Benutzer synchronisiert werden, so sind die Logins der Benutzer mit Semikolon getrennt aufzuführen:

Aufzählung der Benutzer
Kopiere Code
string[] userToReplicate = new string[]{"admin", "admin2"};

 

Die Synchronisation wird dann über den Skripteintrag in der Projektzeitenliste gestartet. Nach Abschluss wird eine Hinweismeldung über Erfolg oder Fehler ausgegeben.

 

Erfolgsmeldung der Synchronisation

Erfolgsmeldung der Synchronisation

  

Zeitgesteuerte Ausführung der Synchronisation

Für die zeitgesteuerte Ausführung der Kalendersynchronisation wird der ingenious Scheduler benötigt, ein kostenpflichtiges Zusatzmodul.

Es ist ein Skript für das Modul Scheduler anzulegen.

 

Scheduler Skript Kalendersynchronisation
Kopiere Code
public void Exchange_Sync(out bool bError, out string sResult, out string sDescription)
{
    string[] userToReplicate = new string[]{"admin"};
    bError = false;
    sResult = "";
    sDescription = "";
    ingenious.net.Moduls.CalendarReplication.TimesReplication.Replicate(userToReplicate, out bError, out sResult, out sDescription);
}

 

Schedulerskript zur Kalendersynchronisation

Schedulerskript zur Kalendersynchronisation

 

Sollen die Kalender mehrerer Benutzer synchronisiert werden, so sind die Logins der Benutzer mit Semikolon getrennt aufzuführen:

Aufzählung der Benutzer
Kopiere Code
string[] userToReplicate = new string[]{"admin", "admin2"};

 

Im Scheduler ist ein Aktionsplan mit gewünschtem Intervall anzulegen, der das Skript ausführt.

 

Scheduler Aktion zur Kalendersynchronisation

Scheduler Aktion zur Kalendersynchronisation

 

Erfolgs- und Fehlermeldungen werden in das Log des Schedulers geschrieben. 

 

Log des Schedulers

Log des Schedulers

 

Für die Nutzung der zeitgesteuerten Kalendersynchronisation kann in den Kalendereinstellungen innerhalb des Filterblocks eine automatische Aktualisierung von 1 oder 5 Minute(n) eingestellt werden.

 

Synchronisierter Kalender in ingenious

Synchronisierter Kalender in ingenious

 

Synchronisierter Kalender in Outlook

Synchronisierter Kalender in Outlook