<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>David McCollough  : SharePoint Tips</title><link>http://weblogs.asp.net/davidmccollough/archive/tags/SharePoint+Tips/default.aspx</link><description>Tags: SharePoint Tips</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Multilingual SharePoint Publishing Sites</title><link>http://weblogs.asp.net/davidmccollough/archive/2009/05/12/multilingual-sharepoint-publishing-sites.aspx</link><pubDate>Wed, 13 May 2009 03:05:28 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7084635</guid><dc:creator>dmccollough</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/davidmccollough/rsscomments.aspx?PostID=7084635</wfw:commentRss><comments>http://weblogs.asp.net/davidmccollough/archive/2009/05/12/multilingual-sharepoint-publishing-sites.aspx#comments</comments><description>&lt;p&gt;I work for &lt;a href="http://www.myspringpoint.com"&gt;SpringPoint Technologies&lt;/a&gt;, they are a Microsoft Managed Gold Partner based in Tulsa Oklahoma.&lt;/p&gt;  &lt;p&gt;Recently I have been presenting the lessons we learned while working on a SharePoint Publishing portal that needed to have Multilingual support.&lt;/p&gt;  &lt;p&gt;I thought I would also present the material here as well and upload my slides.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;Introduction&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Enabling SharePoint variations on a Publishing Portal allows you to (somewhat) easily create a web application where you can have content pages translated into other languages.&lt;/p&gt;  &lt;p&gt;Variations can also be used to provide alternate pages for mobile devices.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;Planning&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Supporting multiple languages should be considered very early in your design process.&lt;/p&gt;  &lt;p&gt;Variations effects all aspects of a publishing portal including site structure, lists, master pages, page layouts, document libraries and basically everything.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;Implementation&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;A key factor in successfully implementing variations is the patch level of the SharePoint Farm.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;The &lt;strong&gt;&lt;em&gt;Minimum&lt;/em&gt;&lt;/strong&gt; level that should be used is 12.0.0.6318. This is MOSS 2007 SP1 plus the infrastructure updates for both WSS 3.0 (&lt;a href="http://support.microsoft.com/kb/951695"&gt;KB 951695&lt;/a&gt;) and MOSS 2007 (&lt;a href="http://support.microsoft.com/kb/951297"&gt;KB 951297&lt;/a&gt;).&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;&lt;a href="http://support.microsoft.com/kb/953334"&gt;MOSS 2007 SP2&lt;/a&gt; is supposed to improve performance and reliability but I have not yet had a chance to download and test.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;If you have Home as your root site, when you turn variations on it will become /EN/Home&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Any code that you might be using to create lists, page instances, site structure will need to be variation aware.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Page content is &lt;strong&gt;NOT&lt;/strong&gt; translated.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Variations labels MUST match the culture codes in order for page propagation to work.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Once variations are turned on, you can’t turn them off.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;Performance&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Creating the site hierarchies for the target sites is &lt;strong&gt;VERY&lt;/strong&gt; resource intensive and time consuming. It is recommended that you create only one target site at a time and verify that all of it’s content has propagated prior to creating any additional sites.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;You &lt;strong&gt;&lt;em&gt;will&lt;/em&gt;&lt;/strong&gt; experience performance problems using variations in a virtual environment, unless that virtual environment very closely mimics physical hardware.&lt;/p&gt;  &lt;p&gt;Depending on site size, page propagation times will vary.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;Lessons Learned&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Hidden pages in a pages gallery will be propagated to the target web sites, but they will not be hidden in the target web sites.&lt;/p&gt;  &lt;p&gt;Document libraries are not propagated to the target web sites.&lt;/p&gt;  &lt;p&gt;If you have a page hidden in the current navigation it will not be hidden in the target web sites.&lt;/p&gt;  &lt;p&gt;Changing the default welcome page requires you to reset it on the target web sites.&lt;/p&gt;  &lt;p&gt;Source variation lists are not propagated to the target web sites. If the content in the lists needs to be translated for each of the target web sites, you will have to create the lists manually or with code on each of the target web sites.&lt;/p&gt;  &lt;p&gt;Only page galleries will be propagated to the target web sites and the pages will be in draft mode.&lt;/p&gt;  &lt;p&gt;Using a custom master page on the source site requires you to reset the master page on the target web sites.&lt;/p&gt;  &lt;p&gt;Images in the source variation are not propagated to the target sites.&lt;/p&gt;  &lt;p&gt;Content types MUST match between page gallery’s in both the source and target web sites.&lt;/p&gt;  &lt;p&gt;Changing the default welcome page requires you to reset it on the target web sites.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;Sample Code&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Retrieve all variation labels and iterate over&lt;/strong&gt;&lt;/p&gt;  &lt;pre&gt;&lt;span style="color: #008000"&gt;// Grab all of the variations.&lt;/span&gt;
&lt;font color="#0000ff"&gt;ReadOnlyCollection&lt;/font&gt;&amp;lt;&lt;font color="#0000ff"&gt;VariationLabel&lt;/font&gt;&amp;gt; variationLabels = &lt;font color="#0000ff"&gt;Variations&lt;/font&gt;.Current.UserAccessibleLabels;

