• Home
  • Support
  • OnTime for IBM
  • FAQ
  • Administration


Proxy support for OnTime Group Calendar for IBM hybrid

Available from v. 4.6

If you require outgoing requests from the IBM Domino server to an on-premises Microsoft Exchange server or to Microsoft Office 365 to be proxied this is configured using servlets.properties. The following parameters are available to support HTTP proxying: 

  • ProxyHost
  • ProxyPort

Below is an example of adding a proxy host (proxy.example.com) on port 8080 to the configuration:



More information on the OnTime Group Calendar Administration task

By default the OnTime Group Calendar Administration task ("admin") runs every night at 2am on the OnTime Group Calendar Administration Server. The admin-task can also be initiated on demand from the OnTime Group Calendar Config database or from the IBM Domino Server console using "tell ontimegc admin". 

One of the purposes of the admin-task is to process information read by the synchronization process from mail files into the Configuration database such as mail file Access Control List (ACL), calendar settings profile document (work hours etc.) In OnTime Group Calendar each user has 3 documents:

  • User document (maintained by the admin-task)
  • Calendar document (maintained by the synchronization task, created on first synchronization of a user)
  • Settings document

It's important to know that all user based calls to OnTime Group Calendar is processed from the "user document" and hence the admin-task is required to run to "bring in" information read from the mail file. For instance if a user changes his/her work hours in the mail file OnTime Group Calendar will first need to synchronize the user (reads information from the mail file into into the "calendar document") and then run the admin-task to transfer the information from the "calendar document" to the "user document". OnTime Group Calendar maintains a very strict separation between which tasks may write to which documents to avoid data corruption and save/replica conflicts.

Sometimes the admin-task will take a while to run - sometimes even a long time if you have many thousands of users in OnTime Group Calendar. This is of course because the admin-task does a lot of things from maintaning users from associated directories to maintaining groups and groups membership. That doesn't mean that moving the admin-task to a separate server cannot be a good idea as it certainly will optimize I/O but it describes why the task may take a while to run.

Please note:  For most organisations there should be no need to run admin during the day or even multiple times a day. It runs daily at 2am.

If you need to run the admin-task during the day consider using one of the sub-commands to tell the admin-task exactly what you would like it to do. If you only want to process static groups i.e. update group membership you could run "tell ontimegc admin gs" from the IBM Domino Server console. 

All of the "sub commands" from the admin-task is available to be run separately as shown in the below table. The sub-commands are listed in the actual sequence they are run.


Console Command




Update users
Reads in users, rooms and resources from the Domino Directories setup in OnTime Group Calendar. This operation also transfers certain pieces of information from the "calendar document" to the "user document" i.e. work hours etc. read from the mail files during synchronization of users.

tell ontimegc admin u




Fixup / cleanup
Does maintenance work associated with the internal data structures when required during upgrade between versions.

tell ontimegc admin f




Static groups
Processes static groups as configured in OnTime Group Calendar considering users currently in OnTime Group Calendar e.g. that must have been brought into OnTime Group Calendar by the "users sub-command" first. The process also makes sure that private groups does not contain invalid users.

tell ontimegc admin gs




Dynamic groups
Processes dynamic group definitions as configured in OnTime Group Calendar considering users currently in OnTime Group Calendar e.g. that must have been brought into OnTime Group Calendar by the "users sub-command" first.

tell ontimegc admin gd




External groups
Processes external groups as configured in OnTime Group Calendar considering users currently in OnTime Group Calendar e.g. that must have been brought into OnTime Group Calendar by the "users sub-command" first.

tell ontimegc admin ge




Directory (NAB) groups
Processes Domino Directory groups ("NAB") as configured in OnTime Group Calendar considering users currently in OnTime Group Calendar e.g. that must have been brought into OnTime Group Calendar by the "users sub-command" first.

tell ontimegc admin gn




Process ACLs
Reads the mail file ACL read during the synchronization of a user and writes the exploded result to the "users document" for the particular user.

tell ontimegc admin a




Process roles
Processes the role definitions according to the rules and assigns roles to users. Required to run for a change in a role to take effect.

tell ontimegc admin r




Rooms and resources
Reads information for rooms and resources as read from the coresponding room and resource database during synchronization. This process updates information such as capacity, restriction on rooms etc. meaning data maintained in the room and resource database(s).

tell ontimegc admin o




Process settings
Assigns Default Settings to users based on the configuration in the OnTime Group Calendar Configuration database. Changing Default Setting documents requires this command to be run to take effect.

tell ontimegc admin s




Cutom fields
Computes restrictions for custom fields and copies info to the user document.

tell ontimegc admin c



Process replica documents
Cleans up mail file replica information generated by the OnTime Group Calendar cluster sub-system.

tell ontimegc admin e X X  

* When task loads on OnTime GC admin server
** Daily job that runs at 2am
*** Job that runs every hour

Please note: Starting from version 4.2.2 you can now control which admin sub-commands run on which days and on load in Global Settings. You also have the option of terminating a running admin-task by issuing the follow command on the IBM Domino Server console.

Set Config OnTimeGCAdmin=Quit

How does OnTime Group Calendar handle recertification and users getting new person documents in Domino Directory?

Internally in OnTime Group Calendar users are identified by a socalled OnTime ID which is a short, unique, ID. The OnTime ID first created for a user when he/she is brought into OnTime Group Calendar and is thereafter maintained by the administration task.

For each user OnTime records the fully distinguished name (DN, e.g. CN=John Doe/OU=Sales/O=Acme) as well as the UnID of the person document. Whenever a user is processed as part of the administration task the user in OnTime can be found using either the DN or the UnID. This means that a user in OnTime will keep their OnTime ID even though that are recertified (get new name, new organisational hierarchy) or a new person document is created for the same user (same DN). Since the OnTime ID stays the same the user also keeps their private groups.

It follows from the above, that a user cannot change both DN and Domino Directory UnID at the same time while keeping their OnTime ID.

Why am I seeing java.lang.ThreadDeath messages from OnTime Group Calendar on the server console?

Please note: This applies to using the agent based API for OnTime Group Calendar.

Agents in IBM Domino has a maximum execution time at which point the thread execuring the agent is terminated. By default the maximum agent execution time in IBM Domino Directory is set to 0 meaning there is no maximum execution time. If for some reason the maximum execution time has been changed the following stacktrace may be seen on the Domino server console.

HTTP JVM: java.lang.ThreadDeath
HTTP JVM: at java.lang.Thread.stop(Thread.java:941)
HTTP JVM: at java.lang.ThreadGroup.stopHelper(ThreadGroup.java:722)
HTTP JVM: at java.lang.ThreadGroup.stopHelper(ThreadGroup.java:727)
HTTP JVM: at java.lang.ThreadGroup.stop(ThreadGroup.java:704)
HTTP JVM: at lotus.domino.AgentLoader.runAgent(Unknown Source)

This message indicates that an agent thread ran for too long time and was terminated. If you are repeatedly seeing this message we suggest you review your maximum agent execution time and make sure it is appropriate.

A solution could be to start using the servlet which also provides better performance.