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 |
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
| ||||||
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 von extern | Radiobuttons |
Konfiguration, was mit den Terminen im ingenious passieren soll, wenn sie im externen System gelöscht wurden:
|
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.
Je nach Größe des Betriebs und Anzahl der zu synchronisierenden Termine kann die Synchronisation manuell gestartet oder zeitgesteuert ausgeführt werden.
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 |
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 |
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 |
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 |
Erfolgs- und Fehlermeldungen werden in das Log des Schedulers geschrieben.
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 Outlook |