WebSearchOnly is an option that was introduced in Lync 2010 and is still available in Lync 2013. Although it is a great option, I’ve noticed it is not often used in Lync deployments. But why would you? To know the advantages of this option, first let’s look at what it does.
What does WebSearchOnly do?
WebSearchOnly is a value for the AddressBookAvailability option that can be found under the Lync Client Policy and is applied to the client via in-band provisioning. The AddressBookAvailability indicates how users are allowed to access information in the Lync Address Book server.
That is, by using the ABWQ (Address Book Web Query service) and/or by downloading a copy of the Address Book to their local computer. The process of creating the address book and getting it to the client is described in the full artical about the Lync Address Book.
The AddressBookAvailability has three available values:
- WebSearchAndFileDownload
This is the default setting. This means that the Lync client will download the Address Book files locally and will first look in the local files to search. If that search is not successful, the ABWQ is used. - WebSearchOnly
This setting determines that clients cannot download the Address Book files locally and will only use the ABWQ when searching for contacts. Each search for a contact is an actual (https) web query to the Lync Front-End server(s). - FileDownloadOnly
When set to this value, only the local Address Book files are used.
Although this setting applies to clients, not all clients will use this setting. Only the full Lync 2010 or Lync 2013 desktop client will use this setting. Other clients, like the Lync Mobile client, Lync Windows App and Lync Phone Edition, will already only leverage the ABWQ.
Advantages of WebSearchOnly
So why use this WebSearchOnly value and not use the default WebSearchAndFileDownload value?
Ever heard a complaint from your users that the title or name when searching for a contact is not up-to-date? This is often (not always) caused by the Address Book files locally on the client being out-of-sync with the Address Book on the server. When searching only via the ABWQ, your search list is always as up-to-date as possible (only dependent on synchronization with Active Directory).
Another major advantage is the actual download of the Address Book files. In a small Lync deployment, this might not have any impact as the files are not that large, but in very large deployments the Address Book download can cause serious issues. For example, when you have limited bandwidth available. In a recent deployment I worked with an address book that had about 300K of contacts and was about 35 Mb compressed (75 Mb uncompressed). When you have 25,000 users on a pool connected via LAN’s and WAN’s and they all download the files you can imagine the network impact. The network impact when setting the value to WebSearchOnly is minimal, as it is only HTTPS traffic. The server impact (CPU) is also minimal, if your servers are sized properly (as per Microsoft recommendations).
Disadvantages of WebSearchOnly
The major disadvantage with this option in the past, was an issue in the scenario when Lync display names are in the last name, first name format. In this case there was an issue with finding someone when doing a Lync search. For example, when searching for my name:
- When typing “Hans” you would find you whether you are “Hans Sleurink” or “Sleurink, Hans“
- When typing “Hans S” with Address Book web query the contact would not be found, but with the downloaded address book it would.
A (non-supported) workaround for this issue was already mentioned. I noticed that this disadvantage seems to be no longer present in Lync 2013 and that when searching for “Hans S” with only the ABWQ and the Lync display name in the last name, first name format gives the correct search results.
Set WebSearchOnly value
To configure the setting for the AddressBookAvailability, use the following Lync cmdlet. This example sets the global Lync client policy. Always make sure you test this option in a user-scoped policy before changing the global Lync client policy.
# Set the global Client Policy Set-CsClientPolicy -Identity global -AddressBookAvailability WebSearchOnly