My favorites | Sign in
Google
                
Search
for
Updated Jul 27, 2009 by darrell.kuhn
Labels: Deprecated
PluginGuide  

This Plugin Guide is Deprecated. The Groupwise Plugin Is NOT supported. Use the Google Calendar Sync Service.

Google Calendar Connector Plug-in Installation and Configuration Guide 1.2

The Google Calendar Connector Plug-in utilizes the Novell GroupWise Connector for Microsoft Exchange and retrieves Google Calendar free/busy data in real-time. This document gives instructions for installing and configuring the Google Calendar Connector Plug-in. Contents

  1. Background
    1. For More Information
  2. Prerequisites
  3. Installation of Novell GroupWise connector
    1. Run Microsoft Exchange setup
    2. Install Microsoft Exchange calendar connectors
    3. Reinstall any service pack and hotfixes
  4. Configuration of Novell GroupWise connector
    1. Create an Active Directory Organizational Unit
    2. Create a shared folder for PlugIn
    3. GroupWise connector options
    4. Configure the Calendar Connector
  5. Google Calendar Connector PlugIn Installation
    1. Install the Google Calendar Connector PlugIn
    2. Define LDAP filters Optional
    3. Mail routing for Google Apps contacts
    4. Install PlugIn as a service
    5. Test configuration with Exchange gwrouter
    6. Start Connector for Novell GroupWise
    7. Start Router for Novell GroupWise
    8. Force an initial synchronization
    9. Start the Microsoft Calendar Connector service
  6. Installation Success
    1. Execute Selftest
    2. Review the output of Selftest
    3. Verify Calendar Look up
  7. Enable Automatic Startup for Services
    1. Enable Services
  8. Config Password Encryption
    1. Enable Encryption for Config Passwords
    2. Enabled Certificate Enrollment
    3. Grant Administrative Rights
    4. Enroll in Certificate
    5. Configure Service to Run As User Account and Encrypt Passwords
  9. Troubleshooting
  10. Copyright Notices

1 Background

The Google Calendar Connector Plug-In service allows Microsoft Exchange (i.e. Outlook) users to see free/busy information for their Google Calendar colleagues from within the Exchange environment. As Microsoft only provides two first-party connectors for its calendaring system, Google has utilized one of these, the Novell Groupwse Calendar Connector, to aid in sharing free/busy information.

The Google Calendar Connector Kit is a set of server-installed tools that require knowledgeable installation and configuration, tailored to the particulars of a customer's environment. These tools are only the technological part of the integration experience.

Before proceeding to install the Google Calendar Connector Plug-In, please read and understand the important Security Considerations outlined in the Overview Guide.

The Google Calendar Connector Plug-In, in particular, requires a sophisticated knowledge of Exchange system administration.

For More Information

This document is part of the Google Calendar Connector document set, which includes the following related documents:

  • Overview Guide. Describes the components, process flow, and security considerations for the Google Calendar Connector Kit.

For background or general information on Google Apps, see the Google Apps for Administrators Help Center.

For background or general information on Windows administration, see Microsoft TechNet.

2 Prerequisites

In order for the Google Calendar Connector Plug-In to work, please make sure your environment satisfies the following requirements:

  1. Own a Google Apps Premier Edition domain.
  2. The Java SE Development Kit (JDK) 6 Update 2 (or later) must be installed. This is necessary because the Google Calendar Connector Plug-In is written in Java. JDK 6 Update 2 can be downloaded from http://java.sun.com/javase/downloads/index.jsp.
  3. The Microsoft .NET 2.0+ run-time environment must be installed. The .NET run-time is required by the FreeBusyBuilder supplemental process.
  4. The Provisioning API must be enabled for your Google Apps domain (via the Administrator control panel). The Provisioning API allows the Google Calendar Connector Plug-In to programmatically access Google Apps accounts on your domain. To learn more about the Provisioning API, please visit http://code.google.com/apis/apps/gdata_provisioning_api_v2.0_reference.html.
  5. Access to an administrator account on your Google Apps domain. The Google Calendar Connector Plug-In will use this account to retrieve account and calendar information for your domain. This account should be dedicated for this purpose and not used concurrently by users or admins. The Plug-in periodically accesses your Google Apps domain, and any user sessions will be invalidated, logging the user out. Google recommends creating a specific administrator account for free/busy look up purposes.
  6. Your server should be running Microsoft Exchange Server 2003 with SP2 or later.
  7. Your server should be running Windows Server 2003 with IIS 6.0.
  8. You need a local replica of the SCHEDULE+ FREE BUSY public folder on the Exchange server running the Google Calendar Connector Plug-In. This requirement is related to the Microsoft Calendar Connector.

