Thursday, 27 September 2018

Upgrading the Domino Directory Template on a Domino Server

As indicated in my previous blog post, Programmatically Replace or Refresh Design of Local Databases, a number of new templates have become available at the release of IBM Notes Domino Feature Pack 9. One of these templates is the new Domino Directory template (pubnames.ntf) that extends Holiday documents through years 2026 or 2027 and also adds policy updates for both Traveler and IBM Mail Support for Microsoft Outlook (IMSMO). Summarizing the new templates includes the following updates:
  • Holiday documents that have been extended another 10 years through 2026 or 2027 depending on the holiday.
  • Policy update for cloud Traveler servers that allows admins to remove the device password requirement for Traveler devices. Hybrid customers will be able to override the default that says you must have a device password.
  • Policy update for IMSMO cloud and on-premises servers that allows more granular control of auto-processing notices. It is now possible to choose whether to skip processing of meeting notices that have pending reschedules. In the cloud, this new setting is enforced/enabled regardless of the policy setting selected on-premises. 
Note: Be aware that upgrading the Domino Directory design replaces the template design. The Domino 9.0.1 design overwrites any customization's made to the Domino Directory in case the own design elements, like Views, do not have the option 'Prohibit design refresh or replace to modify' selected. Before upgrading to the Domino 9.0.1 design you can, if necessary, create a backup of the Domino Directory to preserve custom changes and add them later to the new template.

Deploying the new template on the Domino Server is fairly simple and straight forward. Initially shut down the Domino server. Next create a backup of the existing pubnames.ntf from the Domino server's data directory (optional). Finally copy the updated pubnames.ntf into the Domino server's data directory. Restart the Domino Server. For upgrading the design of the Domino Directory you can use the console command load convert names.nsf * pubnames.ntf. The design of the Domino Directory will be updated with the new template.

Next compact the Domino Directory after upgrading (load compact names.nsf -c). Compacting the Domino Directory upgrades the database format to the Domino 9.0.1 format if the ODS had not already been upgraded. Rebuild the ($ServerAccess) and ($Users) views in the Domino Directory.

load updall names.nsf -t "($ServerAccess)" -r or nupdall updall names.nsf -t "($ServerAccess)" -r

load updall names.nsf -t "($Users)" -r  or nupdall names.nsf -t "($Users)" -r

Now the updated Holiday documents can be imported into the server's Domino Directory (names.nsf). First navigate to the Configuration - Miscellaneous - Holidays view.

Next from the Actions menu run the Import Holidays from Template agent.

User can update their calendars now by selecting More - Import Holidays from any Calendar view.

For details on implementing the Traveler policy update for "Do not require device password" and the IMSMO policy update for "Skip processing of meeting updates" see the IBM Technote New pubnames.ntf extends Holiday documents through 2026/2027 & adds policy updates for Traveler and IMSMO.

For more info on updating the Domino Directory on the server see also :
Upgrading to a new Domino Directory template
Upgrading the Domino Directory

Wednesday, 26 September 2018

Quick IBM Notes Tip: Programmatically Replace or Refresh Design of Local Databases

After upgrading our Domino Server and Clients to Feature Pack 9 we started the upgrade of the Mail Databases and the Personal Address Books to the new templates supplied with Feature Pack 9. For the upgrade of the Personal Address Books (pernames.nsf) we have chosen for using the LotusScript Shell command to call nconvert.exe. Initially we distributed the new template, pernames.ntf, to all users through our own file distribution system. Secondly, in our Security Settings Policy, we selected the option 'Don't prompt for a password from other Notes-based programs' for all users and deployed the Policy to all users.

This option in the Security Settings Policy prevents the request for a password during the final upgrade of the Personal Address Book when Notes is running.
For the upgrade of the Personal Addess Book databases we created an E-mail for all users with an Action Button with the LotusScript Shell command.

Through the action button the convert program is called, which reads the notes.ini file and retrieves the ID value form the KeyFileName entry. The convert program runs under the authority of that ID.
The user will be prompted to enter the password for that ID before the task continues if Notes is not running or Notes is running and the "Don't prompt for a password from other Notes-based programs" option is not selected in the User Security preferences or Security Settings Policy. Based on the settings in the Security Setting Policy the user will not be prompted for a password. If the option is NOT selected the screen below will appear for entering the password.

