|
Technical information on GroupCalendar™ for Outlook ®
GroupCalendar™
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® .
Database
Jet
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.
When GroupCalendar™
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)
SQL
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
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.
Database structure
The database structure is very simple. it holds only two tables:
- TB_Appointments
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.
Maintenance
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.
Backup
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.
Usernames
The username is an important detail of GroupCalendar™.
Starting Outlook®
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
registry.
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
GroupCalendar™
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
CentraleAgendaEntryID=00000000CAB3DB9BC2CD6045B4087D5544E3D6A462810000
CentraleAgendaStoreID=0000000038A1BB1005E5101AA1BB08002B2A56C200006D737073742E646C6C00000000004E495441F9BFB80100AA0037D96E000000453A5C32303034206A69762E70737400
GroupCalendarPath=mijn pst\gc
[Sync] This
section is a representation of the settings available under the Sync
GroupCalendar button.
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.
[Database]
Pad=X:\Group Calendar.mdb This
setting specifies where the central database is located on the network.
[User]
Fullname=Jan de Bouvier The
name that GroupCalendar found as the username at startup
Initials=JDB Not
in use.
[Nickname]
MyNick=jb This setting
specifies how the identity of the owner of the item should be displayed in the Group Calendar
folder in Outlook®.
[Participation]
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
NoLoadMessage=False
NoDelegateChangeMessage=False
[SQLDatabase] Specifies
that SQL server
is in use and the
settings related to that.
UseSQL=False
ODBCDriver=SQL Server
ServerName=10.0.0.2 The
server name or IP address. (private or public)
DBname=GroupCalendar
UserName=user
PassWord=letmein
GCHelper.exe
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
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
The departmnt
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
OpusFlow supports
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
fee.
GroupCalendar™
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.