More information about implementing connectivity between the Google calendar connector plug-in and Exchange is available at http://technet.microsoft.com/en-us/library/bb124065.aspx

More information about setting up a local replica of the SCHEDULE+ FREE BUSY Public Folder is available at http://technet.microsoft.com/en-us/library/bb124487.aspx

The Microsoft documentation above explains Groupwse is limited to retrieving a maximum of 389 days of free/busy information. Trying to retrieve more will result in no data being returned.

3 Installation of Novell GroupWise connector

Overview

The first step consists of installing and configuring the first-party Novell Groupwse Connector for Exchange developed by Microsoft. After installing the connector, you may have to re-install any service packs and hot-fixes you applied to the original Exchange install. This is not a Google-specific requirement.

Run Microsoft Exchange setup

Depending on your installation, you may want to run either i386/setup.exe from your Exchange 2003 source installation folder or go to Add/Remove Programs on the Windows Control Panel and select "Change/Remove" Microsoft Exchange.

Install Microsoft Exchange calendar connectors

Installing the Groupwse and Calendar connectors creates an interface by which the Google Calendar Connector Plug-In can interact with Exchange. Make sure to install both the Microsoft Exchange Connector for Novell Groupwse and the Microsoft Exchange Calendar Connector.

Exchange will now install the new connectors. After setup is complete, you may be prompted to re-install an Exchange Server service pack.

Reinstall any service pack and hotfixes

Updating the components of Microsoft Exchange in the previous step may have overwritten some changes made by service packs, you will need to reinstall the latest Microsoft Exchange 2003 Service Pack.

NOTE: For information on applying hotfixes and patches to Exchange, refer to http://support.microsoft.com/kb/328839

  • 3.3.1. Download Exchange Server 2003 Service Pack 2 (or later) from http://technet.microsoft.com/en-us/exchange/bb288486.aspx
  • 3.3.2. Run the installer.
  • 3.3.3. Pick a temporary directory to store the extracted setup files.
  • 3.3.4. Run the Service Pack updater by executing update.exe in the E3SP2ENG\setup\i386 directory.
  • 3.3.5. Agree to the Terms of Service.
  • 3.3.6. Select components to update.

Service Pack 2 for Exchange Server 2003 will now be installed and it will update the components marked with the "Update" Action.

4 Configuration of Novell GroupWise connector

Overview:

This install stage involves relatively standard configuration of the Novell Groupwse connector. This step is concerned with specifying where the connector files are located on disk, how Groupwse (re: Google) users are treated in Active Directory and how the Novell connector should behave. Notice that this configuration is achieved entirely through built-in Exchange and Active Directory tools.

Create an Active Directory Organizational Unit

