Connect Bridge - Exchange Server Sync User manual Document History Version Date Author Changes 1.0 02 Mar 2015 KK Creation 1.1 17 Apr 2015 KK Update 1.2 27 July 2015 KK Update 1.3 3 March 2016 DMI Update of the changes in UI and logging Summary Installation and configuration of CB Exchange Server Sync All rights reserved. No part of the document may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the written permission of Connecting Software s.r.o. & Co. KG. Company or product names mentioned in this document may be trademarks or registered trademarks of their respective companies.
Table of Contents 1 Overview... 3 2 How it works... 5 3 System Requirements... 6 4 Synchronization process description... 6 5 Installation... 7 5.1 Uninstall...10 6 Configuration... 10 6.1 Initial setup...10 6.2 Tenants setup...12 6.3 Creating the connection string...12 6.4 Setup the synchronization...13 6.3.1 Setup window description...13 6.3.2 Set up the synchronization pairs...16 6.3.4 one way synchronization...17 6.3.5 Other settings...17 7 Running the synchronization... 17 7.1 Synchronization activity...17 7.2 Synchronization features...18 7.2.1 Emails folders...18 7.2.2 Contacts folder...19 7.2.3 Tasks folder...20 7.2.4 Calendar folder...22 7.3 Additional information...23 7.3.1 Synchronization conflicts...23 7.3.2 Running multiple instances...23 7.3.3 Synchronized folder space...23 7.3.4 Exchange server connection failure...23 7.3.5 Stop/pause synchronization...24 7.3.6 Stop the service...24 8 Troubleshooting... 25 8.1 Log files...25 8.2 Quick help...25 03 March 2016 Page 2/26
1 Overview Microsoft Exchange Server is the most popular communication, collaboration and email messaging application today. It delivers the must have services like mail server, calendar, task manager and contacts manager. Companies can use it by installing it on their servers or can take advantage of the cloud services. Usually a user has his own email account with mails, tasks, contacts and appointments but is not uncommon the scenario when a user has two or more mailbox accounts within same or different instances and versions of Exchange Server. The demand to keep mailboxes items synchronized leads to a problem. proposes a solution to this issue providing a tool which allows to synchronize multiple Exchange Mailboxes. For example if you need to synchronize one user on two or more exchange servers, even different versions of Exchange Server so that the user and the external party(in most cases customers) are not aware about that you are using two Exchange Servers or two mailboxes and for this purpose CB Exchange Server Sync Tool is an ideal solution. The CB Exchange Server Sync Tool is an application dedicated to synchronize Microsoft Exchange user folders. Users and folders can be located either on the same version and instance of Exchange Server or they can be located on different instances. The tool uses a windows service which performs the synchronization between mailboxes in periodic runs. The tool also provides a graphical user interface to set up the synchronization properties such as connection string to the data source, target folders and synchronization period. The synchronization process runs in parallel with Microsoft Exchange Services in a nonblocking mode, therefore not influencing whatsoever in the general performance of Exchange Server itself. Key features Synchronize emails folders Synchronize contacts Synchronize tasks Synchronize calendar Synchronization between different Exchange versions Easy to install and to maintain Custom configuration for each synchronized user apart Provides run-time information about the executed synch operations Quality of Service One-way and two-way synchronization Supported Exchange Server versions: Microsoft Exchange Server: 2007 SP1 Microsoft Exchange Server: 2010 03 March 2016 Page 3/26
Microsoft Exchange Server: 2013 Microsoft Office 365 03 March 2016 Page 4/26
2 How it works The CB Exchange server sync consists of 3 basic components: CB Exchange Server Synchronization Service CB Exchange Server Sync graphical user interface Connect Bridge service CB Exchange Server Synchronization Service is the core of the application. It runs as a Windows service which role is to check the synchronization pairs for changes. This service uses the Connect Bridge service to connect to the Exchange Server transparently making all the required operations such as insert, delete, and update. CB Exchange Server Sync graphical user interface is a simple application that allows you to configure the CB Exchange Server Synchronization Service and displays you the activity of synchronization in real-time. In this application you have to configure the connection strings to Exchange Servers and the users and folders pairing. What is pairing? Pairing is necessary for the CB Exchange Server Synchronization Service to know which users/folders have to be synchronized. The CB Exchange Server Sync graphical user interface gives you a list of every user s folders and you can choose to synchronize all folders or just specified folders between the users. You can add as much pairs as you want so that the setup meets all your needs. Your setup is then saved so that if you need to do a restart you have all the previous settings loaded. In order for synchronization to work it is necessary to configure the permission settings of the synchronized accounts and also to set a master user with Owner permission level to the folders you need to synchronize. Root user Synchronized user s folders Synchronization Synchronized user s folders Root user is the user on each side of the synchronization part which are granted access to all the other synchronized users which are to participate in the synchronization. Thus 03 March 2016 Page 5/26
each user wishing to participate in the synchronization process needs to grant this root user Owner permissions. Any exchange user can become a root user if other users grant him the Owner permission level of their folders. This principle with a single root user is implemented in order to simplify the process and to avoid password-exposure of participating users. 3 System Requirements Prerequisites:.NET Framework (4.5) single windows machine (at least Windows 7 Service Pack 1, Windows 8 or higher) Connect Bridge Server with Exchange connector. CB Server can be installed on the host machine or on a remote machine. By default the installer contains already this component which is automatically installed and configured. One Exchange account for each Exchange server (login and password) 4 Synchronization process description The synchronization process is periodically executed after start. Application seeks for inserted, updated or deleted items on every side of the synchronization pair on each shot of the execution. When it finds a change in one side of the synch-pair it reflect this change on the other side. When deleted or updated items are being synchronized, it performs action according the last change by date/time. Synchronization is done in cycles, here named as iterations which runs periodically according to the application setup. The synchronization tool has connection credentials only of the two users who have been delegated to Owner items to multitude user s folders within their exchange. On this principles the root users can determine changes for each delegated mailbox and refer this changes to the other users which makes appropriate actions. 03 March 2016 Page 6/26
5 Installation The installation package contains all components: the CB Exchange Server Synchronization Service, CB Exchange Server Sync graphical user interface and the Connect Bridge Server Lite. To start the installation, run CB Synch setup.exe from delivered package (administrator privileges will be required during installation). First step is the installer introduction screen. Click Next to continue. If the prerequisites are missing on your computer the installer will give you the possibility to install them. The Connect Bridge Server will be automatically installed. After you install the prerequisites you must restart the machine. Install the required prerequisites and then click on button Next. The License Terms are displayed. Please read carefully the license terms, scroll down in the license window, click on I accept and then click on Next button to continue with the installation. 03 March 2016 Page 7/26
A window about the installation details is displayed. Choose the installation path or leave it by its default. By clicking on button Next the Installer will do a check of your system and give you the possibility to install the CB Synch components. Click on Install to start the installation. During installation the required files are copied, the services are installed and shortcuts in the Start menu and on the Desktop are created. 03 March 2016 Page 8/26
When clicking on Install button a Windows notification may appear to confirm the installation, click on Yes to continue. When installation is finished, the CB Exchange Server Synchronization Service and Connect Bridge Server Lite is started automatically so you can run the application right away. When installation is done, by clicking on Close you can close the installer. Clicking on Run CB Exchange Server Sync you can start the application. You can view also release notes by clicking on View Readme File. 03 March 2016 Page 9/26
5.1 Uninstall You can uninstall the application from Control Panel Programs and features. Find the application and click on uninstall. Warning: by uninstalling the application all files including the database and license information will be removed. 6 Configuration Before you start working with CB Exchange Sync you have to configure Connect Bridge Server with your Exchange Server. 6.1 Initial setup In order that the application to work properly the individual synchronized users have to grant appropriate permissions (Owner) to the root user. This can be done either from Microsoft Outlook, Microsoft Web Access, Connect Bridge Stored procedures or a PowerShell script. For example, we want to synchronize the folder Inbox between user1 and user3. We need to have then a third user, let say user2 which is the Root user. To setup the required permissions we have to set up the permissions to Owner for user2 on the folder Inbox on both synchronized users: user1 and user3. Please see the following image from our example. Setting this permissions was done using Microsoft Outlook. 03 March 2016 Page 10/26
If you want that private items to be fully synchronized you need to set up the permission so that the Delegate can see your private items. In Outlook you can set up this permission in the account settings and Delegate Access like in the picture bellow: 03 March 2016 Page 11/26
6.2 Tenants setup The application can work with multiple Exchange tenants in parallel. An Exchange tenant consists from a synchronization setup, between two Exchange servers, which runs independently from other tenants. You can set as many tenants as you want. For example between Exchange1 and Exchange2, other tenant between Exchange 3 and Exchange4, between Exchange1 and Exchange3 etc. For each tenant apart you have to set up the connection strings for connection to corresponding Exchange servers, set up the synchronization pairs and the rest of the settings. All settings are saved for each tenant apart and are automatically loaded at application start. 6.3 Creating the connection string The application needs two connection string: If using one Exchange server, you need to create two connection strings with the same ServerURL and put the credentials for the Root Users If using two Exchange servers, you need to create two connection strings with the ServerURL of each Exchange server and put the credentials for the Root Users. The previous image shows the start of the application. The first step is the creation of the connection strings which automatically created by the application. The parameters (1, 2) needed for creation of the connection string are: 03 March 2016 Page 12/26
UserName= the Exchange User Name of the Root Exchange User Password= the password of the Root Exchange User ServerUrl= https://192.192.192.192/ews/exchange.asmx this is the address of the Exchange Server RequestServerVersion= the Exchange Server Version identifier: for example: Exchange2010SP1 for Exchange Server 2010 with SP1. See the Connect Bridge Exchange plugin for more details and all the identifiers. After you put the required parameters you can test the connection by pressing button 3. If connection is successful you can press next (4) and set up the synchronization. 6.4 Setup the synchronization After you put the correct connection strings for the Root users you can go to the next step in setting up the synchronization. The following screen will appear: 6.3.1 Setup window description The previous image is the main screen of the application. Its components are marked with numbers: 1. This icon is showing that the synchronization is running. 03 March 2016 Page 13/26
2. The state of the synchronization: Stopped synchronization is not running, Running the synchronization is running. StopRequested synchronization is being stopped by user. Error an error occurred during synchronization, please check the log window or log files for details. 3. First filter This is used to find the user(s) you want to synchronize. Here you have to put a part of the user s name for the first Root User. 4. Second Filter This is used to find the user(s) you want to synchronize. Here you have to put a part of the user s name for the second Root User. 5. Find users by pressing this button the application starts to look for users which contain the text from 3 and 4 in their name. 6. Selected displays you the actual selected user and folder you select in part 10 left side. This folder will be later added to pairing. 7. Selected displays you the actual selected users and folders you select in part 19 right right side. This folder will be later added to pairing 8. Define Start Date for initial Synch if this is checked only items with the newer modification date than the selected date will be synchronized. 9. Include sub folders if checked all the subfolders (actual and new folders) of the selected folder in window 10 will be synchronized. The same for the right side. 10. Available Users after you perform a search using button 5, the application will give you a list and a folder structure of the found users using the filter from 3. Here you can select the users and folders which should be later on added to pairing. 11. Make Pair button this button is used for to create a pair of selected folders. After you do a search and application gives you the folder structure for the both sides (10, 19) you have to do a selection by clicking on one folder in window 10 and on one folder in window 19. The selections are then displayed in the text box 6 and 7. By clicking this button the selections from 6 and 7 will be added to the list of pairs (13) 12. Remove Pair button this button is used to remove a selected par from the list of pairs (13) 13. Defined Pairs this windows shows all the defined pairs that will be synchronized. You can add pairs or remove pairs. 14. Synch Period you can set how often should the application check the servers for new items or changes. 15. Start by pressing this button you start the synchronization process. There must be at least one pair defined in window 13. 16. Pause- by pressing this button you pause the synchronization process. You can resume it by pressing button 15. If the application is processing items then you will receive a warning message that the synchronization cannot be stopped. You have to wait until the synchronization cycle is finished then the pause will be activated. 17. Back button go to previous part of the application (setting up the connection strings) 18. Forward button go to the following part of the application (activity log) 03 March 2016 Page 14/26
19. Available Users after you perform a search using button 5, the application will give you a list and a folder structure of the found users using the filter from 4. Here you can select the users and folders which should be later on added to pairing. 20. Use last stamp if available the application is using a database to track all the operations and the state of the synchronization. This should be checked by default. By unchecking this option a full synchronization will be done without taking into consideration the last state of the synchronization process. 21. Number of items and number of synchronized items count of the current items in the selected folder. The synchronized items is counting the items that were synchronized. 22. ReadOnly if this is checked while creating a synchronization pair, the folder of the checked user will be read only no changes will be made to that folder. This is used for one way synchronization just from one user to other. 24. Save settings Save the defined settings to be loaded at next start. 03 March 2016 Page 15/26
6.3.2 Set up the synchronization pairs The following picture shows the synchronization pairs definition screen. After you perform a search for users accounts using the First Filter and Second Filter the application shows you the available user and the folder structure of each user. To add a synchronization pair follow the following steps: - Do a search for one user and the second user - Select one folder on the left side for the first user - Select one folder on the right side for the second user - Check the textbox 6 and 7 to be sure your selection is correct - Click on button Add pairs (11) to add a pair to Defined Pairs list You can also add all folders of the users by selecting the root folder and by checking the Include sub folder checkmark (9). The search parameters to find users can either be partial (incomplete names but must always start with the beginning of the user name) or complete mailbox address name of the user. There is a delay in the update of textboxes 6 and 7 depending on the number of items in the selected folder. This occurs because the application is counting the total items and the synchronized items (21) when you click on a folder. 03 March 2016 Page 16/26
6.3.4 one way synchronization There is also the possibility to do just one way synchronization synchronize items from one folder to another and not vice versa. To achieve this you have to check the ReadOnly checkbox before setting the pair for synchronization. The read only attribute is then set on the folder that belongs to the user on which the ReadOnly checkbox is checked. Using this, the application won t do any changes to that folder and items will be synchronized only towards the folder without read only attribute set. 6.3.5 Other settings If you are going to deal with a lot of items (more than 1000) it is necessary to change the EWS count limit on Exchange server: EWSFastSearchTimeoutInSeconds and EWSFindCountLimit properties. Please refer to Microsoft documentation on how to change these parameters. 7 Running the synchronization After you set up the accounts permissions, the connection strings for root users and you define the synchronization pairs you can press the Start button (15) to start the synchronization. CB Exchange Server Synchronization Service must be running. The first synchronization may take a longer time, depending on the amount of items that are present in the user s folders. 7.1 Synchronization activity If you want to change the synchronization period (14) you can do it before starting the synchronization process or even during the synchronization process. During the synchronization process you can view the actions that the CB Exchange Server Synchronization Service performs: 03 March 2016 Page 17/26
In process log window 3 you can see all the actions performed: Deletion, Inserted Items, Deleted Items and errors. The items with errors are items that were not synchronized. These items have to be synchronized manually. Check boxes in section 2 and 3 are used to filter the information showed in the grid no. 3. To clear the actions table press the button 4. Button 5: previous window. 7.2 Synchronization features Depending on which folders you choose to synchronize the following items can be synchronized: 7.2.1 Emails folders The application is synchronizing the Inbox folder, Deleted Items folder and Sent Items folder and their subfolders (if the option is selected). The following synchronizations are done: Item Features Supported Email folder Update-Rename only Move to other folder Delete 03 March 2016 Page 18/26
Item Features Supported Email item Create Add new subfolder With html body (pictures, tables, formatted text, WordArt, links etc.) With attachments With changed Reply To attribute With category With follow up With importance With sensitivity With voting buttons With hidden copy With Cc Move to other folder Delete email Draft emails New emails Edit emails Assign email as task Forwarded email attribute Missed call email Automatic reply emails Voice emails and other Microsoft Exchange Unified Messaging items no no partial Note that synchronized emails that are protected with Information Rights Management may not open on the second user to which this email was synchronized. For more information please see Microsoft documentation: Information Rights Management in Exchange Server. 7.2.2 Contacts folder The application is synchronizing the Contacts folder The following synchronizations are done: 03 March 2016 Page 19/26
Item Features Supported Contact item With html Notes (pictures, tables, formatted text, WordArt, links etc.) With attachments With all fields With contact picture With follow up With a new field defined by user With sensitivity With categories With private attribute Edit contact Delete contact Create contact 7.2.3 Tasks folder The application is synchronizing the Tasks folder The following synchronizations are done: Item Features Supported Task item With html body (pictures, tables, formatted text, WordArt, links etc.) With attachments With assign task attributes With category With follow up With priority With sensitivity With daily recurrence every x days With daily recurrence every weekday With daily recurrence regenerate new task With daily recurrence No end date, End after, End by 03 March 2016 Page 20/26
Item Features Supported With weekly recurrence every x weeks With weekly recurrence selected days With weekly recurrence regenerate new task With weekly recurrence No end date, End after, End by With monthly recurrence On day x of every y month With monthly recurrence on specified day of month With monthly recurrence regenerate new task With monthly recurrence No end date, End after, End by With yearly recurrence on a date in a specified month With yearly recurrence on a day in a specified month With yearly recurrence regenerate new task With yearly recurrence No end date, End after, End by With all the details Percentage of completion Status of the task With reminder With importance Mark complete Edit task Delete task Create task Edit one occurrence from a recurrence task Delete one occurrence from a recurrence task Microsoft Exchange Unified Messaging items partial 03 March 2016 Page 21/26
7.2.4 Calendar folder The application is synchronizing the Calendar folder The following synchronizations are done: Item Features Supported Appointment item With html body (pictures, tables, formatted text, WordArt, links etc.) With attachments With Show As: Free, Busy, Tentative, Out of Office etc. With category With all the details With priority With sensitivity With daily recurrence every x days With daily recurrence every weekday With daily recurrence No end date, End after, End by With weekly recurrence every x weeks With weekly recurrence selected days With weekly recurrence No end date, End after, End by With monthly recurrence On day x of every y month With monthly recurrence on specified day of month With monthly recurrence No end date, End after, End by With yearly recurrence on a date in a specified month With yearly recurrence on a day in a specified month With yearly recurrence on a date in a specified month 03 March 2016 Page 22/26
Item Features Supported With yearly recurrence No end date, End after, End by With reminder With importance Time Zones Mark complete Edit appointment Delete appointment Create appointment Edit one occurrence from a recurrence appointment Delete one occurrence from a recurrence appointment 7.3 Additional information 7.3.1 Synchronization conflicts The synchronization is running in cycles (iteration) and in one cycle multiple actions are processed. There is the possibility that during one cycle two operations are done on one item. For example: - One user deletes the email and at the same time other user changes the category of the email. The actions priority are: Insertion, Update, and Deletion of items. In this example case, the email will be deleted but will appear again with the new category as the update operation has a higher priority. 7.3.2 Running multiple instances Be aware of running multiple instances of the synchronization tool. There is the risk that if you set the same folder pairing on multiple instances then duplicates of items can be created! 7.3.3 Synchronized folder space While synchronizing folders please make sure that the synchronized folder has enough free space to synchronize the items otherwise some items may not be synchronized. 7.3.4 Exchange server connection failure When the connection to Exchange server fails while one cycle of synchronization (iteration) is processed it is possible that the items from that synchronization cycle won t be 03 March 2016 Page 23/26
completely synchronized. Anyway when the connection is recovered, application will detect the connection state and will start the recovery process which resumes from last cycle. The items will be then correctly synchronized. 7.3.5 Stop/pause synchronization Synchronization cannot be stopped in the middle of iteration as it may cause incorrect synchronization. When you click on Stop button, the application state changes to StopRequested. In this state the application is waiting for the last iteration to finish and then stops. After a couple of minutes you ll see the status Stopped. 7.3.6 Stop the service Before you turn off the service/computer you should stop the synchronization and wait for status Stopped and then turn off the service or computer. In despite of recovery functionality after an incorrect state it is recommended to stop the synchronization in this way first to ensure that synchronization iteration is not interrupted in the middle of processing items. 03 March 2016 Page 24/26
8 Troubleshooting This section describes the possible problems that you might face off and proposes the possibility find the issue in quick way. 8.1 Log files CB Exchange Server Synchronization Service creates a log file by default. The log file is located in C:\ProgramData\\CB Exchange Server\Logs folder. Each of tenant has own directory for log file. The structure is similar like at the pictures below. The logging error information can also be found in Windows Event Viewer. If any problem occurs during the configuration process or synchronization which you are not able to solve on your own, please contact the CB Exchange Sync tool support. 8.2 Quick help Here are presented the most often problems that may occur and how to resolve these problems. If the application fails to start: - Check if the CB Exchange Server Synchronization Service is running by going to Control Panel -> Services and try to find the service named: CB Exchange Server Synchronization Service. Check if the state of the service is set to Running. If not then right click on the service and select Start - Check if the CB Exchange Server Synchronization Service can connect with Connect Bridge Server. There may be a firewall blocking the ports. If the application does not find any users: - Check if the connection strings are correct. - Check if the word you put in the search text box is correct (try to use the same letters as the name of the users including capital letters) - In case that Connect Bridge Server is running on other machine check the connection to that machine 03 March 2016 Page 25/26
- Check if the permission for the folders to synchronize in Microsoft Exchange Server are set to Owner for the Root User If the application is not synchronizing: - Check if the application setup is correct: connection strings, Exchange Folder permissions, address of Exchange Server, login credentials etc. - Check if the folder you want to synchronize is defined in the pairing window For more details about the issue why the application is not working properly you can find more information in the Synchronization activity of the application, application s log or Connect Bridge Server logs. 03 March 2016 Page 26/26