<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SharePointBlog.nl &#187; Multilingual</title>
	<atom:link href="http://www.sharepointblog.nl/tag/multilingual/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sharepointblog.nl</link>
	<description>Michiel Lankamp</description>
	<lastBuildDate>Wed, 26 May 2010 09:37:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>SearchBox changed in October Cumulative Update</title>
		<link>http://www.sharepointblog.nl/2010/01/28/searchbox-changed-in-october-cumulative-update/</link>
		<comments>http://www.sharepointblog.nl/2010/01/28/searchbox-changed-in-october-cumulative-update/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 16:48:15 +0000</pubDate>
		<dc:creator>Michiel</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[MOSS]]></category>
		<category><![CDATA[Multilingual]]></category>
		<category><![CDATA[October update]]></category>
		<category><![CDATA[ScopeDisplayGroupName]]></category>
		<category><![CDATA[SearchBoxEx]]></category>

		<guid isPermaLink="false">http://www.sharepointblog.nl/2010/01/28/searchbox-changed-in-october-cumulative-update/</guid>
		<description><![CDATA[The problem With the introduction of the October Cumulative Update for SharePoint 2007 I encountered a problem with the search box on multilingual sites. After the installation of the update the scopes dropdown list always uses the same scope display group. After investigation I found that the language of the root web is used to [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.sharepointblog.nl%2F2010%2F01%2F28%2Fsearchbox-changed-in-october-cumulative-update%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.sharepointblog.nl%2F2010%2F01%2F28%2Fsearchbox-changed-in-october-cumulative-update%2F&amp;source=m_lampje&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<h3>The problem</h3>
<p>With the introduction of the October Cumulative Update for SharePoint 2007 I encountered a problem with the search box on multilingual sites. After the installation of the update the scopes dropdown list always uses the same scope display group. After investigation I found that the language of the root web is used to determine the scope display group.</p>
<h3>The cause</h3>
<p>This behavior was not present in the control prior to the October update, in the description of the update (KB975731) we found:</p>
<blockquote><p>&quot;All sites,&quot; &quot;People,&quot; and &quot;This site&quot; search scopes are available only for English language sites. Sites that are written in other languages show only the &quot;This site&quot; search scope.</p>
</blockquote>
<p>This explains that the control has been changed in this update.</p>
<h3>The reason</h3>
<p>Before the October Update the property ScopeDisplayGroupName is set in the constructor of the SearchBoxEx control:</p>
<pre class="csharpcode"><span class="kwrd">this</span>._ScopeDisplayGroupName =
    SearchCommon.GetLocResourceString(
        LocStringId.ScopeDisplayGroup_SearchDropdown_Name);</pre>
<p>In the October Update this line of code has been changed to:</p>
<pre class="csharpcode"><span class="kwrd">this</span>._ScopeDisplayGroupName = GetScopeDisplayGroupNameDefaultValue();</pre>
</p>
<p>This function uses the language from the root web is to determine the value for the ScopeDisplayGroupName property:</p>
<pre class="csharpcode"><span class="kwrd">private</span> <span class="kwrd">static</span> <span class="kwrd">string</span> GetScopeDisplayGroupNameDefaultValue()
{
    <span class="kwrd">if</span> (SPContext.Current != <span class="kwrd">null</span>)
    {
        <span class="kwrd">while</span> (SPContext.Current.Site != <span class="kwrd">null</span>)
        {
            <span class="typ">CultureInfo</span> siteCollectionCulture = <span class="kwrd">null</span>;
            SPSecurity.RunWithElevatedPrivileges(<span class="kwrd">delegate</span> {
                siteCollectionCulture = <span class="kwrd">new</span> CultureInfo(
                    (<span class="kwrd">int</span>) SPContext.Current.Site.RootWeb.Language);
            });
            <span class="kwrd">return</span> StringResourceManager.GetString(
                LocStringId.ScopeDisplayGroup_SearchDropdown_Name,
                    siteCollectionCulture);
        }
    }

    <span class="kwrd">return</span> SearchCommon.GetLocResourceString(
            LocStringId.ScopeDisplayGroup_SearchDropdown_Name);
}</pre>
<h3>The solution</h3>
<p>For this website I want the value for the ScopeDisplayGroupName property to be based on the culture of the current web. To re-enable this functionality we updated our custom master page and added the following to the SearchBoxEx control:</p>
<pre class="csharpcode"><span class="kwrd">&lt;</span><span class="html">sharepoint:searchboxex</span> <span class="attr">runat</span><span class="kwrd">=&quot;server&quot;</span> ...
 <span class="attr">ScopeDisplayGroupName</span><span class="kwrd">=&quot;&lt;%$Resources:searchfix,ScopeDisplayGroup_SearchDropdown_Name%&gt;&quot;</span> <span class="kwrd">/&gt;</span></pre>
<p>In the App_GlobalResources I added custom resource files with the correct translations for the resource key ScopeDisplayGroup_SearchDropdown_Name.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sharepointblog.nl/2010/01/28/searchbox-changed-in-october-cumulative-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
