U.S.A. Telephone Number (315) 849-2560  /  Europe Telephone Number : (+31)-186-669194  /  Email: Info@OpusFlow.nl

GroupCalendar Installation steps (Detailed but not complicated)
See step 12 for uninstallation or update from version 3.x to 3.x

 

1-       Create a new user account (GCadmin) in the active directory and give it a mailbox. This is the service account that we will refer to as “the Gcadmin” or “the Gcadmin account”
(when migrating from a previous groupcalendar version, create a new Gcadmin account. E.g. gcadmin2010). Membership of the group Domain Users is all it needs.

2-      Depending on your exchange version run one of the following two commands.

If you use Exchange 2007 run the following commands in the Exchange Shell:  
Note You will  have to adjust the commands If you use another service account name than GCADMIN
Note2: Make sure the command that you paste in the shell is one long line. You may want to copy it into notepad first.

Get-ExchangeServer | where {$_.IsClientAccessServer -eq $TRUE} | ForEach-Object {Add-ADPermission -Identity $_.distinguishedname -User (Get-User -Identity gcadmin| select-object).identity -extendedRight ms-Exch-EPI-Impersonation}

and after that run

Get-MailboxDatabase | Add-ADPermission -User gcadmin -extendedRights ms-Exch-EPI-May-Impersonate -InheritanceType none
 

         

If you have Exchange 2010 you run the following command in the Exchange Shell :  


         
New-ManagementRoleAssignment -Name:EGCimpersonation -Role:ApplicationImpersonation -User:gcadmin

 

    While you have the exchange command shell open anyway you can do a quick check to see if your autodiscover service is working as it should.
         For that run the command:   
