ingenious
Calendar synchronization
System modules > Program settings > Calendar synchronization

The calendar synchronization allows the dates from the ingenious time recording to be transferred to external systems such as the Microsoft Exchange Server and vice versa. This allows users to view their ingenious times in Outlook and, depending on the configuration, also on the go. This makes it easy to plan appointments in the office and transmit them to the responsible employees / fitters.

The basic configuration of communication with the server takes place under Network and WebServer.

Settings made in the "Calendar synchronization" tab are: which appointments should be synchronized, how they should be displayed externally, whether external appointments should also appear in ingenious and which is the leading system.

 

Confiuration of the calendar synchronization

Confiuration of the calendar synchronization

  

The settings include:

 

Standard commission Selection list Selection to which commission new entries in ingenious are assigned by default. If dates are imported from outside, they are assigned to the standard commission.
Commissions to be exported List + Button Selection of the commissions to be exported. Time entries assigned to other commissions are not transfered to the external system. The selection of the possible commissions takes place via a separate dialog, which can be opened via the button .
Classification Selection list Definition of how appointments from ingenious should be classified in the external system - public, private or confidential. This determines the marking of the appointment in the mail client and possible access by third parties.
Priority Selection list Marking the priority of an appointment from ingenious in the mail client as high, normal or low.
Category text field Enter a category of the mail client to which the appointemnts from ingenious should be assigned. Can remain empty.
Leading system Selection list

Selection of which system should be the leading one, i.e. whcih system determines the timelines of the data and overwrites any changes to the other system

Ingenious All changes to the appointment in ingenious are transferred externally, external changes are rejected, the content from ingenious is restored in the external system.
External All changes to the appointments in the external system are transferred to ingenious, changes in ingenious are discarded, the content from the external system is restored in ingenious.
System with a newer date All recent changes within a synchronization interval are updated in both systems. The system in which the most recent change was made determines the details of the appointment.

 

Synchronize appointments created in ingenious Checkbox Determining whether appointments from ingenious should be transferred to the external system.
Create external appointments in ingenious Checkbox Determining whether appointments from the external system should be created in inenious.
Delete in ingenious Radio buttons

Configuration of what should happen to the appointments in ingenious if they have been deleted in the external system:

Do not sync delete in ingenious If an appointment is deleted in ingenious, it remains in the external system.
Synchronize deletion in ingenious to external If an appointment is deleted in ingenious, it is also removed from the external system. In addition, it can be determined whether a message should be sent to any participants in Exchange.
Restore appointments deleted in ingenious at the next replication If an appointment is deleted in ingenious, it will be restored with the data from the external system during the next synchronization.

External deletion Radio buttons

Configuration of what should happen to the appointments in ingenious if they have been deleted in the external system:

Keep externally deleted appointments in ingenious If appointments are deleted in the external system, they remain in ingenious
Delete externally deleted appointments in ingenious If appointments are deleted in the external system, they are also removed from ingenious
Restore externally deleted appointments with values from ingenious Externally deleted appointments remain in ingenious and are restored in the external system with the details from ingenious.

 

All appointments that correspond to the configuration and that are a maximum of 100 days back and a maximum of 100 days in the future are always taken into account.

 

Synchronization Implementation

Depending of the size of the company and the number of appointments to be synchronized, the synchronization can be started manually or timed.

 

Manual start of synchronization

For manual start, the following script must be created, for example, for execution in the times list.

Within public override Dictionary
Copy Code
    var dict = new Dictionary<string, string>();
    dict.Add("calendarReplication", "Replication Calendar");
    return dict;
Within public override void NavBarScript
Copy 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("Error during replication"), MessageBoxButtons.OK, MessageBoxIcon.Error);
        else
            ingenious.net.Tools.myMessageBox.Show(sResult, ingenious.net.Lang.getString("Successful replication"), MessageBoxButtons.OK);
    }

 

 

List script for calendar synchronization

List script for calendar synchronization

 

If the calendars of several users are to be synchronized, the logins of the users must be listed separately with a semicolon:

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

 

The synchronization is the started via the script entry in the project times list. A notification of success or errors is issued after completion.

 

Success message of the synchronization

Success message of the synchronization

  

Scheduled synchronization execution

The ingenious scheduler, a fee-based additional module, is required for the time-controlled execution of the calendar synchronization.

A script must be created for the scheduler module. 

Scheduler script calendar synchronization
Copy 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);
}

 

Scheduler script for calendar synchronization

Scheduler script for calendar synchronization

 

If the calendars of several users are to be synchronized, the logins of the users must be listed separately with a semicolon:

Enumeration of users
Copy Code
string[] userToReplicate = new string[]{"admin", "admin2"};

 

An action plan with the desired interval that executes the script must be created in the scheduler.

 

Scheduler action for calendar synchronization

Scheduler action for calendar synchronization

 

Success and error messages are written into the log of the scheduler. 

 

Log of the scheduler

Log of the scheduler

 

To use the time-controlled calendar synchronization, an automatic update of 1 or 5 minutes can be set in the calendar settings within the filter block.

 

Synchronized calendar in ingenious

Synchronized calendar in ingenious

 

Synchronized calendar in Outlook

Synchronized calendar in Outlook