&lt;span style="color: #0000ff"&gt;foreach&lt;/span&gt; (&lt;font color="#0000ff"&gt;VariationLabel&lt;/font&gt; vl &lt;span style="color: #0000ff"&gt;in&lt;/span&gt; variationLabels)
{
   &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; (SPWeb webSite = siteCollection.OpenWeb(&amp;quot;&lt;span style="color: #8b0000"&gt;/&lt;/span&gt;&amp;quot; + vl.Title + &amp;quot;&lt;span style="color: #8b0000"&gt;/AboutUs&lt;/span&gt;&amp;quot;))
   {
	&lt;span style="color: #008000"&gt;// List Creation code omitted …&lt;/span&gt;
   }
}&lt;/pre&gt;

&lt;pre&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;strong&gt;Retrieve all variation labels and iterate over&lt;/strong&gt; 

&lt;pre&gt;&lt;font color="#0000ff"&gt;ReadOnlyCollection&lt;/font&gt;&amp;lt;&lt;font color="#0000ff"&gt;VariationLabel&lt;/font&gt;&amp;gt; variationLabels = &lt;font color="#0000ff"&gt;Variations&lt;/font&gt;.Current.UserAccessibleLabels;

&lt;span style="color: #0000ff"&gt;foreach&lt;/span&gt; (&lt;font color="#0000ff"&gt;VariationLabel&lt;/font&gt; vl &lt;span style="color: #0000ff"&gt;in&lt;/span&gt; variationLabels)
{
   &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (vl.IsSource)
   {
      &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; vl;
   }
}&lt;/pre&gt;

&lt;p&gt;&lt;strong&gt;Retrieve relative URL for current variation&lt;/strong&gt;&lt;/p&gt;

&lt;pre&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt; currentUrl = SPContext.Current.Web.Url;

&lt;font color="#0000ff"&gt;ReadOnlyCollection&lt;/font&gt;&amp;lt;&lt;font color="#0000ff"&gt;VariationLabel&lt;/font&gt;&amp;gt; variationLabels = &lt;font color="#0000ff"&gt;Variations&lt;/font&gt;.Current.UserAccessibleLabels;

&lt;span style="color: #0000ff"&gt;foreach&lt;/span&gt; (&lt;font color="#0000ff"&gt;VariationLabel&lt;/font&gt; vl &lt;span style="color: #0000ff"&gt;in&lt;/span&gt; variationLabels)
{
   &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (currentUrl.StartsWith(vl.TopWebUrl, &lt;font color="#0000ff"&gt;StringComparison&lt;/font&gt;.CurrentCultureIgnoreCase))
   {
      variationUrl = &amp;quot;&lt;span style="color: #8b0000"&gt;/&lt;/span&gt;&amp;quot; + vl.Title;

      &lt;span style="color: #0000ff"&gt;break&lt;/span&gt;;
   }
}&lt;/pre&gt;

&lt;pre&gt;&amp;#160;&lt;/pre&gt;
&lt;strong&gt;&lt;font size="3"&gt;Utilities&lt;/font&gt;&lt;/strong&gt; 

&lt;p&gt;It’s possible that the variation relationships can become corrupt. &lt;a href="http://www.thesug.org/Blogs/lsuslinky/default.aspx"&gt;Tim Dobrinski&lt;/a&gt; has created a variations editor utility to help fix the relationships list. You can download it from this &lt;a href="http://tinyurl.com/dbclsp"&gt;url&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Download the slide deck from &lt;a href="http://cid-cad72f4e0de38670.skydrive.live.com/browse.aspx/Public/Presentations"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Hope this helps anybody that is working with variations.&lt;/p&gt;