After the user select the Action Button in the E-Mail the upgrade will be executed and the new template is added in the Personal Address Book.

Another option is to use the formula @Command DesignReplace in an Action Button in an E-Mail send to all users. The following @Commands can be used to open the local database and open the Replace Design dialog box:
@Command ([FileOpenDatabase]; "": "names.nsf"; ""; ""; ""; "");
@Command ([DesignReplace])
We have not chosen this method since the user self has to choose the corresponding template in the Design Replace Dialog Box.

For more information see also the IBM Technote Switches and options that can be used when running Convert command. If someone has followed another procedure for upgrading the local Personal Address Book, I would like to hear this.

Tuesday, 25 September 2018

IBM Notes Domino XPages Community

As  you may know, I am Moderator of the Google+ XPages Community (and the Google+ XPages Twitter Account). Together with the original founder of the Google+ XPages Community, Rob Bontekoe, my old XPages teacher, this community was founded some years ago. The primary goal of the community was and still is to promote XPages as a rapid development tool and sharing information about IBM XPages, IBM Notes, IBM Domino, Domino 10 and much more.
During the last year we also expanded our field of vision and we focused also on other new developments and technologies such as IBM Watson Workspace and IBM Domino Applications on Cloud and other Cloud technologies and developments in addition to what we already covered in our community. The central focus for the coming period will be on the future of work and related news and posts such as Domino 10.

At this time, the community has 683 members and is still expanding!
If you are not yet a member of this community and want to be kept informed of the latest news and if you want to share news about IBM Notes, IBM Domino, Domino 10, IBM XPages, Watson Workspace, IBM Watson, DAC or other modern (web) technologies then join the Google+ XPages Community now.
The more members the more news and the more it is shared within our amazing community.

Link to the Google+ XPages Community : XPages Community

Since end of 2016 The XPages Google+ Community can also be found on Twitter, @XPagesCommunity.

So  follow the Google+ XPages Community also on Twitter for the latest news on IBM XPages, IBM Notes, IBM Domino, Domino 10, Bootstrap, IBM Watson Workspace, Domino Applications on Cloud, Watson and more!

Wednesday, 19 September 2018

It's IBM Champion Season! Nominations are open!

The IBM Champion program recognizes innovative thought leaders in the technical community. An IBM Champion is an IT professional, business leader, or educator who influences and mentors others to help them make the best use of IBM software, solutions, and services, shares knowledge and expertise, and helps nurture and grow the community. The program recognizes participants' contributions over the past year in a variety of ways, including conference discounts, VIP access, and logo merchandise, exclusive communities and feedback opportunities, and recognition and promotion via IBM's social channels.
Contributions can come in a variety of forms, and popular contributions include blogging, speaking at conferences or events, moderating forums, leading user groups, and authoring books or magazines. Educators can also become IBM Champions; for example, academic faculty may become IBM Champions by including IBM products and technologies in course curricula and encouraging students to build skills and expertise in these areas.
Take the opportunity to nominate an influencer of IBM Social Business now.

The nomination period for IBM Champions will run from 17 September to 22 October this year.
Now that nominations are open, it's time to gather your information so you can (re-)nominate yourself or nominate a community member you think should join the Champion ranks.

Who should be nominated as an IBM Champion?
Well, below are the detailed criteria, but maybe what would help are some examples of people who might be IBM Champions: The person in your company who knows everything there is to know about your IBM software or hardware and makes it all work together and is always the one answering everyone’s questions. The person writing articles or books about IBM technology. The person with a blog who investigates and covers IBM technology. The person who runs the local meetup or user group covering IBM technology. The person whose Twitter stream is always sharing what they’re building with IBM technology. The person making YouTube videos about developing with IBM technology. The person who has a couple of sessions every year at IBM and user group conferences and events. Those are all people who might be IBM Champions.
The IBM Champion program requires IBM advocacy and influence outside one's own organization or customer engagements.  IBM also seek individuals that have significant contributions in at least 2-3 areas as defined below (significant contributions = a contribution, executed multiple times or for an extended period of time).
This can be blogging regularly, tweeting regularly (on topics relevant to our industry, but not necessarily IBM-specific tweets), speaking at multiple events in a calendar year, User Group Conference Planning Committee member (involves the execution of a conference or a part of the conference over a period of several months) or be a President or Board member of a worldwide or local user group for a period of 1 year.