Test-OutlookWebServices gcadmin |FL
        (again assuming the gcadmin name is gcadmin)  Check the output for errors and try to get them fixed when there are any or most probably you will run into problems with the installation or configuration.

  1. Download the EGC_EWS.zip file and extract it to a folder on any 64 bit computer or server that will not be shut down while Exchange server is being used.
    You can copy it to the Exchange server itself but that is not a requirement.
     
  2. You are free to run the Gcadmin.exe (console) on a desktop computer while having the processing component on any 64 bit server. To do that, simply copy Gcadmin.exe and the (64 bits) Microsoft.Exchange.WebServices.dll to the pc.  If the machine is using a 32 bit OS than you will have to install the 32 bit EWS 1.1 API from this url. http://www.microsoft.com/downloads/en/details.aspx?FamilyID=c3342fb3-fbcc-4127-becf-872c746840e1
     
  3. You can now start the GCADMIN.EXE.
    The console’s only function  is to compose a config.ini file for the processing part of the application. (You may edit the ini file manually too, for instance to copy a list of user email addresses to the [Users] section. See point 13.
    By default it will create the config.ini file in the directory where Gcadmin.exe is installed but the settings will not be used by the processing component if Gcadmin.exe is in another location than ExchangeGroupCalendar_EWS.exe. To prevent confusion it is best to click the “INI file” button on the bottom left and browse (over the network?) to select the config.ini file on the computer/server  that runs the EGC processing software.

     
  4. Now you can begin your configuration. The first thing to do is to enter the gcadmin account email address and password and click the “Test Credentials” button. 
    At the bottom of the console you will see what happens and if all goes well you will be notified there that you logged on to your server successfully. Read on at 7.

    If you can not log on and get a Autodiscover error: This can be caused by a problem with the certificates on your exchange server. It also helps to make sure that the gcadmin UPN and Email address is identical. See the FAQ for that.
    To test the services from the Exchange shell you can run the following command:
    Test-OutlookWebServices -Identity:gcadmin@domain.com |FL >c:\test.txt
    This creates a test.txt file in the root of the c drive. Look for errors related to your certificates and if there are errors you may find this video usefull:
    http://www.msexchange.org/articles_tutorials/videos/exchange-server-2010/video-certificate-wizard-Exchange-2010.html

    In the gcadmin console are some additional options to help you find the reason for the errors you may get. The [test SCP in AD] button locates the service point in the Active Directory which holds the information of you AutoDiscover URL. To test if you have a certificate problem you can try to [test credentials] with “ignore certificate errors” checked. And to overrule the URL that your autodiscover service returns you can manually set the url to the exchange services. That url has a format of
    https://server.domain.com/EWS/Exchange.asmx
    The three test options are there for trouble shooting only. Use them only to fix the errors that prevent the [Test credentials] button from logging on correctly.

 

  1. When you can log on correctly it is time to create one or more groupcalendar folders in the public folders store by using MS Outlook.
    You can give the group calendar any name you like and place it under any other folder but of course it must be a folder of type Calendar. When you open the properties/permissions of your newly created group calendar in Outlook you will see that you are the owner. It is vital that the gcadmin account is (also) designated as an OWNER of that group calendar. Admin users can be given the Editor role while normal users must have Author permissions so they can edit their own items but can not modify other items. For Users that are not a member of a group calendar the “folder visible” permission can be removed. Note: All members must have their mailbox on the server or group of servers that are being processed by the EGC software.

    You can add every individual user to the calendar and give them permissions but you can also use groups (distribution lists) and add all users with the same role to the same group in your active directory. Instead of defining permissions for individual users you can simply give the DEFAULT group Author permissions and add a couple of individual users who may act as Admin users with EDITOR permissions.
     

  1. In the GCADMIN.EXE add the Group Calendars to the list with a path in the form of “/folder/sub folder/sub sub folder” (for errors here check the FAQ) note that the first slash (/) indicates the level under “pulic folders/all pubic folders/” so if your groupcalendar is at level “pulic folders/all pubic folders/groupcal” you only enter /groupcal.

     
  2. Add all the user email addresses. You only have to add users that need to have their calendar items shared in the group calendar. Any user that only needs to see the content of a groupcalendar does not have to be added to the list. You can use the ENTER key after typing an email address to add the user. The user list is sorted, select a user in the list and type the first character of the name to jump to the name that starts with that character. You can not add groups/distribution list names here (yet). Add every individual email address or see step 13 to enter in bulk.
     
  3. Assign users to your groupcalendars. A user can be a member of one or more group calendars. Being a member means that the calendar items in the personal calendar can replicate (if filters permit) to the group calendar and the group calendar items may replicate back to the user calendar.

     
  4. If you need the functionality of Teams communicating with each other by the use of their PGC tick the checkbox in the group calendar members list to designate the selected group calendar as the Primairy Group Calendar (PGC) for that user. (read the concepts section for more info)

     
  5. Now it’s time to install the processing component that will be using the config.ini file to do the work. Browse to the folder where you copied the extracted zip file (from the console of that machine/server, not over the network) and edit the file RunEGCasService.ini.
    In that ini file you see
    command line and workingdir. Make sure that the path matches the install location of the ExchangeGroupCalendar_EWS.exe and close/save the file.
    So if you unpacked everything in c:\GroupCalendar then you should have in your RunEGCasService.ini the following:
    CommandLine = c:\GroupCalendar\ExchangeGroupCalendar_EWS.exe
    WorkingDir = c:\GroupCalendar


    Now run InstallService.bat and you’re done.
    (if installservice.bat gives an error then edit it to include the full path or run it from a command shell prompt after navigating to the folder).
    When you want to update the software you always first run UN-installservice.bat, replace the EXE files and then run installservice.bat. Do not overwrite your RunEGCasService.ini when you do an update.

    In Task Manager / Services you can see that the EGC-Service is running.
    Please make sure that you also see it running in Task Manager / Processes if you enable the check box “Show processes from all users” 

    In the gcadmin console is an option to enable logging to text file. Please enable that option to monitor the work that the service is doing.


     
  6. You can edit the config.ini file manually or from a script without using the Gcadmin console.
    If you want to copy a list of user email addresses to the [Users] section, make sure they all have a unique index (1=Jane@b.com / 2=jack@b.com etc) and in the [Indexes] section make sure that UserIndex=  corresponds to the last user index that was used in the [Users] list.
    More info about indexes:
    under [Indexes]
    Gcindex= max number of groupcalendars
    MemberIndex(number) = number of members of the groupcalendar with that number
    PGC-(number)= max number of users that have groupcalendar (number) as PGC
    under [PGC-number]
    number =number ; first number is just a counter, second number is the unique user number.

    Another thing you can do with the INI file (from a script) is to import the existing items of one or more users. The processing component will look for the following:
    Under the header [Import] you can see
    ImportNow=False
    PastDays=30
    FutureDays=30
    Users=a@b.com;c@b.com;d@b.com

    It's obvious that when you set False to True, that the import will start. If there are user email addresses in list with a “;” as separator it will import the items from their calendars. If no user names are specified then all user calendar items will be imported.

     

    With regards to testing the application on exchange 2010, please start your tests with only one single test user that has a newly created mailbox (not migrated) on the exchange 2010 server.  Do not use the Gcadmin account mailbox/calendar as test user!

     

    Test Scenario’s:

     

    The basics

     

    -          Create a normal item in the personal calendar of user 1

    -          See it replicate to all of the groupcalendars that user 1 is a member of.

    -          Change the subject of the item in the personal calendar of user 1

    -          See the changed subject replicate to all of the groupcalendar that user 1 is a member of

    -          Change the subject of the item in the groupcalendar (make sure to have public folder permissions to do that)

    -          See the changed subject replicate to the item in the personal calendar of user 1

    -          Add *X to the subject of the item in the group calendar

    -          See the item being deleted from user calendar and all groupcalendars.

     

    Admin tasks

     

    -          Create an item in the groupcalendar with a * in the subject

    -          See it replicate to all user calendars who are a member of this groupcalendar

    -          Move the item in the groupcalendar to another time or change the subject

    -          See the changes replicate to all personal calendars who are a member of this groupcalendar

     

    -          Look in the groupcalendar to check what the exact name is of another user. (say John)

    -          Create an item in your personal calendar OR in the group calendar with this subject
    #john# test

    -          Notice that it gets removed from the calendar where it was created (moved to John’s calendar)

    -          See that it shows up in the group calendar as [john] test

    -          Open the item in the groupcalendar and see that your name and the time of creation is logged.

     

    Demonstrate that users can not change Admin items

     

    -          Move the item in one of the user calendars (or change the subject or delete it).

    -          See the user changes being undone and the original item properties being restored

     

    Team tasks

     

    -          Create a normal item in the personal calendar of user 1 with a * in the subject.

    -          See the item being replicated to the groupcalendar that is this users’ PGC

    -          See that the subject has [.] in front of it to indicate a team item in the PGC

    -          Check the user calendars of the other team members and see the item there as well with a dot in front of the subject to indicate a team item.

    -          In any of the team members’ personal calendars, change the subject of the item and add a * to the subject

    -          see the changed subject in all other team members’ calendars.

    -          Admin only: Move the item in the PGC to another start time to see the item move in all personal calendars of the team too.

    -          In any of the team members’ personal calendars or in the PGC (as admin), add *X to the subject and see the item being removed from all team members’ personal calendars as well as their PGC.