2.1. The IDERI note Client¶
The IDERI note client is a program (inotecln.exe) that is typically run in the context of an interactively logged in user. The default configuration will start the client program immediately after the login via the following registry key:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
The client program connects at regular intervals to its IDERI note server in order to fetch the latest message updates that the user, under whose auspices the client program runs, is entitled to receive. The polling interval that is used for these periodical connections to the server is typically in the range of several minutes, the default value being 5 minutes. The client stages the messages received from the server in local per-user databases and waits until one of the messages becomes due. If a message becomes due, a child process is spawned that will display the message to the logged-on user. The user can then acknowledge having read the message or cancel the message. In both cases, the message will disappear from the user’s screen, and if more messages are due, the next message will be displayed. Figure 2.1 shows an example of an alert message on a user’s desktop.
![Example of an alert message](../_images/intcl2.png)
Figure 2.1: Example of an alert message
The client program takes care that at most one message at any time will be displayed to the user and that the most important messages will be displayed to the user first. This means that if several messages are due at the same time, alert messages will be displayed first, then warning messages, and finally, information messages.
If a user cancels a message by clicking the cancel link in the upper right corner of the message, it will reappear after the next connection of the client to the server, if the message is still valid then. A message can become invalid for several reasons: The end of its lifetime might have been reached, or the user might have been removed from the recipients list of the message or the message might have been deleted by an administrative user. If a user acknowledges to have read the message by clicking the link labeled “I have read this”, it will not appear again, unless it is changed by an administrative user and is therefore received by the client program in a new revision. In addition, depending on the configuration of the message that has previously been done by the creator of the message, an acknowledgement that the user has confirmed to have read the message is sent back to the server when the client program reconnects to its server. In a similar way, a message can be configured to be confirmed as having been received and staged on the client immediately after reception. Messages that have been created with this acknowledgement option can always be viewed on the client after the fact using the IDERI note client history application. The history application can be launched by the user with the help of the context menu that appears on top of the IDERI note client system notification area icon.
In addition to this “pull-model”, where a client polls the server in regular intervals for new messages, a “push-model” can be configured to “push” alert messages, that require immediate attention from the users, to the client computers. For this to work, the client components must be configured to start an RPC server that the server can contact directly. In addition, restrictions on the local firewall of the client computer must be relaxed somewhat in order to allow inbound connections to “File and Print Services”. Because such a configuration might interfere with enterprise security policies for client computers, the “push-model” is not a requirement and instead the “pull-model” is the standard way that the client program employs in order to receive messages from its server. On the other hand, lots of enterprise client configurations explicitly have these firewall restrictions already relaxed because otherwise remote administration capabilities like remote registry, remote service access, WMI and DCOM do not work as well.