Below some usefull links for more information about the IBM Champion Program and the link to the nomination form.
Nominate an IBM Champion : IBM Champion Program
Nomination Form IBM Champion : Nominate an IBM Champion
More information about the IBM Champion Program: IBM developerWorks - Champions

For more information see also the blog post IBM Champion Nominations are NOW Open by Libby Ingrassia.

Tuesday, 18 September 2018

The Road to Domino 10: Enabling NIFNSF

NIFNSF has been introduced in Feature Pack 8. At that time we did not use this new feature as there were some performance issues. These problems are solved. After the upgrade to Domino 9.0.1. Feature Pack 9 we have enabled NIFNSF on our Domino Server. For several Notes databases, including all mail databases, we have enabled NIFNSF. NIFNSF offers the possibility to separate the view and folder index into a separate NDX file. Major advantages of enabling NIFNSF are significantly better database performance and a reduction of backup storage as well as a faster backup. Below is a brief description of how NIFNSF can be enabled.
There are two requirements before NIFNSF can be enabled on the Domino Server. Initially, the Transactional Logging must be enabled on the Domino Server in the Server document. Secondly, the ODS of the Notes database should be 52 (recommend) or at least ODS 51. For more information about upgrading the ODS, see my previous blog posts Upgrade ODS Notes Client Local Databases and Upgrade ODS on Notes Databases, Templates And Mail.Box Files.

Enabling NIFSNSF on the Domino Server
To enable NIFNSF on the Domino Server a number of NOTES.INI settings should be added in the Configuration document.
The first, and also the most important setting, is NIFNSFEnable = 1 which ensures that NIFNSF is enabled on the Domino server.
The NDX files are stored in the Domino Data Directory by default. To specify a different location the setting NIFBasePath = path can be used.
If NIFNSF should be enabled automatically for all new Notes databases the setting CREATE_NIFNSF_DATABASES = 1 can be used which will ensure that all new databases are automatically NIFNSF enabled.

Enabling NIFSNSF on a Database
For enabling NIFNSF on a Notes Database the normal recommendation is to use:
compact -c -NIFNSF ON database.nsf
If the Notes database is on ODS 51 or higher and NIFNSF is enabled on the Domino Server new indexes are created in the corresponding NDX files.
Remark: Only the copy-style compact will move the views to the NDX file. If the database is in use the copy-style compact will not be executed.

The NDX file has been created in teh directory specified in de NOTES.INI setting NIFBasePath = path or in de Domino Data Directory by default.

To disable NIFNSF on a database use also a compact -c with the option OFF.
compact -c -NIFNSF OFF database.nsf

Show all NIFNSF Enabled Databases
To show all NIFNSF enabled databases only on the Domino Server (NIFNSF state ON) use te following server console command:
show dir -nifnsfonly

For more information see the IBM Note Moving views out of databases and the blog post Current Information about NIFNSF by Daniel Nashed and the IBM Note Updall switches, Update and NIF - Notes indexing basics.

Monday, 17 September 2018

The Road to Domino 10: Keep Your Critical Views Up To Date Using Inline View Indexing - Introduction

In my previous blog posts, Upgrade ODS on Notes Databases, Templates And Mail.Box Files and Upgrade ODS Notes Client Local Databases, I described how to update the ODS of databases, templates and files after upgrading to Domino Feature Pack 9. Another great new feature in Domino Feature Pack 9 is Inline View Indexing. A view index is an internal filing system that is used to build the list of documents to display in a database view or folder. By default, view indexes are updated on a server at scheduled intervals. To update a view index immediately after documents change instead, you can enable inline view indexing. With the new feature inline view indexing it is very easy to keep all critical views in your Notes applications up-to-date for your users.
In this introduction a short description how to enable this new feature for your Notes databases. Basically there a two options for enabling inline view indexes for your Notes databases.

