FindByURLCaseSensitivity

Documentation for FindByURLCaseSensitivity element

Description

Important: This settings needs to be changed only under the following exceptional circumstances:

  • You use the findByURL() method in your code
  • The default setting for case sensitivity as listed in the table below is incorrect for your implementation.

Two interfaces in the public Broker API (and all classes that implement them have a method called findByURL(). They are:

  • com.tridion.broker.binaries.meta.BinaryMetaHome
  • com.tridion.broker.pages.meta.PageMetaHome

Calling the findByURL method on a class that implements one of these interfaces is one way of retrieving a Page or a binary by way of a URL lookup. Depending on the storage medium you use, the URL lookup of a page or binary by the Content Broker may fail because the lookup is case-sensitive.

For example, when a page is stored on the Windows file system as mypage.html and when IIS is used as a Web and application server, accessing the URL MyPage.html will retrieve the page, as will a call to findByURL().

However, when using Tomcat as a Web and application server, Tomcat would not serve the page (because Tomcat is case-sensitive), but findByURL() would successfully retrieve the page. This leads to inconsistent behavior.

To solve this problem, you can configure the case sensitivity of the findByURL() method in the current element. Only the UNIX file system remains unaffected by this setting.

The following table shows for each storage medium how the value of the current element (or the absence of a value) affects the case sensitivity of the URL lookup.

Storage Type Case-sensitivity if not set Case-sensitivity if set to false Case-sensitivity if set to true SQL Server database case-insensitive case-insensitive case-sensitive Oracle database case-insensitive case-insensitive case-sensitive DB2 database case-insensitive case-insensitive case-sensitive Windows file system case-insensitive case-insensitive case-sensitive UNIX file system case-sensitive case-sensitive (setting is ignored) case-sensitive

For example, the following text makes URL lookup on the Windows operating system case-sensitive:


                                                        <MetaQueryConstants>
                                                        <FindByURLCaseSensitivity Value="true" />
                                                        </MetaQueryConstants>
                                                    

See also Advanced topics about content storage for more information about this setting.

Child elements

Attributes

AttributeDescription and useType
Value

The value of this setting, either true orfalse.

required
string