Introduction

When using Azure Active Directory groups containing an ampersand (&) in the name, a SmartObject filter error occurs when executing the Get List method. This is due to the way in which the .net URI object encodes query strings. To allow the successful execution of the Get List method, edit the Hostserver.exe.config file. Add the setting to turn on the IRI. 

URI = Uniform Resource Identifier

IRI = International Resource Identifier

Use these links as reference for more information on URI and IRI settings:

https://docs.microsoft.com/en-us/dotnet/api/system.uri?view=netframework-4.7.2#international-resource-identifier-support 

https://docs.microsoft.com/en-us/dotnet/api/system.uri.escapedatastring?view=netframework-4.7.2

Steps

Turn on the IRI by following these steps:

  1. Stop the K2 Host Server.
  2. Open the HostServer.exe.config file located in [INSTALLDIR]\Slots\KUID\K2 blackpearl\Host Server\Bin.
  3. Look for the closing tag section "</configSections>".
  4. Add the following section just below the </configSections> section and above the opening tag "<sourcecode.sharepoint.groupProvider>" section:

    <uri>

      <idn enabled="All" />

      <iriParsing enabled="true" />

      </uri>

  5. Start K2 Host Server

Considerations

  1. Rather use Notepad instead of Notepad ++ to make the changes in the Hostserver.exe.config file.
  2. This setting does not depend on a K2 version and is a global setting in the Hostserver.exe.config file.