Enabling inline view indexing with the Updall task
You can enable inline view indexing with the Updall task which updates the $Index view design element. With this method, inline view indexing is enabled automatically in replicas of a database. In addition, if you enable inline view indexing in a design template, the inline view indexing is enabled automatically in databases that inherit their design from the template.
Use the following command to use the Updall task to enable inline view indexing for a database. To enable inline view indexing for all views in a database, omit the view and-T argument.
Inline indexing is enabled as a view is opened.

load updall database -T view -inline on (for a specific view in a database)

load updall database -inline on (for all views in a database)

Enabling inline view indexing with INLINE_VIEW_INDEX setting
You can enable inline view indexing with the NOTES.INI setting INLINE_VIEW_INDEX. With this method, you specify a list of databases on a server to enable for inline view indexing. Unlike the Updall method, this method does not update the $Index view design element in databases and so does not propagate view indexing through replication and design inheritance.
Use the Configuration Document in the Domino Directory to Add the new NOTES.INI Parameter.
A server restart is not necessary. Inline view indexing is enabled as views are opened.

In the next blog post more detailed information about enabling inline view indexing, setting index expiration for inline view indexes, using console commands to manage inline view indexing, showing inline indexing statistics and disabling inline view indexing.

The Road to Domino 10: Requirements Upgrading Notes Traveler or higher

In our preparations for Domino 10, we will initially upgrade our production environment to Domino 9.0.1 Feature pack 9. Part of this upgrade is also the upgrade to Notes Traveler The Notes Traveler version has a major update, the Run as User feature, that is selected by default. In order to be able to carry out the Notes Traveler upgrade a number of requirements must be arranged on the Domino Server and in the Mail databases. Below is a short description of the steps we have carried out. Note that Notes Traveler is also running on our Domino (Mail) Server. We do not have a separate traveler server yet.

Starting with IBM Traveler, the Run as User feature will now be enabled by default.
When running as the user, the Traveler server will access the user's mail file as the user ID instead of the server ID. This feature resolves several long standing issues with accessing the user's mail file as the server ID, including:
  • Honor ACL controls on mail file and corporate lookup for the user.
  • Prevent event notices and automated responses from being sent from the server ID.
  • Prevent the server ID from being assigned as the owner of the mail profile when there is no owner defined.
Important notes: For the Run as User feature to function properly, the Traveler server must be listed as a trusted server in the user's Mail Server document.
To disable Run as User, set the following notes.ini parameter: NTS_USER_SESSION=false

A. Server document of the user's Mail server
On the Security Tab in the Server Access section you can find the Trusted servers field
If the Traveler server is not in the mail server's Trusted Servers list, mobile users cannot access their mail file through the Traveler server.
In our case there is no separate Traveler Server so there is no need to add a server in the Trusted Servers Field.

B. Server document of the user's Traveler server / User's Traveler server 
Select the Security tab in the Server document. In the Server Access section you can find the field Access server and Not access server.

If  the field Access server is non-blank only those servers and users will be allowed to access. All others not listed will be denied access.
If the field Not access server is non-blank those servers and users will be denied access even those that are also in the 'Access server' list.
If you have servers listed in the Access server field check the box labeled 'users listed in all trusted directories'. If individual users are listed in the Not access server field remove them if you want to allow them to sync.
In our case we selected in the Field Access server 'All users can access this server' and in the field Not access server the Group 'Terminated Employees' from the Domino Directory.

IBM Notes Traveler Access section, Access server and Not access server

This is configured similar to the Security tab, Server Access section. However, Traveler does not log console messages for these access controls because they are Traveler configuration parameters, so they are treated as expected events. To see these log entries you must be logging the user on FINE or FINEST.

C. ACL of the user's mail file  - Basics tab
For the Feature Run as User anything less than Editor Access in the Access Control List of the user's mail file or without all boxes checked can restrict actions that the user can take on his own mail file
Reader Access can receive emails and invitations, but cannot reply or accept because Readers cannot create the response documents. Author Access can only Create documents if you check that box.