Microsoft recommends allocating a special Active Directory Organizational Unit for Groupwse (re: Google Apps) contacts (http://technet.microsoft.com/en-us/library/aa998406.aspx). During the process of full directory synchronization, when the Google Calendar Connector Plug-In returns contact information to Exchange, this organizational unit will be populated with the relevant users. After each directory synchronization initiated over the Novell API Gateway, Active Directory will contain a full set of Google Apps contacts in the special Organizational Unit. These contacts are used by Microsoft Exchange. You can configure a whitelist and blacklist to control what users are include or excluded from this import. Refer to section 5.2 Define LDAP filters Optional for details.

  • 4.1.1. Open the Active Directory Users and Computers management interface.
  • 4.1.2. Right-click on the root domain and select New->Organizational Unit.
  • 4.1.3. Name the Organizational Unit "GoogleApps" and press OK.

Create a shared folder for PlugIn

Create a local shared folder that will serve as the API Gateway Path for the Novell Groupwse connector. General Microsoft configuration instructions for the Groupwse connector can be found here: http://technet.microsoft.com/en-us/library/bb124483.aspx. Since the Google Calendar Connector Plug-In is running locally instead of on a remote Novell Gateway server, we need to create a local Exchange-accessible shared folder to serve as the API Gateway Path.
  • 4.2.1. Open the Computer Management console.
  • 4.2.2. Expand the local computer management tree until folder shares are visible.
  • 4.2.3. Right-click "Shares" and select "Create a New Share"
  • 4.2.4. Click "Next" and define a path to the folder you will use for the Google API Gateway. It cannot be located on a network mapped drive. A suggested path is: "C:\Program Files\Google\Google Calendar Connector Plug-In\".
  • 4.2.5. Respond "Yes" when prompted to create the folder.
  • 4.2.6. Add a description of your choosing to the folder share. We suggest: "Google Calendar Connector Plug-In UNC Working Share". Note that the share path is \\{Exchange Server}\{Share Name}.
  • 4.2.7. Select the permissions option "Administrators have full access; other users have read-only access."

Configure GroupWise connector options

Next we configure the Exchange Connector for Novell Groupwse to utilize the appropriate locally shared API Gateway folder, act on all Google contacts, store imported contacts in the correct Active Directory Organizational Unit and schedule directory synchronization. For details on general configuration, refer to Microsoft's guide to configuring the Groupwse connector (http://technet.microsoft.com/en-us/library/bb124483.aspx).

  • 4.3.1. Open the Exchange System Manager console.
  • 4.3.2. Expand the Connectors tree to select the "Connector for Novell Groupwse"
  • 4.3.3. Right-click on the connector and select "Properties".
  • 4.3.4. On the General tab, set the "API Gateway Path" to the share path you specified in Step 4.2.4. For example, if your API Gateway folder is C:\Program Files\Google\Google Calendar Connector Plug-In\ with a share path of \\{Exchange Server}\Google Calendar Connector Plug-In, set the API Gateway Path to: \\localhost\Google Calendar Connector Plug-In
  • 4.3.5. Click "Modify" next to the Netware Account field and enter the account details for a user who has full access privileges to the local share path. This is the account that the Novell Groupwse connector will use to read and write to the directory. NOTE: This account should be a local account on the server and be a member of the local Administrators group. We recommend creating a new local account for this specific purpose instead of using the existing local Administrator account.
  • 4.3.6. Move to the Address Space tab, since you need to assign at least one address space to the connector
  • 4.3.7. Choose "Add", select "GWISE" and press "OK".
  • 4.3.8. In the dialog that appears, put an asterisk (*) in the address field and press "OK". This enables the Groupwse connector for all users with a GWISE address. All free/busy requests for Google Apps users will be routed through the Novell Groupwse connector and then the Google Calendar Connector Plug-In service.
  • 4.3.9. On the Delivery Restrictions tab, ensure that "Accepted" is selected.
  • 4.3.10. Move to the Dirsync Schedule tab and specify the Exchange Groupwse directory update schedule to "Run Every Hour". This will specify the frequency at which the Novell Groupwse connector will try to synchronize directory information between Exchange and your Google Apps domain.
  • 4.3.11. Move to the Import Container tab, and select "Modify" next to the "Container" field
  • 4.3.12. Specify the Organizational Unit "GoogleApps", which you created in Step 4.1.3. This path is where the Groupwse connector will create contact objects for each Google Apps user accounts. NOTE: If there is an existing account in Exchange with the same SMTP address as Google Apps user no contact will not be created in this case.
  • 4.3.13. Acknowledge that the machine account running the Groupwse connector must be able to modify user accounts by selecting "Yes" to the popup. Notice that the Container now specifies GoogleApps.
  • 4.3.14. Move to the Export Containers tab and uncheck "Export groups". Verify that "Export contacts" is already unchecked. You do not need to export the Exchange users for this connector to work.
  • 4.3.15. Press "Apply" and "OK" to save changes.

Configure the Calendar Connector

Microsoft Exchange's Calendar Connector enables the sharing of free/busy information between Exchange and the Google Calendar Connector Plug-In. We will configure Calendar Connector's awareness of the Novell Groupwse connector and its update schedule.

5 Google Calendar Connector PlugIn Installation

Overview

This is the final stage of the installation process, which involves bridging the Novell Groupwse API Gateway folder with the Google Calendar Connector Plug-In. This stage will also cover the configuration and installation of the Google Calendar Connector Plug-In as a Windows service. Both the connector for Novell Groupwse and the Calendar Connector will be enabled. This process can be subdivided into the following areas:

NOTE: Backslashes in config.txt must be escaped with another backslash. E.g., to set C:\Program Files, you should enter C:\\Program Files in config.txt

Install the Google Calendar Connector PlugIn

This step copies the actual Google Calendar Connector Plug-In files into their install locations.

NOTE: You must grant the account that runs Java run-time MODIFY access to your log file. If not using password encryption this is the "SYSTEM" account. If using password encryption this is the user service account defined to run the service-.
  • 5.1.8. (Optional) Enable web request proxying for Google Apps data. This configures Google Calendar Connector Plug-In to send its web requests to Google Apps through your organization's proxy server. Un-comment the general.httpProxy and/or general.httpsProxy lines, depending upon whether your proxy server supports only regular HTTP or HTTPS. Enter the DNS or IP addresses and ports of your company's web proxy(s). For example, if your HTTP proxy is http-proxy.acme.com port 8000, you would enter: general.httpProxy=http-proxy.acme.com:8000.
  • 5.1.9. Set gdata.username to an administrator account on your Google Apps domain. For Example: gccplugin@acme.com. This is the Google Apps account that will be used to access Google Calendar free/busy information. It is important that this account does not need to be used on a regular basis by a user because the use of this service may interfere with existing open sessions on the account.
  • 5.1.10. Set gdata.password to the corresponding password for the administrator account.
  • 5.1.11. Set gdata.domain to your Google Apps domain. For Example: acme.com.
  • 5.1.12. Check your configuration against the following checklist:

Define LDAP filters Optional

Configuration Key Description Default Value
general.baseDirectory This setting defines the base directory where the Google Calendar Connector Plug-In is installed. This is also the API Share Path where the Exchange connector expects to find the API_IN and API_OUT folders. For Example: general.baseDirectory=C:\\Program Files\\Google\\Google Calendar Connector Plug-In C:\\Program Files\\Google\\Google Calendar Connector Plug-In
general.logFile This setting defines the path and file name for the Google Calendar Connector Plug-In log file. For Example: general.logFile=c:\\Google\\logs\\!PlugIn.log C:\\Google\\logs\\Google Calendar Connector Plug-In.log
general.verboseLogging Setting this value to "true" enables verbose output in the general.logfile for debugging purposes. For Example: general.verboseLogging=true false
general.logMessages Setting this value to "true" logs all incoming Groupwse API requests and the responses generated by the Google Calendar Connector PlugIn. For Example: general.logMessages=true NOTE: These log files are written to the WPCSIN folder defined by general.basedDirectory. false
general.httpProxy This setting enables HTTP proxy support. The setting defines the proxy server address and port that all web requests will be forwarded through. For Example: general.httpProxy=http-proxy.acme.com:8080 DISABLED
general.httpsProxy This setting enables HTTPS proxy support. The setting defines the proxy server address and port that all web requests will be forwarded through. For Example: general.httpsProxy=https-proxy.acme.com:8181 DISABLED
gdata.username Admin user name used to login to the GData service for the Google Apps domain. For Example: gdata.username=gccplugin@acme.com NOTE: This user account must be granted administrator privileges within your Google Apps domain. The provisioning API must be enabled for the Google Apps domain as well.
gdata.password The password for the gdata.username login to the Google Apps domain. For Example: gdata.password=adminpassword01
gdata.domain The Google Apps domain name. For Example: gdata.domain=acme.com
fbfix.command The executable filename of a helper process for the Google Calendar Connector plug-in. This tool verifies that Google Apps users are correctly registered in the Exchange free/busy store so free/busy lookups are routed through the Groupwse/Google Calender Connector PlugIn. For Example: fbfix.command=freebusybuilder.exe freebusybuilder.exe
fbfix.timeout Specifies the number of seconds before the fbfix.command is killed. For Example: fbfix.timeout=60 60
fbfix.frequency Specifies the interval in seconds at which the Google Calendar Connector Plug-in will execute the fbfix.command. For Example: fbfix.frequency=1080 1080
win.certname This setting defines the name of the certificate in the user's Personal certificate store to be used for encryption of the passwords in the config.txt This setting is typically the "Issued To" value or CN of the user who requested the certificate. For Example: win.certname=pluginsvc DISABLED

An optional step in setting up the Google Calendar Connector Plug-In is specifying a whitelist or blacklist LDAP query in config.txt. This is useful if your organization has users who exist in both Active Directory and Google Apps. This feature allows you to control what accounts are imported into Exchange to support Exchange lookup of a Google Apps user's free/busy data.

This LDAP query is either a:

This is an important feature for environments with users who exist in both Active Directory and Google Apps, but who are to be excluded from the Google Calendar Connector Plug-In.

NOTE: If neither ldap.whitelist or ldap.blacklist is uncommented, no LDAP filter will be applied. If no ldap.domainMap is configured then SMTP address matching will not take effect and the whitelist or blacklist filter is not applied.

Configuration Key Description Default Value
ldap.url This setting specifies the Active Directory LDAP server to connect to. For Example: ldap.url=LDAPS://ldap1.acme.com
ldap.user The userPrincipalName for the user account used by the plugin to perform Active Directory queries for ldap.whitelist and ldap.blacklist values.
ldap.password The password for the ldap.user account
ldap.authMethod This setting defines the authentication method used to access LDAP; supported modes are "simple"and "DIGEST-MD5". Default method is "DIGEST-MD5" if none is specified. NOTE: To use DIGEST-MD5, the configured windows user account in Active Directory must have enabled "Store password using reversible encryption" set via Active Directory Users and Computers. Once this value is enabled the password must be changed in order to store the password in the reversible encryption format. simple
ldap.base The search base DN for the ldap.blacklist and ldap.whitelist queries.
ldap.blacklist This setting defines an LDAP filter of users to exclude from the Google Apps directory sync import. For Example: ldap.blacklist=(&(objectClass=user)(msExchHomeServerName=*)) This filter returns a list of all user objects that have an Exchange mailbox.
ldap.whitelist This setting defines an LDAP filter of users to include in the Google Apps directory sync import. For Example: ldap.whitelist=(mail=*@exchange.acme)(objectcategory=person) This filter returns a list of all user and contact objects that have an internal mail address of @exchange.acme.com. This includes mailbox enabled users, mail enabled users and contacts.
ldap.blindfaith Enables the Google Calendar Connector Plug-In to accept any TLS certificate when connecting to a secure LDAP server regardless of whether the certificate is trusted by a Certificate Authority listed in the machine's Trust Root Certificates certificate store. true
ldap.domainMap This setting allows the definition of SMTP domain name mappings. This value is used in conjunction with ldap.blacklist and/or ldap.whitelist. The mapping is applied to the LDAP black/white list response and is used to match against the Google Apps user SMTP address returned from the GData API. This setting maps an internal SMTP address from Exchange to the Google Apps SMTP address. For Example: ldap.domainMap=exchange.acme.com,acme.com An Exchange user has the primary SMTP address of user@exchange.acme.com would match with the Google Apps user which has the SMTP address user@acme.com. To configure multiple domain mappings use ";" as the delimiter between the domain mapping values. For Example: ldap.domainMap=acme.com,exchange.acme.com;company.com,exchange.company.com

Mail routing for Google Apps contacts

In order for mail to be correctly routed to Google Apps users, we tell the directory sync to write the Google Apps users' SMTP mail addresses as their contact objects' target email addresses. By default, the Novell Groupwse connector will have mapped the namespaces in a safe but incompatible format for Google Apps. We will re-configure the default mapping from Groupwse to Active Directory so that the Google users' Active Directory targetAddress attributes point to their Google Apps email addresses.

This allows the Google Apps users' free/busy information to be made available to Exchange users via the Novell Groupwse connector, and their mail to be delivered to their Google Apps accounts via the standard SMTP routing from Exchange.

This requires a two-step process: Properly define the mapping of Google Apps users mail attributes into variables that the Novell Groupwse connector can understand. Map the Google Apps email address variable to Active Directory as an SMTP e-mail address.

NOTE: Although the specific values described below may differ across environments, the end goal of this step is always to set the targetAddress Active Directory attribute to SMTP:user@acme.com.

TA {some number like 64, 256} targetAddress exists. Do not make any changes to this line.
NOTE: Do not use TAB for spacing. Only use spaces for whitespace
NOTE: If you are concerned, for other reasons, about overwriting an existing mapping by changing the value of the variable TA, you can use the alternative method below:
NOTE: An alternative method to the one described above is to add the following new line to mapgwise.tbl:
Set GAPPSALIAS = "SMTP:" OBJECT Then to modify the targetAdress mapping in mexamap.tbl to GAPPSALIAS 256 targetAddress

Install PlugIn as a service

Test configuration with Exchange gwrouter

This is an optional step that can be used to verify the correct functioning of the services activated to this point. Following this step will allow Exchange to verify that it can reach out to the Novell Groupwse API Gateway folders that the Google service created.

Start Connector for Novell GroupWise

After installing all of the connectors, they need to be activated. First, we activate the Microsoft Exchange Connector for Novell Groupwse.

Start Router for Novell GroupWise

Next, activate the Microsoft Exchange Router for Novell Groupwse.

Force an initial synchronization

Now that the basic connectors are connected and routing, we initiate an immediate full reload for directory synchronization. This will populate the GoogleApps Organizational Unit in Active Directory, which Microsoft Exchange uses. NOTE that the Calendar Connector has not yet been started.

Start the Microsoft Calendar Connector service

Finally, we enable the free/busy lookup service.

6 Installation Success

All necessary services should now be correctly installed and configured for Exchange users to see free/busy information for Google Apps users. This section is intended to verify the correct configuration and functioning of your deployment.

First, we will independently run Selftest.exe, an automated testing script that verifies:

  • Java 6 Update 2 or later is installed correctly
  • The API Gateway Share Path is accessible
  • Your Google Apps domain is accessible via GData
  • The Provisioning API is accessible for your Google Apps domain
  • If defined, the LDAP query and filter complete successfully.
  • Config.txt contains the correct configuration information to complete the above tests successfully.

NOTE: !Selftest.exe will not be able to confirm that you have configured Microsoft Exchange and the Groupwse connector correctly.

Next, we will use Microsoft Outlook to complete an end-to-end verification test by creating a new appointment and inviting Google Apps users to attend. Along the way, we will view their Google Apps free/busy information from within Microsoft Outlook.

Execute Selftest

Review the output of Selftest

If you see the final output line: "All tests passed you're good to go :-)", !Selftest.exe has completed successfully. A sample execution of !Selftest.exe has been included below for comparison.

  C:\Program Files\Google\Google Calendar Connector Plug-in\bin>Selftest.exe
  ResourceManager resource configuration:
  - Resource category: JAVA
  - Current directory: C:\Program Files\Google\Google Calendar Connector Plug-in\bin\
  - Property count: 16
  - Property:  =<>
  - Property: arguments=<>
  - Property: currentdir=<${EXECUTABLEPATH}>
  - Property: embedjar=<true>
  - Property: initialheap=<67108864>
  - Property: javapropertiescount=<1>
  - Property: javaproperty_name_0=<config>
  - Property: javaproperty_value_0=<config.txt>
  - Property: jvmsearch=<registry;javahome;jrepath;jdkpath;exepath;jview>
  - Property: mainclassname=<com.google.calendar.interoperability.connectorplugin.Selftest>
  - Property: maxheap=<134217728>
  - Property: maxversion=<>
  - Property: minversion=<1.6>
  - Property: skel_Debug=<1>
  - Property: skel_Message=<This program needs Java to run. Please download it at
  http://www.java.com/en/download>
  - Property: skel_PressKey=<0>
  Now searching the JVM installed on the system...
  JVM Lookup: found VM (V(1)(6)(0)) in registry.
  JVM Lookup: found VM (V(1)(6)(0)) in registry.
  JVM Lookup: found VM (V(1)(6)(0)) in registry.
  JVM Lookup: found VM (V(1)(6)(0)) in registry.
  JVM Lookup: Env-Var JAVA_HOME not defined on this system.
  JVM Lookup: Env-Var JRE_HOME not defined on this system.
  JVM Lookup: Env-Var JDK_HOME not defined on this system.
  Current directory is C:\Program Files\Google\Google Calendar Connector Plug-in\bin\
  JSmooth will now try to use the VM in the following order: registry;javahome;jrepath;jdkpath;exepath;jview
  ------------------------------
  Trying to use a JVM defined in the registry (4 available) VM will be tried in the following order: 1.6.0;1.6.0;1.6.0;1.6.0;  
  - Trying registry: <C:\Program Files\Java\jre1.6.0_05><C:\Program Files\Java\jre1.6.0_05\bin\client\jvm.dll><1.6.0>
  Created temporary filename to hold the jar (C:\DOCUME~1\ADMINI~1.1BO\LOCALS~1\Temp\2\temp3.jar)
  NO JNI SMOOTH ID !!
  COMMAND: <"C:\Program Files\Java\jre1.6.0_05\bin\java.exe" -Xmx134217728 -Xms67108864 "-Dconfig"="config.txt" -classpath "C:\DOCUME~1\ADMINI~1.1BO\LOCALS~1\Temp\2\temp3.jar;" com.google.calendar.interoperability.connectorplugin.Selftest >
  Started successfully
  Loading configuration...
  ... Done
  Test base configuration...
  May 7, 2008 2:52:38 PM com.google.calendar.interoperability.connectorplugin.Main setProxy
  INFO: httpProxy not set, will not use proxy
  May 7, 2008 2:52:38 PM com.google.calendar.interoperability.connectorplugin.Main setProxy
  INFO: httpsProxy not set, will not use proxy
  May 7, 2008 2:52:38 PM com.google.calendar.interoperability.connectorplugin.Main  setUp
  INFO: base directory is C:\Program Files\Google\Google Calendar Connector Plug-In
  May 7, 2008 2:52:38 PM com.google.calendar.interoperability.connectorplugin.Main setUp
  INFO: Building scanner...
  May 7, 2008 2:52:38 PM com.google.calendar.interoperability.connectorplugin.Main setUp
  INFO: Building stage 1...
  May 7, 2008 2:52:38 PM com.google.calendar.interoperability.connectorplugin.Main setUp
  INFO: Building stage 2...
  May 7, 2008 2:52:38 PM com.google.calendar.interoperability.connectorplugin.Main setUp
  INFO: Building stage 3...
  May 7, 2008 2:52:38 PM com.google.calendar.interoperability.connectorplugin.Main setUp
  INFO: Building stage 4...
  ... Done
  Evaluating base directory...
  (Make sure that the Exchange side also uses C:\Program Files\Google\Google Calendar Connector Plug-In)
  ... Done
  Evaluating Connectivity to GData
  Performing a test user query for domain 1bot.info
  May 7, 2008 2:52:38 PM com.google.calendar.interoperability.connectorplugin.impl.google.GDataAccessObject retrieveAllUsers
  INFO: Retrieving all users.
  ... Done
  Evaluating LDAP filtering
  LDAP filter not used
  ... Done
  All tests passed -- you're good to go :-)

Verify Calendar Look up

7 Enable Automatic Startup for Services

Once the Verify Calendar Look up test has been completed, you are ready to enable the calendar services to startup automatically upon reboot. The following services should be set to "Startup Type" "Automatic" in the Windows Services Management Console:

Enable Services

8 Config Password Encryption

The config.txt contains passwords in plain text. To secure these passwords obfuscation or encryption is used so they are not saved is clear text. If win.certname is commented out obfuscation is used by default. The first time the service is started the passwords will be replaced with for example: _LDP_=-OB-fxtmpjZcmBgZHxhdyMh. The value LDP indicates the ldap.password password and GDP indicates the gdata.password. The "-OB-" after the equals denotes obfuscation was used and then is followed by the mask password. If certificate based encryption is used the value "-MS-" is used and is followed by the encrypted password.

Encryption is accomplished by using a user account enrolled with a user certificate. To accomplish this an Active Directory user account will need to be setup and enrolled with a certificate. The steps below detail how to accomplish this using a Microsoft Certificate Authority. The Google Calendar Connector Plug-in service is then configured to run under the security context of this user, which gives it access to the user's certificate private key which is used to encrypt the passwords in the config.txt file.

Enable Encryption for Config Passwords

Enabled Certificate Enrollment

Grant Administrative Rights

Enroll in Certificate

Configure Service to Run As User Account and Encrypt Passwords

9 Troubleshooting

NOTE: If you are using password encryption you must run the Selftest.exe as the user account which contains the "User" certificate.
Ensure the windows services are running:
  • Google Calendar Connector Plug-In
  • Microsoft Exchange Calendar Connector
  • Microsoft Exchange Connectivity Controller
  • Microsoft Exchange Connector for Novell Groupwse
  • Microsoft Exchange Router for Novell Groupwse

10 Copyright Notices

Library and license attributions are provided to conform with the Apache License, Version 2.0. A copy of the Apache License, Version 2.0 can be found here.

The following licenses and libraries are used in the Google Calendar Connector Plug-In:

The following licenses and libraries are used to build the Google Calendar Connector Plug-In:

  • Apache Ant Project and its dependencies licensed under the Apache License, Version 2.0. (project, license)

The following licenses and libraries are used for testing the Google Calendar Connector Plug-In:

The Google Calendar Connector Plug-In optionally supports, but does not require, building Windows executables using JSmooth. JSmooth is not distributed with the Google Calendar Connector Plug-In open source release and its use represents an optional step in the build process. JSmooth may be obtained and used in accordance with its license, both of which are provided below (for the sake of convenience):

JSmooth project: http://jsmooth.sourceforge.net JSmooth license: http://jsmooth.sourceforge.net/license.php


Google, Google Calendar, Google Calendar Connector, Google Calendar Connector Plug-In, Google Calendar Connector Sync Service, Google Calendar Connector Web Service are trademarks of Google, Inc.

All other company and product names may be trademarks of the respective companies with which they are associated.


Comment by sven.jambor, Sep 23, 2008

Question: since Exchange 2007 is not going to be supporting this connector any more: is there another release planned to be compatible with Exchange 2007?


Sign in to add a comment