Technical information on GroupCalendar™ for Outlook ®
is a com add-in, the GroupCalendar.dll, that combined with two executables,
GCHelper.exe en GCSystray.exe does the work.
The com add-in integrates with Outlook ® from where it monitors Outlook ® events related to the calendar of Outlook® .
Installing GroupCalendar™ creates two Jet databases (Ms Access 2000 format) in c:\Program Files\Group Calendar. GroupCalendar.mdb and Backdrop.mdb
These MS Access® databases don't need MS Access® to be installed on the computer. GroupCalendar™ will use the same JET technology as MS Access to use these databases.
The Jet technology is available by default on all Windows pc's.
starts up for the first time, it will create an INI file with default settings
for the logged on user. The database location in the INI will point to the
default database location in c:\Program Files\Group Calendar\GroupCalendar.mdb
. This default setting is fine to simply test the product in a stand-alone
situation without other users but the moment one wants to really share
information with others in a team setting it's necessary to share one copy of
the GroupCalendar.mdb somewhere on the network. (or use SQL server)
For larger workgroups from around 25 members it may be wise to use a Microsoft® SQL database as the central GroupCalendar™ database. The GroupCalendar.mdb file will no longer be used then. To create the database on the SQL server, a database creation script can be found in the program directory. The database administrator will have to create the user accounts that may access the database him/herself.
SQL over the Internet
When tcp/udp port 1433 on the firewall is being redirected to the internal SQL server IP address, users can connect to the database over the internet as well simply by specifying the public IP address of the router/firewall in the GroupCalendar™ database settings.
Backdrop.mdb is the local buffer on the client pc in case the central database is temporary not available. Everything a user does while not connected to the central database is batched in the Backdrop database until the connection is restored. When the connection to the central database is restored the content of the backdrop is moved to the central database and cleaned out from the backdrop.
The database structure is very simple. it holds only two tables:
where all appointment info can be found and,
- TB_Users where all user info is being stored.
It's possible to delete users from the users table when someone leaves the company and return the license to the license pool. Deleting records from the Appointments table will remove the corresponding appointment from the Group Calendar folder in Outlook after a resync.
It's wise to open the central database on a regular basis with MS Access® and select the 'compress/repair' option. This cleans and restructures the database and keeps it in good shape. However the penalty for not doing that is not severe. Even a backup is not realy needed.
It might sound strange but a backup is not really needed. If the central database would get corrupted, all one needs to get back in business is place a new clean database on the network. The moment that users start up Outlook® again, they will be welcomed to the new database an their future appointments can be exported directly to the new database. even if they don't export their future items, within the hour the appointments will appear in the group calendar database.
The username is an important detail of GroupCalendar™.
loads the com
add-in by Outlook® and the first thing the add-in does is to determine
what the username is of the current Outlook® user. The add-in uses a number of
methods to determine who the user is. First it looks in the sent items and takes
the first email it finds and tries to read who sent that. If no email has ever
been sent, it looks in the Inbox and check to who the email was addressed. If no
email is available it will read the Outlook profile and try to find out what
name it has been configured with.
Unfortunately some Outlook ® versions and configurations will not allow for this and when that fails, it uses the Windows® logon name.
The username gets written to the central database in TB_Users if it's not already there. If it was not there already, the user will be welcomed and offered to export their calendar items to the central database for others to see.
The username will
also be written to HKEY_CURRENT_USER\Software\OpusFlow\GC\Username in the
This value can be modified manually and it will override the name that GroupCalendar determined from the settings in Outlook.
The license counter of GroupCalendar™ uses the names in TB_Users. A 5 user license will report an error when the 6th user is connecting to the central database. It is however possible to remove users from the central database table TB_Users to free up a license for another user.
Username vs. nickname
GroupCalendar™ shows appointments with the username in-between brackets [ ] . The default setting can be space consuming in the limited subject space of the appointments so there is a short name setting available in [settings] - [edit user info]. Any name or even one character can be used as a nickname to be displayed in front of the subject in the Group Calendar folder. A lot of people use their initials as a nickname.
INI files / Outlook profiles / Reset settings / Terminal server
creates an INI (settings) file for every unique name it finds when Outlook ® starts
up. The INI files are located in c:\Program Files\Group Calendar\ and can be
recognized with 'Username'.ini
If no INI file was created before, a new one with default settings will be created and a GroupCalendar™ folder gets created as a sub folder under the default calendar folder. The GroupCalendar may be moved to another location or another Group Calendar may be created in another PST file. The name of the folder is not important as long as it has been selected in Settings as the Group Calendar.
Removing an INI file will recreate it at the next Outlook ® start-up, with default settings. On pc's with multiple users there will be multiple INI files with unique names.
The previous shows that all users need READ & WRITE permission in the program directory. That's something to keep in mind when installing it on a terminal server.
Example of an INI:
[CRM] - This
section define the folder in Outlook that is used as the Group Calendar folder
section is a representation of the settings available under the Sync
FastMode=True This setting specifies whether or not the synchronizing should try to locate the existing item in the GroupCalendar folder with all means possible. This might take a long time. Normaly this setting should be on/true but on some non-patched Outlook version it might have to be switched off to insure that all items are synced correctly and no double items are being created.
AutoStart=False This setting loads GCSystray.exe; the small calendar icon next to the clock that synchronizes the database with the GroupCalendar folder.
Pad=X:\Group Calendar.mdb This setting specifies where the central database is located on the network.
Fullname=Jan de Bouvier The name that GroupCalendar found as the username at startup
Initials=JDB Not in use.
MyNick=jb This setting specifies how the identity of the owner of the item should be displayed in the Group Calendar folder in Outlook®.
NoParticipation=False In [Settings]-[Edit user info], the checkbox that prevents the personal calendar to be monitored so no appointments get visible in the Group Calendar.
[MessageBoxes] Prevents display of notifications when another user creates an appointment for this user and when the add-in loaded successfully
[SQLDatabase] Specifies that SQL server is in use and the settings related to that.
ServerName=10.0.0.2 The server name or IP address. (private or public)
GCHelper.exe starts when the computer boots up. When Outlook® is running it will check every 30 seconds if the GroupCalendar™ com add-in is still active in Outlook®. If not, it will try to activate the GroupCalendar again. The Windows® tool msconfig can be used to enable or disable the start-up of GCHELPER.exe
GCSystray.exe starts when Outlook ® starts and when the checkbox is ticked in [Sync GroupCalendar]. It runs at a definable interval of 5 to 120 minutes to synchronize the Group Calendar folder in Outlook with the database on the network.
Synchronization or Real-time information
The GroupCalendar™ com add-in logs all appointments someone makes in their personal calendar into the database in real-time. The database table TB_Appointments holds a record/line for every appointment with all details needed to recreate the appointment in all group calendar folders at the users pc's.
So logging appointments is a real time process.
The GridView© shows the database information in real time while the Group Calendar folder in Outlook updates the database information at a predefined interval.
So viewing information with the Grid View © is a real time view on the available GroupCalendar items.
The creation of items in the group calendar folders in Outlook® is not real-time. it depends on the interval setting in the GCSystray that runs next to the clock in the lower right hand corner.
User fields, Views and Filters
field is one of four user fields in the Outlook calendar and Group Calendar
next to Owner, GCID en GROUP.
In the departmnt field the value will be shown that corresponds to the Department value in the database table TB_users. (Settings-Edit user info). This value can be used to create filtered views of the information in the Group Calendar folder in Outlook or in the real-time Grid View ©
developers who want to integrate the central database into other projects.
Developer Support is provided at no cost if the application is of generic nature
and will be made available to the general public for free or at a reasonable
is a trademark of OpusFlow™ b.v. Grid View ©
is a copyrighted description owned by OpusFlow™ b.v.
Outlook ® is a registered trademark of Microsoft ® corporation. Microsoft ® is a registered trademark of Microsoft ® corporation, Windows ® is a registered trademark of Microsoft ® corporation.