For all users we set the Field and Attributes settings as shown above. All users have Editor Access in their personal mail file.

D. ACL of the user's mail file - Advanced tab
For the Maximum Internet name and Password field all users should have at least Editor Acces.
Restricts access for Internet users that authenticate using name and password (so iNotes users using basic auth), and all Traveler users (mobile and IMSMO) when running as user.

Default value is Editor which is sufficient to create, delete, read and write docs in the mail database.
Other values like Reader or No Access cause exceptions reading or writing specific documents in the user's mail file. In our case all users have Editor Access in the Maximum Internet name and Password field.

With the requirements as described above we are going to perform the Notes Traveler upgrade in our production environment. For more information see the IBM Technote How to resolve synchronization issues that start after upgrading to IBM Traveler (or higher).

Tuesday, 11 September 2018

Upgrade ODS Notes Client Local Databases

In response to several questions about yesterday's blog post a short addition for the upgrade of the ODS of the local database in the Notes Client. By default local databases are not updated when the Notes client is upgraded. Using either the Notes Client, Domino Administrator Client or the Domino Designer Client you can force the client to perform ODS upgrades of all local databases. For most non-essential databases the ODS upgrade will take place in a background process and while a database is upgraded, the end user will not be able to use the database. For essential databases that are in use at the point that an upgrade is attempted the ODS upgrade will be done at the next first time open which will typically occur at client restart. The following NOTES.INI setting performs the upgrade: NSF_UpdateODS=1. With this setting the client will do a one time pass to upgrade local databases using the compact task. In addition,the specific ODS level that is desired can be set. If none is set, ODS52 will be forced.
The steps below for the upgrade of the ODS are based on the use of a Desktop Policy.

1. Desktop Policy
A mentioned, for clients we need to set NSF_UpdateODS=1 in combination with CREATE_R9_DATABASES=1 which lets the client convert to the new ODS. These settings can easily be distributed to all users through a Desktop Policy.
Open the Domino Directory on the Domino server (names.nsf).
Click the People & Groups Tab and open the Settings view.
Click Add Settings, open the Desktop Settings dialog and select the Custom Settings Tab or select and open an existing Desktop Policy and select the Custom Settings Tab.

 Click Edit List to open the panel that enables you to create a notes.ini variable name and value pair.
Add NSF_UpdateODS=1 and include Enforce.

Next add CREATE_R9_DATABASES=1 and also include Enforce.

Enable the Enforce option to push the value pair to overwrite any other previously set value for the named setting.
Click OK and Save & Exit.

2. Deploy Policy
Users receive updates to the desktop settings the next time users authenticate with the home server in case the policy settings change and the desktop policy settings are enforced.
In the NOTES.INI file (Notes Program Directory) the new Desktop Policy Setting are added.

Next time the Notes Client is started the upgrade of the local databases to the new ODS will be executed. In the log you can see the following message : 11-09-2018 07:56:01 21 databases had an older NSF ODS version. 17 of those databases were successfully upgraded to a later NSF ODS.

Remark: Another possibility is to set the field Enable upgrade of all local NSFs to latest ODS version in the Desktop Policy document on the Mail Tab under Client Settings if you always want to upgrade to the latest ODS version.

For more information see the IBM Technote Local database's ODS is not updated when Notes client is upgraded and Domino On-Disk Structure.

Monday, 10 September 2018

Upgrade ODS on Notes Databases, Templates And Mail.Box Files

We are currently working on the final preparation for the upgrade to Domino 9.0.1 Feature Pack 9 next week. One of the new features in Feature Pack 9 relates to performance, namely that databases and views can be opened more quickly in databases that are enabled for transaction logging. It takes less time to open databases and views that are at ODS 52 or higher and enabled for transaction logging. Previously, performance for opening databases or views could be slow in frequently updated databases. This improvement is due to the implementation of less contention with update operations.
Therefore it is very important to update the ODS to ODS52. Below the steps I performed to update all databases, templates and files to ODS52 after the upgrade to Feature Pack 9 in our test environment. In Domino 9 there is a new compact switch "-upgrade". "-upgrade Upgrades databases created with older DB classes to the most recent class."

