Editor's note: In this article, we refer to the Enhanced Quota feature in IBM Lotus Notes V8. This feature name is not used in the product or its documentation, but this name best describes the new attributes of quotas in IBM Lotus Notes V8.
A new feature introduced in IBM Lotus Notes 7.0.2 allows tighter control over mail file quotas. You now can restrict the creation of new memos, calendar entries, and to do items through the Lotus Notes client. This addendum to the original developerWorks article by Joseph Anderson, "Understanding quotas for IBM Lotus Domino mail databases," explains how to incorporate the Lotus Notes client feature into the quota policies for your company. You can also refer to the Lotus Support technote, "Enforcing quotas on new mail or Calendar entry creation in local or server based mail files."
This article deals with an advanced administration feature, which in this article we call the Enhanced Quota feature. The configuration of the feature needs to be monitored, especially during upgrades, to ensure that legacy INI parameters are not left behind.
The main functionality provided by the Enhanced Quota feature is the ability to prevent a user whose mail database has exceeded its quota from creating a new memo, calendar entry, or to do item. Prior to this new feature, quotas were enforced when the user saved a document. You can also enable quota checks when routing mail through the Configuration Settings document for the mail server. Customers indicated that the mail-routing quota enforcement was too strict, and the server-based quota functionality did not allow enough control over quota enforcement.
Once the Enhanced Quota feature is activated, it adds parameters to the Notes.ini file listing details about the user's quota as shown in listing 1.
Listing 1. Example INI parameters
Saurabh Calla_LastMailDbSize=16498 (The size of the mailfile) Saurabh Calla_LastMailDbWarningQuota=0 (Mailfile warning quota) Saurabh Calla_LastMailDbMaxQuota=0 (Mailfile DB Quota) LastMailDbSizeCheckTime=03/14/2007 10:39:49 AM (Last time mailfile size was checked)
These INI settings are added and refreshed according to the mail poll interval, which you configure through the Lotus Notes client preferences. All INI settings for activating and configuring this feature can be delegated to the individual Lotus Notes client users through policy documents. See the Lotus Domino 8 Administrator Help for more information on creating policies.
When a user attempts to create a new memo, calendar entry, or to do item, the Lotus Notes client verifies that the user has not exceeded the quota. If the user has exceeded his quota, an error message is displayed, and the user is not allowed to create a new document. If the user has exceeded the warning threshold but not the quota, then another warning message is displayed, and the user can continue to create a new document. You can customize both messages either through the mail template or through the INI settings in the Lotus Notes client. This customization is described in more detail in the next section of this article.
Calendar managers use an additional INI parameter. When a calendar manager accesses a principle's mail file for which he is the delegate, this INI parameter is added to the Notes.ini file:
The date at the end of the INI parameter indicates when the mail file was last accessed. There can be a maximum of ten entries in the Notes.ini. If the calendar manager accesses an eleventh userâs mail file, the oldest INI is overwritten.
This section covers key points to keep in mind when configuring the Enhanced Quota feature.
The following INI parameters allow more control over when the mail file size information is retrieved from the server:
These represent the default parameters, and others can be defined such as CheckQuotaWhenLessThanNN where NN = 10, 20, and so on.
For example, the CheckQuotaWhenLessThan80=30 setting tells the Lotus Notes client to check for mail file size changes every 30 minutes when the user mail file is less than or equal to 80% of its quota.
NOTE: These INI parameters are still constrained by the new mail poll interval. Therefore, if the new mail poll interval in the Lotus Notes client is set to 15 minutes, then the minimum time for checking for changes is 15 minutes as shown in table 1.
Table 1. INI parameters to control frequency of quota checks
|INI setting||Client mail poll interval||Effective minimum check time|
Reactivating new document creation
The following INI parameter allows a user to reactivate the ability to create new documents through an agent in the mail file. This agent can be run only when using the mail file on the server, not locally. It retrieves the quota value, warning threshold value, and the current mail file size and sets the INI values appropriately. If the mail file size has been reduced, the user can create new memos, to do items, and calendar entries. This parameter is not a method to circumvent the new feature, but a way to update the stored INI values. Choose Actions - Tools - Reactivate Mail Send Functions to reactivate the ability to create new documents.
Configuring user messages
The INI parameters in listing 2 customize the messages the user can see, such as the over-quota error message. These INI parameters are optional as the default text is stored in the mail template.
Listing 2. INI parameters for configuring user messages
Over Quota Message INI: QUOTA_OVER_MSG=<msg txt> Over Quota Warning Message INI: QUOTA_WARNING_MSG=<msg txt> Over Quota Message Title INI: QUOTA_OVER_TITLE=<title txt> Over Quota Warning Message Title INI: QUOTA_WARNING_TITLE=<title txt>
The following are the message and warning text for calendar and scheduling only:
Over Quota Message INI: CS_QUOTA_OVER_MSG=<msg txt>
Over Quota Warning Message INI: CS_QUOTA_WARNING_MSG=>msg txt>
NOTE: Setting the INI parameter overrides the text stored in the template.
The feature is activated by adding the following parameter to the user's Notes.ini file. The feature is not fully operational until the next mail poll interval occurs, and the quota information is stored in the Notes.ini file.
This section describes the uses for the new feature and documents where customizations can be made.
Tighter control of quota policies
Quotas were originally designed as a server-side solution to help companies manage their disk space more efficiently. The rationale was that users would clean out their mail files to remain under quota. Administrators, though, could not force users who had gone over their quota to reduce the size of their mail files. Users continued to send and receive mail, and they ignored the quota error messages that displayed when they saved mail. Because the new client-based quota feature prevents users from creating mail, calendar entries, and to do items, the user is forced to take action. The new customizable messages displayed to the user provide useful and pertinent information. These messages can include company policies, steps to archive messages, and even steps to run the mail reactivation agent.
Server quota limitations
The Enhanced Quota feature also helps to resolve some limitations in the current quota-handling mechanism.
The current server quota feature prevents users from saving any documents to their mail files once they are over quota but does not prevent them from sending mail. This can cause problems, especially with calendar entries. If a user who is over quota creates a meeting in his calendar, the meeting document is not stored in his own mail file. All the invitees receive the meeting message, but the meeting chair does not have an entry in his calendar for personal reference or rescheduling purposes. By using the new quota feature, the user cannot create the new calendar entry for the meeting unless he first reduces the mail file size.
Another limitation to the server quota feature is the ability for users to send mail to themselves. Because users who exceed their quota can, by default, still receive mail, they can use this trick to bypass the quota controls. This behavior can be prevented by enabling router quota enforcement in the Lotus Domino Server Configuration document, thus preventing the router from routing mail to over-quota users. This approach, though, is considered too strict for most environments because it reduces users' productivity by preventing the receipt of mail. By implementing the new quota feature, users can still receive mail; they simply cannot create new memos, calendar entries, or tasks.
Many organizations today need to store emails sent and received by employees to comply with federal regulations and mandates. As discussed previously, the server-based quota by itself cannot effectively achieve the results required by compliance regulations. The new quota feature prevents employees from sending mail when over quota, thus ensuring that email is routed only when a copy can be retained in their mail file.
The code for the new quota feature is mostly in the template. The bulk of the work is done in the CheckQuotas script library. This library also contains the messages that the user can receive, for example when the user attempts to create a new calendar entry and is over quota. These messages include the mail template parameters listed in table 2. The corresponding INI parameters are also shown. The mail template code defaults to using the INI parameters if they are present, overriding the mail template parameters.
Table 2. Comparison between INI and mail template configuration parameters
|Mail template parameter||INI parameter||Description|
|OVERQUOTAMSG||QUOTA_OVER_MSG||The message displayed to the over-quota user who attempts to create a new memo.|
|QUOTAWARNINGMSG||QUOTA_WARNING_MSG||The message displayed to the user who has crossed the warning threshold for the mail file quota, but has not gone over quota.|
|CS_OVERQUOTAMSG||CS_QUOTA_OVER_MSG||The message displayed to the over-quota user who attempts to create a new calendar entry.|
|CS_QUOTAWARNINGMSG||CS_QUOTA_WARNING_MSG||The message displayed to the user who has crossed the warning threshold for the mail file quota, but has not gone over quota.|
|REACT_MSG_ONSERV||N/A||The message displayed to the user who attempts to run the mail reactivation agent on his local mail file.|
|REACT_MSG_FINISHED||N/A||The message displayed when the mail reactivation agent completes successfully.|
|REACT_MSG_STARTED||N/A||The message displayed to get approval from the user before running the mail reactivation agent.|
|QUOTALIMITTXT||N/A||The text to use when displaying the current quota value to the user.|
|DBSIZETXT||N/A||The text to use when displaying the current mail file size to the user.|
|QUOTAWARNINGTXT||N/A||The text to use when displaying the current warning threshold value to the user.|
|OVERQUOTATITLE||QUOTA_OVER_TITLE||Title for the window containing the over-quota error message.|
|QUOTAWARNINGTITLE||QUOTA_WARNING_TITLE||Title for the window containing the over-warning threshold message.|
These parameters, found in the CheckQuotas script library, can be modified, thus giving you some flexibility to modify messages on the fly through mail template customization. There is overlap in functionality between the mail template and INI parameters, such as the OVERQUOTATITLE parameter and QUOTA_OVER_TITLE INI parameter. There are some mail template parameters, however, that do not have corresponding INI parameters.
The check for an over-quota situation occurs during the QueryOpen event in the Memo, Reply, Reply with History, To Do, _Calendar Entry, Special\_Phone Message forms. The quota check code is executed first and checks if the user is over quota. If so, the text stored in the OVERQUOTAMSG parameter is displayed in a message box. If the user is under quota but over the warning threshold, the quota warning message (QUOTAWARNINGMESSAGE) is displayed. This also applies to the creation of new calendar entries. In those cases, the CS_OVERQUOTAMSG and CS_QUOTAWARNINGMSG messages are used.
You can execute operations prior to, during, and after this code. For example, a notification that a user received a quota error message could be logged to an administration database.
NOTE: Making mail template modifications introduces upgrade challenges. Each organization has to weigh the benefits of customizing the mail template against the additional management effort.
Mail reactivation agent
Because the quota INI values are updated only during the new mail poll interval, over-quota users need a faster way to re-enable their mail creation ability. The mail reactivation agent gives the users this ability. The agent can be run by choosing Actions - Validate â Reactivate Mail Send Functions. When run, this agent gets the current database size, quota value, and warning threshold and overwrites the corresponding INI parameters. The user then restarts the client to pick up the values. If the new mail database size is lower than the quota, the user's mail and calendar creation abilities are restored. If the user does not lower the size of his mail file to a level below the quota prior to running the agent, the user does not regain the ability to create mail. This agent cannot be run on the local copy of the user's mail file. If over-quota users do not use the agent, they must wait until the next time the client polls for new mail for the new values to be picked up.
This section covers some limitations of the feature as well as some considerations to effectively implement the feature.
You should be aware of these limitations:
- Polling for new mail. One limitation is the dependence of the feature on polling for new mail. As a result, the quota check does not occur in real time. Therefore, a user who goes over quota can still compose messages until the Lotus Notes client polls for new mail. Depending upon the mail poll settings, this could be a long interval because this parameter is user-defined.
- User modification of Notes.ini. A user could modify Notes.ini to change the stored values. For example, a user could change the quota value (Saurabh Calla_LastMailDbMaxQuota) to 0, allowing the user to send mail. This false value, however, is overwritten the next time the new mail poll is executed. In addition, a user could also remove the INI parameter, Check_Quota_On_Mail_Create=1, which disables the feature on the Lotus Notes client. This value is not recreated until another policy is pushed to the user.
- INI parameters that need to be pushed down. To be effective, the INI parameters need to be pushed down to the users' clients. You can do this using policies, but overhead is involved in creating and maintaining these policies. This is especially true for organizations that are not currently using mail file policies.
- Mail file template that can be modified. The code behind this feature is entirely located in the mail template. A savvy user could access this template code and modify it to not execute the quota check. The user could also change the properties for the mail file to not inherit future design changes, preventing the modified code from being reverted.
The key to utilizing this feature properly is educating users about corporate email quotas and policies. Email policies are not foolproof, and quota enforcement requires users to be active in helping keep their mail file sizes down. This new feature can help in this regard by displaying more relevant information and by putting more pressure on users to reduce their mail file size. In the end, organizations need to determine the appropriate set of best practices and approaches that are applicable to their user communities in reducing their mail file size, including archiving and mail retention applications.
Joseph Anderson's article, "Understanding quotas for IBM Lotus Domino mail databases," provides some best practices for implementing quotas. They include setting up policies for how users can reduce their mail file size. One recommended method is to have users utilize the archiving feature in Lotus Domino, which lets users place emails in local databases and archives for long-term storage. Users can also create multiple archives for organizing their stored emails. Not only does this help reduce the size of their mail files, but it can help with cataloguing their emails for faster retrieval and searching.
This feature adds another tool for administrators to be used in conjunction with existing policies to help enforce quotas. The main functionality provided is the ability to prevent users from creating new memos and calendar entries once they have exceeded their quota. The customizations possible with this feature let you augment their existing quota policies by forcing users to take action and by providing more pertinent and timely information to the user.
- Get started with IBM Lotus Notes and Domino V8 technical content.
- Read the developerWorks article, "Understanding quotas for IBM Lotus Domino mail databases."
- Read the developerWorks article, "Best practices for large Lotus Notes mail files."
- Read the developerWorks article, "Sizing your IBM Lotus Domino mail servers."
- Read the developerWorks article, "Lotus Notes and Domino 8 Reviewer's Guide."
- Read more about IBM Lotus Notes and Domino V8.
Get products and technologies
- Download a trial of IBM Lotus Domino V8.
- Download a trial of IBM Lotus Notes, Domino Designer, and Domino Administrator clients V8.
Dig deeper into IBM collaboration and social software on developerWorks
Get samples, articles, product docs, and community resources to help build, deploy, and manage your cloud apps.
Keep up with the best and latest technical info to help you tackle your development challenges.
Software development in the cloud. Register today to create a project.
Evaluate IBM software and solutions, and transform challenges into opportunities.