&lt;p&gt;David M. McCollough&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7084635" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/davidmccollough/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/davidmccollough/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://weblogs.asp.net/davidmccollough/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://weblogs.asp.net/davidmccollough/archive/tags/MOSS/default.aspx">MOSS</category><category domain="http://weblogs.asp.net/davidmccollough/archive/tags/MOSS+Tools/default.aspx">MOSS Tools</category><category domain="http://weblogs.asp.net/davidmccollough/archive/tags/SharePoint+Variations/default.aspx">SharePoint Variations</category><category domain="http://weblogs.asp.net/davidmccollough/archive/tags/SharePoint+Tips/default.aspx">SharePoint Tips</category><category domain="http://weblogs.asp.net/davidmccollough/archive/tags/SpringPoint+Technologies/default.aspx">SpringPoint Technologies</category><category domain="http://weblogs.asp.net/davidmccollough/archive/tags/Tim+Dobrinski/default.aspx">Tim Dobrinski</category><category domain="http://weblogs.asp.net/davidmccollough/archive/tags/Tulsa/default.aspx">Tulsa</category><category domain="http://weblogs.asp.net/davidmccollough/archive/tags/Multilingual+SharePoint+Sites/default.aspx">Multilingual SharePoint Sites</category></item><item><title>Tulsa SharePoint Monthly Meeting Review</title><link>http://weblogs.asp.net/davidmccollough/archive/2009/04/15/tulsa-sharepoint-monthly-meeting-review.aspx</link><pubDate>Thu, 16 Apr 2009 01:46:56 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7047314</guid><dc:creator>dmccollough</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/davidmccollough/rsscomments.aspx?PostID=7047314</wfw:commentRss><comments>http://weblogs.asp.net/davidmccollough/archive/2009/04/15/tulsa-sharepoint-monthly-meeting-review.aspx#comments</comments><description>&lt;p&gt;On Monday April 13th, I attended the Tulsa SharePoint Monthly meeting.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;We had 3 speakers giving short talks about a variety of topics.&lt;/p&gt;  &lt;p&gt;First up was Shari Alexander,&amp;#160; founder and President of &lt;a href="http://www.presentingmatters.com/Speech-and-Business-Presentation-Coaching.html" target="_blank"&gt;Presenting Matters, LLC&lt;/a&gt;. Her business specializes in teaching business presentation strategies.&lt;/p&gt;  &lt;p&gt;Her topic for our meeting was How Geeks Can Communicate with the Rest of the Business World.&lt;/p&gt;  &lt;p&gt;She had an excellent presentation and gave us some very good information on asking Powerful Questions that will help any technical person effectively communicate with non-technical people.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Next up was Eric Gesinski,&amp;#160; of &lt;a href="http://www.tulsamarketingonline.com/" target="_blank"&gt;Tulsa Marketing Online&lt;/a&gt;. His business specializes in Search Engine Optimization (SEO).&lt;/p&gt;  &lt;p&gt;His topic presented 6 things you should do for SEO and 6 things you shouldn’t do for SEO.&lt;/p&gt;  &lt;p&gt;Eric’s presentation was not specifically geared towards a SharePoint Solution but was about SEO in general and was very informative and I feel that the information that was presented can be applied to a SharePoint public facing web site.&lt;/p&gt;  &lt;p&gt;I know I came away with a much better understanding of how to do SEO and since my last 2 projects at &lt;a href="http://www.myspringpoint.com/Pages/default.aspx" target="_blank"&gt;SpringPoint Technologies&lt;/a&gt; have been public facing SharePoint publishing portals, I know I will put the information to good use.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Last up was the President of our user group &lt;a href="http://www.dennisbottjer.com/" target="_blank"&gt;Dennis Bottjer&lt;/a&gt;. Dennis is a Microsoft MVP and a Solutions Architect for &lt;a href="http://www.myspringpoint.com/"&gt;SpringPoint Technologies&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;His topic was Avoiding Common SharePoint Mistakes. Dennis gave us some very good information about Debugging Steps, Warmup Scripts, IIS Compression, dispose of objects properly, Search and Backups.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Overall this was a very informative meeting and we had a pretty good turnout.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Our meetings are always the 2nd Monday of each month.&lt;/p&gt;  &lt;p&gt;We meet at the Tulsa Community College Northeast Campus, which is located at 3727 East Apache, Tulsa Ok 74115. Meetings start at 6:00 pm and last until around 8:00 pm.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Hope to see everybody at the next meeting.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;David M. McCollough&lt;/p&gt;  &lt;p&gt;Vice-President &amp;amp; Secretary &lt;/p&gt;  &lt;p&gt;Tulsa SharePoint Interest Group&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7047314" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/davidmccollough/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/davidmccollough/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://weblogs.asp.net/davidmccollough/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://weblogs.asp.net/davidmccollough/archive/tags/Dennis+Bottjer/default.aspx">Dennis Bottjer</category><category domain="http://weblogs.asp.net/davidmccollough/archive/tags/Tulsa+SharePoint+Interest+Group/default.aspx">Tulsa SharePoint Interest Group</category><category domain="http://weblogs.asp.net/davidmccollough/archive/tags/SEO/default.aspx">SEO</category><category domain="http://weblogs.asp.net/davidmccollough/archive/tags/Shari+Alexander/default.aspx">Shari Alexander</category><category domain="http://weblogs.asp.net/davidmccollough/archive/tags/Presenting+Matters_2C00_+LLC/default.aspx">Presenting Matters, LLC</category><category domain="http://weblogs.asp.net/davidmccollough/archive/tags/Search+Engine+Optimization/default.aspx">Search Engine Optimization</category><category domain="http://weblogs.asp.net/davidmccollough/archive/tags/Eric+Gesinski/default.aspx">Eric Gesinski</category><category domain="http://weblogs.asp.net/davidmccollough/archive/tags/Tulsa+Marketing+Online/default.aspx">Tulsa Marketing Online</category><category domain="http://weblogs.asp.net/davidmccollough/archive/tags/SharePoint+Tips/default.aspx">SharePoint Tips</category><category domain="http://weblogs.asp.net/davidmccollough/archive/tags/SpringPoint+Technologies/default.aspx">SpringPoint Technologies</category></item></channel></rss>