1. Domino Server - NOTES.INI
First I added the parameter Create_R9_Databases=1 to the NOTES.INI file.

In addition it is extremely important that the Transaction Logging is enabled on the Domino server! Enabling transaction logging can improve server performance in most cases. Transaction logging saves processing time because it allows Domino to defer database updates to disk during periods of high server activity. Transactions are recorded sequentially in the log files, which is much quicker than database updates to random, non-sequential parts of a disk. Because the transactions are already recorded, Domino can safely defer database updates until a period of low server activity.

In case Transaction Logging is not enabled on the Domino Server you can enable Transaction Logging by following the steps below.

Ensure that all databases to be logged reside in the Domino data directory, either at the root or in subdirectories.
From the Domino Administrator, click the Configuration tab.
In the "Use Directory on" field, choose the server's Domino Directory.
Click Server Configuration, and then click Current Server Document.
Click the Transaction Logging Tab.
Complete all fields on the Transaction Logging Tab and then save the document.

For more information regarding Transaction Logging on Domino Server see the IBM Support document Transaction Logging on Domino Servers.

2. Upgrade ODS
Next shut down the Domino Server en start the Command Prompt. Navigate to Program Directory of Domino and enter the following command: ncompact -ODS -* -upgrade

Remarks: In this case I use -ODS -* instead of compact -c because I want to upgrade all Notes databases, Templates and Mail.Box files and not just the Notes databases. -ODS -* will upgrade Notes databases, Templates and Mail.Box files which have an older ODS and compact -c will only compact / upgrade all Notes database except the Templates and Mail.Box files.
The upgrade can take some time but runs without any problems on a Domino 9.0.1 Feature Pack 9 server.

Friday, 7 September 2018

Quick IBM Domino Tip: Instantly Deploy Domino Mail Policy

Some days ago I was asked to deploy a change in the mail applications of all users. Specifically this involved a change in the day and times regarding the availability for meetings in the Calendar Scheduling. One of the powerful options available in Domino are the Policies in which settings for all users can be centrally arranged and controlled. In this case the current settings were centrally set as follows for all users in the organization by a Mail Policy.

For all days and times in the Calendar Scheduling a change had to be made to the value 00:00 - 23:55 where also the new settings could no longer be changed by the users. Finally, the change had to be implemented immediately in all mail databases.
The solution in this case was to change the setting in the Mail Policy document.
In the Domino Administrator I opened the current Mail Policy document. If there is no Mail Policy document available you can create a new Mail Policy document.
Next I changed the values in the Tab Scheduling and set added in the Field How to apply this setting the value 'Set value and prevent changes'.

Remark: For the Field 'How to apply this setting' you can set the following options.
  • Don't set value -- If you select this option, no value is specified for the setting but the end-user can specify a value. When you assign this setting to a field in a policy settings document, you cannot modify the field value but the end-user can. If the end-user specifies a value for a field with this setting, that value is saved. For fields where there is a check box, if you leave this option unchecked, any value in the corresponding field is used by the policy.
  • Set initial value -- You specify a default value for the field but the end-user has the option of changing this value. The setting will be set to this value once. If the end-user then specifies a value for a field with this setting, that value is saved and not overwritten by the value in the policy.
  • Set value whenever modified -- When you choose this option for a field, all of the policy settings are set to the values that you most recently specified. Values that are specified by end-users are overwritten by values specified in the policy whenever the policy is applied. Be default the policy is applied every 12 hours. The user can change their settings, but they will always be overwritten by the settings in the policy.
  • Set value and prevent changes -- You specify the value for the field and that value is saved in the policy and cannot be modified by end-users.
After saving the new settings the next step was to deploy the new Mail Policy setting instantly to all users. It generally takes a few hours for a mail policy change to take effect. I used the following console command to apply all mail policy settings instantly: Tell adminp process mail policy.
Regarding the error handling when deploying policies more in my next blog post about policies in general.

The setting in all mail files after executing the console command results in the desired changes. the times have changed with the times in the mail policy and the users are unable to change these settings.

For more information see also Understanding the How to Apply setting for a policy.