<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Yves Peneveyre's Blog</title>
    <link>http://www.peneveyre.com/blog/</link>
    <description>Your .NET and Microsoft technologies specialist in Western Switzerland</description>
    <language>en-us</language>
    <copyright>Yves Peneveyre</copyright>
    <lastBuildDate>Fri, 23 Mar 2012 20:12:00 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.3.9074.18820</generator>
    <managingEditor>yves@peneveyre.com</managingEditor>
    <webMaster>yves@peneveyre.com</webMaster>
    <item>
      <trackback:ping>http://www.peneveyre.com/blog/Trackback.aspx?guid=2119aee0-85cd-4ca0-9d88-da591f4f8a2f</trackback:ping>
      <pingback:server>http://www.peneveyre.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.peneveyre.com/blog/PermaLink,guid,2119aee0-85cd-4ca0-9d88-da591f4f8a2f.aspx</pingback:target>
      <dc:creator>Yves Peneveyre</dc:creator>
      <wfw:comment>http://www.peneveyre.com/blog/CommentView,guid,2119aee0-85cd-4ca0-9d88-da591f4f8a2f.aspx</wfw:comment>
      <wfw:commentRss>http://www.peneveyre.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=2119aee0-85cd-4ca0-9d88-da591f4f8a2f</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <a href="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/VS11Beta_2.jpg">
          <img style="background-image: none; border-right-width: 0px; margin: 0px 15px 15px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="VS11Beta" border="0" alt="VS11Beta" align="left" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/VS11Beta_thumb.jpg" width="244" height="88" />
        </a>
        <p>
          <em>This post is also published on <a href="http://www.thesharepointbar.com" target="_blank">The
SharePoint Bar</a></em>
        </p>
        <p>
The 16th of February, Microsoft released the Beta version of the next Visual Studio
development environment, called Visual Studio 11. I made a quick tour of it, and I
wanted to see what will be new in this new version of Visual Studio. But, before going
in the observations I made, I want to emphasize that it is still a Beta version of
the tool. Things can change and what I am writing here will probably be wrong in the
couple of next months, when the final release of Visual Studio will come out.
</p>
        <p>
First, as for the previous version of VS, it exists in several editions : <a href="http://www.microsoft.com/download/en/details.aspx?id=28975" target="_blank">Ultimate</a>, <a href="http://www.microsoft.com/download/en/details.aspx?id=28985" target="_blank">Premium</a>, <a href="http://www.microsoft.com/download/en/details.aspx?id=28992" target="_blank">Professional</a> and
also the <a href="http://www.microsoft.com/download/en/details.aspx?id=28974" target="_blank">Express
one for Windows 8</a>.
</p>
        <p>
The first thing that we can see is the user interface that completely changed, starting
with the splash screen of the installation and also the different screens during the
setup wizard.
</p>
        <p>
          <a href="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/VS11SplashScreen_2.jpg">
            <img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="VS11SplashScreen" border="0" alt="VS11SplashScreen" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/VS11SplashScreen_thumb.jpg" width="215" height="279" />
          </a>
        </p>
        <p>
This is confirmed when we open the tool, all is in gray and black. People will love
it or will hate it, but personally, in a development tool, I am not fan of having
a Christmas tree with a lot of different colors.
</p>
        <p>
In this post, I will focus on the SharePoint development aspects of Visual Studio
and I will not go in too much details, keeping this tour at a high level.
</p>
        <p>
So, when we want to create a new SharePoint project, we can see that it is no longer
possible to develop for SharePoint 2007. Indeed, the SharePoint 2007 project template
is not available. Maybe it will come in the final release, but with SharePoint vNext
coming (we still not know whether it will be SharePoint 15, SharePoint 2013 or even
something else), I doubt that it will be added. As it is shown in the picture below,
the number of templates is limited to the strict necessary : an empty SharePoint project,
importing a solution package, importing a reusable workflow, or starting a Silverlight
or a visual web part projects. The Silverlight web part project is new, but I will
come back to it further in this post.
</p>
        <p>
          <a href="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/NewSPProject_2.jpg">
            <img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="NewSPProject" border="0" alt="NewSPProject" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/NewSPProject_thumb.jpg" width="510" height="354" />
          </a>
        </p>
        <p>
The new project creation wizard has not changed and it is still asking whether you
want to create a sandbox or a farm solution, and also where is your SharePoint installation.
What has not changed, or at least what I saw on my setup, is that you still cannot
develop for SharePoint if you don’t have it installed on your development machine.
</p>
        <p>
          <a href="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/NewSolutionWizard_2.jpg">
            <img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="NewSolutionWizard" border="0" alt="NewSolutionWizard" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/NewSolutionWizard_thumb.jpg" width="506" height="401" />
          </a>
        </p>
        <p>
Once your project is created and you want to create a new item, you have the similar
choices as with the previous version of Visual Studio, only 3 types have been added
: Silverlight web part, site column and site definition. Let’s focus on these three
items a bit more and also on the List and the Content Type items, starting with the
last one.
</p>
        <p>
          <a href="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/NewProjectItem_2.jpg">
            <img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="NewProjectItem" border="0" alt="NewProjectItem" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/NewProjectItem_thumb.jpg" width="569" height="442" />
          </a>
        </p>
        <p>
          <strong>Content Types</strong>
        </p>
        <p>
When you want to add a Content Type, it starts with the wizard, asking you from which
existing content type you want yours to inherit. Once you have selected the parent
content type, you will have a pretty nice surprise. There is now a visual editor for
the content type, split in two tabs : Columns and Content Type. The first tab, Columns
enables you to select the site columns to use, giving you the type of the column at
the same time, and the possibility to specify if a value is required. The second tab,
Content Type, is used to define the name of the content type, in which group to send
it and few other settings. Of course, if you want to go in the CAML definition, you
can still open the .xml file.
</p>
        <p>
          <a href="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/NewCT_2.jpg">
            <img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="NewCT" border="0" alt="NewCT" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/NewCT_thumb.jpg" width="396" height="315" />
          </a>
          <a href="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/CTColumnsTab_2.jpg">
            <img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="CTColumnsTab" border="0" alt="CTColumnsTab" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/CTColumnsTab_thumb.jpg" width="460" height="312" />
          </a>
          <a href="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/CTInfo_2.jpg">
            <img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="CTInfo" border="0" alt="CTInfo" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/CTInfo_thumb.jpg" width="409" height="309" />
          </a>
        </p>
        <p>
          <strong>List</strong>
        </p>
        <p>
Even if the List project item was already existing in VS2010, Microsoft added a visual
designer to it. It is now possible to select the site columns, the content types and
also to define the views for the list. A great improvements for the developers, in
my opinion.
</p>
        <p>
          <a href="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/ListColumnsTab_2.jpg">
            <img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="ListColumnsTab" border="0" alt="ListColumnsTab" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/ListColumnsTab_thumb.jpg" width="396" height="269" />
          </a>
          <a href="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/ListViewsTab_2.jpg">
            <img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="ListViewsTab" border="0" alt="ListViewsTab" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/ListViewsTab_thumb.jpg" width="391" height="265" />
          </a>
          <a href="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/ListCTSelection_2.jpg">
            <img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="ListCTSelection" border="0" alt="ListCTSelection" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/ListCTSelection_thumb.jpg" width="366" height="263" />
          </a>
        </p>
        <p>
          <strong>Site Definition</strong>
        </p>
        <p>
Site definition is a new project item coming with VS11 and what it mainly does is
to create the item with the two necessary files : onet.xml and the webtemp file. That
said, you still have to manually edit the files.
</p>
        <p>
          <strong>Silverlight web part</strong>
        </p>
        <p>
The interesting thing with this new project item is that it creates in reality two
items : a Silverlight project containing then elements like the xaml files, and and
Silverlight web part project item, which contains nothing more than the Elements.xml
and the .webpart files. 
</p>
        <p>
          <a href="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/NewSLWP_2.jpg">
            <img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="NewSLWP" border="0" alt="NewSLWP" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/NewSLWP_thumb.jpg" width="480" height="381" />
          </a>
        </p>
        <p>
At the end, VS11 is promising for the SharePoint developments, but we should not expect
too much from the next version. Some really nice improvements are already there, maybe
some new ones will join in the final release, but again, this was just a first lap
around the functionalities offered by the beta version of Visual Studio 11. I will
come back on specific topics in several other posts in a near future.
</p>
        <p>
Stay tuned !
</p>
        <img width="0" height="0" src="http://www.peneveyre.com/blog/aggbug.ashx?id=2119aee0-85cd-4ca0-9d88-da591f4f8a2f" />
      </body>
      <title>Visual Studio 11 and SharePoint 2010–A first look</title>
      <guid isPermaLink="false">http://www.peneveyre.com/blog/PermaLink,guid,2119aee0-85cd-4ca0-9d88-da591f4f8a2f.aspx</guid>
      <link>http://www.peneveyre.com/blog/PermaLink,guid,2119aee0-85cd-4ca0-9d88-da591f4f8a2f.aspx</link>
      <pubDate>Fri, 23 Mar 2012 20:12:00 GMT</pubDate>
      <description>&lt;a href="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/VS11Beta_2.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px 15px 15px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="VS11Beta" border="0" alt="VS11Beta" align="left" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/VS11Beta_thumb.jpg" width="244" height="88"&gt;&lt;/a&gt; 
&lt;p&gt;
&lt;em&gt;This post is also published on &lt;a href="http://www.thesharepointbar.com" target="_blank"&gt;The
SharePoint Bar&lt;/a&gt;&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
The 16th of February, Microsoft released the Beta version of the next Visual Studio
development environment, called Visual Studio 11. I made a quick tour of it, and I
wanted to see what will be new in this new version of Visual Studio. But, before going
in the observations I made, I want to emphasize that it is still a Beta version of
the tool. Things can change and what I am writing here will probably be wrong in the
couple of next months, when the final release of Visual Studio will come out.
&lt;/p&gt;
&lt;p&gt;
First, as for the previous version of VS, it exists in several editions : &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=28975" target="_blank"&gt;Ultimate&lt;/a&gt;, &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=28985" target="_blank"&gt;Premium&lt;/a&gt;, &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=28992" target="_blank"&gt;Professional&lt;/a&gt; and
also the &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=28974" target="_blank"&gt;Express
one for Windows 8&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
The first thing that we can see is the user interface that completely changed, starting
with the splash screen of the installation and also the different screens during the
setup wizard.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/VS11SplashScreen_2.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="VS11SplashScreen" border="0" alt="VS11SplashScreen" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/VS11SplashScreen_thumb.jpg" width="215" height="279"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
This is confirmed when we open the tool, all is in gray and black. People will love
it or will hate it, but personally, in a development tool, I am not fan of having
a Christmas tree with a lot of different colors.
&lt;/p&gt;
&lt;p&gt;
In this post, I will focus on the SharePoint development aspects of Visual Studio
and I will not go in too much details, keeping this tour at a high level.
&lt;/p&gt;
&lt;p&gt;
So, when we want to create a new SharePoint project, we can see that it is no longer
possible to develop for SharePoint 2007. Indeed, the SharePoint 2007 project template
is not available. Maybe it will come in the final release, but with SharePoint vNext
coming (we still not know whether it will be SharePoint 15, SharePoint 2013 or even
something else), I doubt that it will be added. As it is shown in the picture below,
the number of templates is limited to the strict necessary : an empty SharePoint project,
importing a solution package, importing a reusable workflow, or starting a Silverlight
or a visual web part projects. The Silverlight web part project is new, but I will
come back to it further in this post.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/NewSPProject_2.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="NewSPProject" border="0" alt="NewSPProject" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/NewSPProject_thumb.jpg" width="510" height="354"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
The new project creation wizard has not changed and it is still asking whether you
want to create a sandbox or a farm solution, and also where is your SharePoint installation.
What has not changed, or at least what I saw on my setup, is that you still cannot
develop for SharePoint if you don’t have it installed on your development machine.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/NewSolutionWizard_2.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="NewSolutionWizard" border="0" alt="NewSolutionWizard" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/NewSolutionWizard_thumb.jpg" width="506" height="401"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Once your project is created and you want to create a new item, you have the similar
choices as with the previous version of Visual Studio, only 3 types have been added
: Silverlight web part, site column and site definition. Let’s focus on these three
items a bit more and also on the List and the Content Type items, starting with the
last one.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/NewProjectItem_2.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="NewProjectItem" border="0" alt="NewProjectItem" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/NewProjectItem_thumb.jpg" width="569" height="442"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Content Types&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
When you want to add a Content Type, it starts with the wizard, asking you from which
existing content type you want yours to inherit. Once you have selected the parent
content type, you will have a pretty nice surprise. There is now a visual editor for
the content type, split in two tabs : Columns and Content Type. The first tab, Columns
enables you to select the site columns to use, giving you the type of the column at
the same time, and the possibility to specify if a value is required. The second tab,
Content Type, is used to define the name of the content type, in which group to send
it and few other settings. Of course, if you want to go in the CAML definition, you
can still open the .xml file.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/NewCT_2.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="NewCT" border="0" alt="NewCT" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/NewCT_thumb.jpg" width="396" height="315"&gt;&lt;/a&gt;&lt;a href="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/CTColumnsTab_2.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="CTColumnsTab" border="0" alt="CTColumnsTab" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/CTColumnsTab_thumb.jpg" width="460" height="312"&gt;&lt;/a&gt;&lt;a href="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/CTInfo_2.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="CTInfo" border="0" alt="CTInfo" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/CTInfo_thumb.jpg" width="409" height="309"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;List&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Even if the List project item was already existing in VS2010, Microsoft added a visual
designer to it. It is now possible to select the site columns, the content types and
also to define the views for the list. A great improvements for the developers, in
my opinion.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/ListColumnsTab_2.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="ListColumnsTab" border="0" alt="ListColumnsTab" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/ListColumnsTab_thumb.jpg" width="396" height="269"&gt;&lt;/a&gt;&lt;a href="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/ListViewsTab_2.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="ListViewsTab" border="0" alt="ListViewsTab" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/ListViewsTab_thumb.jpg" width="391" height="265"&gt;&lt;/a&gt;&lt;a href="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/ListCTSelection_2.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="ListCTSelection" border="0" alt="ListCTSelection" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/ListCTSelection_thumb.jpg" width="366" height="263"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Site Definition&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Site definition is a new project item coming with VS11 and what it mainly does is
to create the item with the two necessary files : onet.xml and the webtemp file. That
said, you still have to manually edit the files.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Silverlight web part&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
The interesting thing with this new project item is that it creates in reality two
items : a Silverlight project containing then elements like the xaml files, and and
Silverlight web part project item, which contains nothing more than the Elements.xml
and the .webpart files. 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/NewSLWP_2.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="NewSLWP" border="0" alt="NewSLWP" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/4315e4cfd00c_138B3/NewSLWP_thumb.jpg" width="480" height="381"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
At the end, VS11 is promising for the SharePoint developments, but we should not expect
too much from the next version. Some really nice improvements are already there, maybe
some new ones will join in the final release, but again, this was just a first lap
around the functionalities offered by the beta version of Visual Studio 11. I will
come back on specific topics in several other posts in a near future.
&lt;/p&gt;
&lt;p&gt;
Stay tuned !
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.peneveyre.com/blog/aggbug.ashx?id=2119aee0-85cd-4ca0-9d88-da591f4f8a2f" /&gt;</description>
      <comments>http://www.peneveyre.com/blog/CommentView,guid,2119aee0-85cd-4ca0-9d88-da591f4f8a2f.aspx</comments>
      <category>Programming</category>
      <category>SharePoint</category>
    </item>
    <item>
      <trackback:ping>http://www.peneveyre.com/blog/Trackback.aspx?guid=0faa6721-8294-48e6-aba7-34877f73059a</trackback:ping>
      <pingback:server>http://www.peneveyre.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.peneveyre.com/blog/PermaLink,guid,0faa6721-8294-48e6-aba7-34877f73059a.aspx</pingback:target>
      <dc:creator>Yves Peneveyre</dc:creator>
      <wfw:comment>http://www.peneveyre.com/blog/CommentView,guid,0faa6721-8294-48e6-aba7-34877f73059a.aspx</wfw:comment>
      <wfw:commentRss>http://www.peneveyre.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=0faa6721-8294-48e6-aba7-34877f73059a</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <img style="margin: 0px 10px 0px 0px; display: inline; float: left" align="left" src="http://www.thesharepointbar.com/wp-content/uploads/2012/02/bar1.png" width="144" height="151" />On
the initiative of my colleague and friend Julien, a new SharePoint community blog
has been opened : <a href="http://www.thesharepointbar.com/" target="_blank">The SharePoint
Bar</a>. Indeed, working (and sometimes struggling) daily with SharePoint, we often
said “let’s open a bar”. So, we did it, the bar is open.
</p>
        <p>
The goal is to have a shared platform on which several consultants will publish posts
with their experiences, hints or solutions they had with the SharePoint box. From
my side, the SharePoint-related posts from my personal blog will also be published
on The SharePoint Bar.
</p>
        <p>
As a first step, a <a href="http://www.thesharepointbar.com/?p=170" target="_blank">calendar
of events and conferences was opened</a> and if you want to share one of them that
is not yet published, feel free to drop an e-mail to <a href="mailto:yvespeneveyre.sp@gmail.com">yvespeneveyre.sp@gmail.com</a> .
The rules that apply are also written in <a href="http://www.thesharepointbar.com/?p=170" target="_blank">that
blog post</a>.
</p>
        <img width="0" height="0" src="http://www.peneveyre.com/blog/aggbug.ashx?id=0faa6721-8294-48e6-aba7-34877f73059a" />
      </body>
      <title>The SharePoint Bar : Opening</title>
      <guid isPermaLink="false">http://www.peneveyre.com/blog/PermaLink,guid,0faa6721-8294-48e6-aba7-34877f73059a.aspx</guid>
      <link>http://www.peneveyre.com/blog/PermaLink,guid,0faa6721-8294-48e6-aba7-34877f73059a.aspx</link>
      <pubDate>Wed, 14 Mar 2012 22:39:16 GMT</pubDate>
      <description>&lt;p&gt;
&lt;img style="margin: 0px 10px 0px 0px; display: inline; float: left" align="left" src="http://www.thesharepointbar.com/wp-content/uploads/2012/02/bar1.png" width="144" height="151"&gt;On
the initiative of my colleague and friend Julien, a new SharePoint community blog
has been opened : &lt;a href="http://www.thesharepointbar.com/" target="_blank"&gt;The SharePoint
Bar&lt;/a&gt;. Indeed, working (and sometimes struggling) daily with SharePoint, we often
said “let’s open a bar”. So, we did it, the bar is open.
&lt;/p&gt;
&lt;p&gt;
The goal is to have a shared platform on which several consultants will publish posts
with their experiences, hints or solutions they had with the SharePoint box. From
my side, the SharePoint-related posts from my personal blog will also be published
on The SharePoint Bar.
&lt;/p&gt;
&lt;p&gt;
As a first step, a &lt;a href="http://www.thesharepointbar.com/?p=170" target="_blank"&gt;calendar
of events and conferences was opened&lt;/a&gt; and if you want to share one of them that
is not yet published, feel free to drop an e-mail to &lt;a href="mailto:yvespeneveyre.sp@gmail.com"&gt;yvespeneveyre.sp@gmail.com&lt;/a&gt; .
The rules that apply are also written in &lt;a href="http://www.thesharepointbar.com/?p=170" target="_blank"&gt;that
blog post&lt;/a&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.peneveyre.com/blog/aggbug.ashx?id=0faa6721-8294-48e6-aba7-34877f73059a" /&gt;</description>
      <comments>http://www.peneveyre.com/blog/CommentView,guid,0faa6721-8294-48e6-aba7-34877f73059a.aspx</comments>
      <category>Blog Life</category>
      <category>SharePoint</category>
    </item>
    <item>
      <trackback:ping>http://www.peneveyre.com/blog/Trackback.aspx?guid=6b8601be-d220-4bb3-b617-8ffc54f2f97c</trackback:ping>
      <pingback:server>http://www.peneveyre.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.peneveyre.com/blog/PermaLink,guid,6b8601be-d220-4bb3-b617-8ffc54f2f97c.aspx</pingback:target>
      <dc:creator>Yves Peneveyre</dc:creator>
      <wfw:comment>http://www.peneveyre.com/blog/CommentView,guid,6b8601be-d220-4bb3-b617-8ffc54f2f97c.aspx</wfw:comment>
      <wfw:commentRss>http://www.peneveyre.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=6b8601be-d220-4bb3-b617-8ffc54f2f97c</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Developing ClickOnce WPF application, it was needed to implement a spell checker for
the different text boxes of the application. Our development environment was Windows
7, and using the .NET Framework 4 both the framework and the OS in english. The problem
appeared when we tested the application, where the spell check in french or other
non-english languages was not working at all. After several readings on the web and
other experimentations using a quick-and-dirty application, I would like to give my
findings here.
</p>
        <p>
Basically, the XAML of my testing application is the one below :
</p>
        <p>
&lt;Window x:Class="TestApplication.MainWindow"<br />
        xmlns="<a href="http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot;">http://schemas.microsoft.com/winfx/2006/xaml/presentation"</a><br />
        xmlns:x="<a href="http://schemas.microsoft.com/winfx/2006/xaml&quot;">http://schemas.microsoft.com/winfx/2006/xaml"</a><br />
        Title="MainWindow" Height="350" Width="525"&gt;<br />
    &lt;Grid&gt;<br />
        &lt;RichTextBox Margin="0,52,0,65" Name="rtbText"
SpellCheck.IsEnabled="True" Language="fr"&gt;<br />
            &lt;FlowDocument&gt;<br />
               
&lt;Paragraph&gt;<br />
                   
The quick brown fox jumps over the lazy dog<br />
                   
Le renard brun rapide saute sur le chien paresseux<br />
                   
Die schnelle braune Fuchs springt über den faulen Hund<br />
               
&lt;/Paragraph&gt;<br />
            &lt;/FlowDocument&gt;<br />
        &lt;/RichTextBox&gt;<br />
        &lt;Button Content="FR" Height="23" HorizontalAlignment="Left"
Name="btnFR" VerticalAlignment="Top" Width="30" Click="btnFR_Click" /&gt;<br />
        &lt;Button Content="EN" Height="23" HorizontalAlignment="Left"
Margin="36,0,0,0" Name="btnEN" VerticalAlignment="Top" Width="30" Click="btnEN_Click"
/&gt;<br />
        &lt;Button Content="Save" Height="23" HorizontalAlignment="Left"
Margin="428,0,0,0" Name="btnSave" VerticalAlignment="Top" Width="75" Click="btnSave_Click"
/&gt;<br />
        &lt;RichTextBox Language="fr" Margin="0,264,97,0"
Name="rtbSwitch" SpellCheck.IsEnabled="True"&gt;<br />
        &lt;/RichTextBox&gt;<br />
        &lt;Button Content="DE" Height="23" HorizontalAlignment="Left"
Margin="72,0,0,0" Name="btnDE" VerticalAlignment="Top" Width="30" Click="btnDE_Click"
/&gt;<br />
    &lt;/Grid&gt;<br />
&lt;/Window&gt;
</p>
        <p>
Which gives the window below :
</p>
        <p>
          <a href="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/13241bc35c97_1350B/image_2.png">
            <img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/13241bc35c97_1350B/image_thumb.png" width="336" height="225" />
          </a>
        </p>
        <p>
When one of the upper-left button is clicked, a code similar to the one below is executed
:
</p>
        <p>
private void btnEN_Click(object sender, RoutedEventArgs e)<br />
{<br />
  TextRange tr = new TextRange(rtbText.Document.ContentStart, rtbText.Document.ContentEnd);<br />
  tr.ApplyPropertyValue(FlowDocument.LanguageProperty, "en");<br />
}<br /></p>
        <p>
 
</p>
        <p>
Basically, it takes the whole content of the Rich Text Box and change the “Language”
property to the language in which the spell check has to be done.
</p>
        <p>
Now, the problem is that if you compile the application on the .NET Framework 4, it
will not work........unless the corresponding language packs of the Framework. They
are all available on the <a href="http://www.microsoft.com/download/en/details.aspx?id=23067" target="_blank">Microsoft
Download Center</a>. Indeed, according to the table below, as soon as you use the
.NET Framework 4, the language packs have to be installed, whereas if you use the
.NET Framework 3.5 SP1, it depends on the platform on which the application is running.
On Windows Vista and Windows 7, no need to install the language packs, for Windows
XP, they are needed :
</p>
        <table border="0" cellspacing="0" cellpadding="2" width="650">
          <tbody>
            <tr>
              <td valign="top" width="100">
 </td>
              <td valign="top" width="149">
Windows XP</td>
              <td valign="top" width="201">
Windows Vista</td>
              <td valign="top" width="198">
Windows 7</td>
            </tr>
            <tr>
              <td valign="top" width="100">
.NET 3.5 SP1</td>
              <td valign="top" width="149">
Language Packs Needed</td>
              <td valign="top" width="201">
No need for the Language Packs</td>
              <td valign="top" width="198">
No need for the Language Packs</td>
            </tr>
            <tr>
              <td valign="top" width="100">
.NET 4</td>
              <td valign="top" width="149">
Language Packs Needed</td>
              <td valign="top" width="201">
Language Packs Needed</td>
              <td valign="top" width="198">
Language Packs Needed</td>
            </tr>
          </tbody>
        </table>
        <p>
 
</p>
        <p>
So, reverting back to the .NET Framework 3.5 made the spell checking to work.
</p>
        <p>
That would be it, but, when typing new text, the spell check was not working and the
reason can be found in the XAML extract of the Rich Text Box (“Save” button). When
switching to english, I supposed that the new text would be checked against the english
language, which is completely wrong. The XAML below shows the text right after the
switch to the english language :
</p>
        <p>
&lt;Section xmlns="<a href="http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot;">http://schemas.microsoft.com/winfx/2006/xaml/presentation"</a> xml:space="preserve"
TextAlignment="Left" LineHeight="Auto" IsHyphenationEnabled="False" xml:lang="fr"
FlowDirection="LeftToRight" NumberSubstitution.CultureSource="Text" NumberSubstitution.Substitution="AsCulture"
FontFamily="Segoe UI" FontStyle="Normal" FontWeight="Normal" FontStretch="Normal"
FontSize="12" Foreground="#FF000000" Typography.StandardLigatures="True" Typography.ContextualLigatures="True"
Typography.DiscretionaryLigatures="False" Typography.HistoricalLigatures="False" Typography.AnnotationAlternates="0"
Typography.ContextualAlternates="True" Typography.HistoricalForms="False" Typography.Kerning="True"
Typography.CapitalSpacing="False" Typography.CaseSensitiveForms="False" Typography.StylisticSet1="False"
Typography.StylisticSet2="False" Typography.StylisticSet3="False" Typography.StylisticSet4="False"
Typography.StylisticSet5="False" Typography.StylisticSet6="False" Typography.StylisticSet7="False"
Typography.StylisticSet8="False" Typography.StylisticSet9="False" Typography.StylisticSet10="False"
Typography.StylisticSet11="False" Typography.StylisticSet12="False" Typography.StylisticSet13="False"
Typography.StylisticSet14="False" Typography.StylisticSet15="False" Typography.StylisticSet16="False"
Typography.StylisticSet17="False" Typography.StylisticSet18="False" Typography.StylisticSet19="False"
Typography.StylisticSet20="False" Typography.Fraction="Normal" Typography.SlashedZero="False"
Typography.MathematicalGreek="False" Typography.EastAsianExpertForms="False" Typography.Variants="Normal"
Typography.Capitals="Normal" Typography.NumeralStyle="Normal" Typography.NumeralAlignment="Normal"
Typography.EastAsianWidths="Normal" Typography.EastAsianLanguage="Normal" Typography.StandardSwashes="0"
Typography.ContextualSwashes="0" Typography.StylisticAlternates="0"&gt;&lt;Paragraph&gt;&lt;Run
xml:lang="en"&gt;The quick brown fox jumps over the lazy dog Le renard brun rapide
saute sur le chien paresseux Die schnelle braune Fuchs springt über den faulen Hund&lt;/Run&gt;&lt;/Paragraph&gt;&lt;/Section&gt;
</p>
        <p>
The interesting part is the last &lt;Run&gt; element, that contains an xml:lang=”en”
attribute, specifying that the enclosed text is in english. When some text is entered,
the corresponding XAML becomes the following :
</p>
        <p>
&lt;Section xmlns="<a href="http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot;">http://schemas.microsoft.com/winfx/2006/xaml/presentation"</a> xml:space="preserve"
TextAlignment="Left" LineHeight="Auto" IsHyphenationEnabled="False" xml:lang="fr"
FlowDirection="LeftToRight" NumberSubstitution.CultureSource="Text" NumberSubstitution.Substitution="AsCulture"
FontFamily="Segoe UI" FontStyle="Normal" FontWeight="Normal" FontStretch="Normal"
FontSize="12" Foreground="#FF000000" Typography.StandardLigatures="True" Typography.ContextualLigatures="True"
Typography.DiscretionaryLigatures="False" Typography.HistoricalLigatures="False" Typography.AnnotationAlternates="0"
Typography.ContextualAlternates="True" Typography.HistoricalForms="False" Typography.Kerning="True"
Typography.CapitalSpacing="False" Typography.CaseSensitiveForms="False" Typography.StylisticSet1="False"
Typography.StylisticSet2="False" Typography.StylisticSet3="False" Typography.StylisticSet4="False"
Typography.StylisticSet5="False" Typography.StylisticSet6="False" Typography.StylisticSet7="False"
Typography.StylisticSet8="False" Typography.StylisticSet9="False" Typography.StylisticSet10="False"
Typography.StylisticSet11="False" Typography.StylisticSet12="False" Typography.StylisticSet13="False"
Typography.StylisticSet14="False" Typography.StylisticSet15="False" Typography.StylisticSet16="False"
Typography.StylisticSet17="False" Typography.StylisticSet18="False" Typography.StylisticSet19="False"
Typography.StylisticSet20="False" Typography.Fraction="Normal" Typography.SlashedZero="False"
Typography.MathematicalGreek="False" Typography.EastAsianExpertForms="False" Typography.Variants="Normal"
Typography.Capitals="Normal" Typography.NumeralStyle="Normal" Typography.NumeralAlignment="Normal"
Typography.EastAsianWidths="Normal" Typography.EastAsianLanguage="Normal" Typography.StandardSwashes="0"
Typography.ContextualSwashes="0" Typography.StylisticAlternates="0"&gt;&lt;Paragraph&gt;&lt;Run
xml:lang="en"&gt;The quick brown fox jumps over the lazy dog Le renard brun rapide
saute sur le chien paresseux Die schnelle braune Fuchs springt über den faulen Hund&lt;/Run&gt;&lt;Run
xml:lang="fr-ch"&gt; another text &lt;/Run&gt;&lt;/Paragraph&gt;&lt;/Section&gt;
</p>
        <p>
Surprisingly, the last &lt;Run&gt; element is now using the xml:lang=”fr-ch” language.
What happens ? It simply takes the input language of the keyboard. It also means that
if you want to change the on-the-fly spell check, the input language has to be changed.
As an example, the click event handler written above becomes :
</p>
        <p>
private void btnEN_Click(object sender, RoutedEventArgs e)<br />
{<br />
  TextRange tr = new TextRange(rtbText.Document.ContentStart, rtbText.Document.ContentEnd);<br />
  tr.ApplyPropertyValue(FlowDocument.LanguageProperty, "en");<br />
  InputLanguageManager.Current.CurrentInputLanguage = new CultureInfo("en-us");<br />
}
</p>
        <p>
At the last line of the event handler, the keyboard input language is changed and
you will notice it in the tray bar, if displaying the current input language, that
the locale has changed. Very important, the culture has to absolutely match an input
language installed in the regional settings.
</p>
        <p>
Changing the input language is not the best way as it changes the layout of the keyboard
(for example, switching to en-us a fr-ch keyboard layout will lose the accented characters)
and so far I have not yet found a way to workaround this.
</p>
        <img width="0" height="0" src="http://www.peneveyre.com/blog/aggbug.ashx?id=6b8601be-d220-4bb3-b617-8ffc54f2f97c" />
      </body>
      <title>Multilingual Spell Checking in a WPF application</title>
      <guid isPermaLink="false">http://www.peneveyre.com/blog/PermaLink,guid,6b8601be-d220-4bb3-b617-8ffc54f2f97c.aspx</guid>
      <link>http://www.peneveyre.com/blog/PermaLink,guid,6b8601be-d220-4bb3-b617-8ffc54f2f97c.aspx</link>
      <pubDate>Tue, 21 Feb 2012 23:12:20 GMT</pubDate>
      <description>&lt;p&gt;
Developing ClickOnce WPF application, it was needed to implement a spell checker for
the different text boxes of the application. Our development environment was Windows
7, and using the .NET Framework 4 both the framework and the OS in english. The problem
appeared when we tested the application, where the spell check in french or other
non-english languages was not working at all. After several readings on the web and
other experimentations using a quick-and-dirty application, I would like to give my
findings here.
&lt;/p&gt;
&lt;p&gt;
Basically, the XAML of my testing application is the one below :
&lt;/p&gt;
&lt;p&gt;
&amp;lt;Window x:Class="TestApplication.MainWindow"&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns="&lt;a href="http://schemas.microsoft.com/winfx/2006/xaml/presentation&amp;quot;"&gt;http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;/a&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:x="&lt;a href="http://schemas.microsoft.com/winfx/2006/xaml&amp;quot;"&gt;http://schemas.microsoft.com/winfx/2006/xaml"&lt;/a&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Title="MainWindow" Height="350" Width="525"&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Grid&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;RichTextBox Margin="0,52,0,65" Name="rtbText"
SpellCheck.IsEnabled="True" Language="fr"&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;FlowDocument&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;Paragraph&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
The quick brown fox jumps over the lazy dog&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
Le renard brun rapide saute sur le chien paresseux&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
Die schnelle braune Fuchs springt über den faulen Hund&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;/Paragraph&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/FlowDocument&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/RichTextBox&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Button Content="FR" Height="23" HorizontalAlignment="Left"
Name="btnFR" VerticalAlignment="Top" Width="30" Click="btnFR_Click" /&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Button Content="EN" Height="23" HorizontalAlignment="Left"
Margin="36,0,0,0" Name="btnEN" VerticalAlignment="Top" Width="30" Click="btnEN_Click"
/&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Button Content="Save" Height="23" HorizontalAlignment="Left"
Margin="428,0,0,0" Name="btnSave" VerticalAlignment="Top" Width="75" Click="btnSave_Click"
/&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;RichTextBox Language="fr" Margin="0,264,97,0"
Name="rtbSwitch" SpellCheck.IsEnabled="True"&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/RichTextBox&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Button Content="DE" Height="23" HorizontalAlignment="Left"
Margin="72,0,0,0" Name="btnDE" VerticalAlignment="Top" Width="30" Click="btnDE_Click"
/&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Grid&amp;gt;&lt;br&gt;
&amp;lt;/Window&amp;gt;
&lt;/p&gt;
&lt;p&gt;
Which gives the window below :
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/13241bc35c97_1350B/image_2.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/13241bc35c97_1350B/image_thumb.png" width="336" height="225"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
When one of the upper-left button is clicked, a code similar to the one below is executed
:
&lt;/p&gt;
&lt;p&gt;
private void btnEN_Click(object sender, RoutedEventArgs e)&lt;br&gt;
{&lt;br&gt;
&amp;nbsp; TextRange tr = new TextRange(rtbText.Document.ContentStart, rtbText.Document.ContentEnd);&lt;br&gt;
&amp;nbsp; tr.ApplyPropertyValue(FlowDocument.LanguageProperty, "en");&lt;br&gt;
}&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Basically, it takes the whole content of the Rich Text Box and change the “Language”
property to the language in which the spell check has to be done.
&lt;/p&gt;
&lt;p&gt;
Now, the problem is that if you compile the application on the .NET Framework 4, it
will not work........unless the corresponding language packs of the Framework. They
are all available on the &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=23067" target="_blank"&gt;Microsoft
Download Center&lt;/a&gt;. Indeed, according to the table below, as soon as you use the
.NET Framework 4, the language packs have to be installed, whereas if you use the
.NET Framework 3.5 SP1, it depends on the platform on which the application is running.
On Windows Vista and Windows 7, no need to install the language packs, for Windows
XP, they are needed :
&lt;/p&gt;
&lt;table border="0" cellspacing="0" cellpadding="2" width="650"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="100"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td valign="top" width="149"&gt;
Windows XP&lt;/td&gt;
&lt;td valign="top" width="201"&gt;
Windows Vista&lt;/td&gt;
&lt;td valign="top" width="198"&gt;
Windows 7&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="100"&gt;
.NET 3.5 SP1&lt;/td&gt;
&lt;td valign="top" width="149"&gt;
Language Packs Needed&lt;/td&gt;
&lt;td valign="top" width="201"&gt;
No need for the Language Packs&lt;/td&gt;
&lt;td valign="top" width="198"&gt;
No need for the Language Packs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="100"&gt;
.NET 4&lt;/td&gt;
&lt;td valign="top" width="149"&gt;
Language Packs Needed&lt;/td&gt;
&lt;td valign="top" width="201"&gt;
Language Packs Needed&lt;/td&gt;
&lt;td valign="top" width="198"&gt;
Language Packs Needed&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
So, reverting back to the .NET Framework 3.5 made the spell checking to work.
&lt;/p&gt;
&lt;p&gt;
That would be it, but, when typing new text, the spell check was not working and the
reason can be found in the XAML extract of the Rich Text Box (“Save” button). When
switching to english, I supposed that the new text would be checked against the english
language, which is completely wrong. The XAML below shows the text right after the
switch to the english language :
&lt;/p&gt;
&lt;p&gt;
&amp;lt;Section xmlns="&lt;a href="http://schemas.microsoft.com/winfx/2006/xaml/presentation&amp;quot;"&gt;http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;/a&gt; xml:space="preserve"
TextAlignment="Left" LineHeight="Auto" IsHyphenationEnabled="False" xml:lang="fr"
FlowDirection="LeftToRight" NumberSubstitution.CultureSource="Text" NumberSubstitution.Substitution="AsCulture"
FontFamily="Segoe UI" FontStyle="Normal" FontWeight="Normal" FontStretch="Normal"
FontSize="12" Foreground="#FF000000" Typography.StandardLigatures="True" Typography.ContextualLigatures="True"
Typography.DiscretionaryLigatures="False" Typography.HistoricalLigatures="False" Typography.AnnotationAlternates="0"
Typography.ContextualAlternates="True" Typography.HistoricalForms="False" Typography.Kerning="True"
Typography.CapitalSpacing="False" Typography.CaseSensitiveForms="False" Typography.StylisticSet1="False"
Typography.StylisticSet2="False" Typography.StylisticSet3="False" Typography.StylisticSet4="False"
Typography.StylisticSet5="False" Typography.StylisticSet6="False" Typography.StylisticSet7="False"
Typography.StylisticSet8="False" Typography.StylisticSet9="False" Typography.StylisticSet10="False"
Typography.StylisticSet11="False" Typography.StylisticSet12="False" Typography.StylisticSet13="False"
Typography.StylisticSet14="False" Typography.StylisticSet15="False" Typography.StylisticSet16="False"
Typography.StylisticSet17="False" Typography.StylisticSet18="False" Typography.StylisticSet19="False"
Typography.StylisticSet20="False" Typography.Fraction="Normal" Typography.SlashedZero="False"
Typography.MathematicalGreek="False" Typography.EastAsianExpertForms="False" Typography.Variants="Normal"
Typography.Capitals="Normal" Typography.NumeralStyle="Normal" Typography.NumeralAlignment="Normal"
Typography.EastAsianWidths="Normal" Typography.EastAsianLanguage="Normal" Typography.StandardSwashes="0"
Typography.ContextualSwashes="0" Typography.StylisticAlternates="0"&amp;gt;&amp;lt;Paragraph&amp;gt;&amp;lt;Run
xml:lang="en"&amp;gt;The quick brown fox jumps over the lazy dog Le renard brun rapide
saute sur le chien paresseux Die schnelle braune Fuchs springt über den faulen Hund&amp;lt;/Run&amp;gt;&amp;lt;/Paragraph&amp;gt;&amp;lt;/Section&amp;gt;
&lt;/p&gt;
&lt;p&gt;
The interesting part is the last &amp;lt;Run&amp;gt; element, that contains an xml:lang=”en”
attribute, specifying that the enclosed text is in english. When some text is entered,
the corresponding XAML becomes the following :
&lt;/p&gt;
&lt;p&gt;
&amp;lt;Section xmlns="&lt;a href="http://schemas.microsoft.com/winfx/2006/xaml/presentation&amp;quot;"&gt;http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;/a&gt; xml:space="preserve"
TextAlignment="Left" LineHeight="Auto" IsHyphenationEnabled="False" xml:lang="fr"
FlowDirection="LeftToRight" NumberSubstitution.CultureSource="Text" NumberSubstitution.Substitution="AsCulture"
FontFamily="Segoe UI" FontStyle="Normal" FontWeight="Normal" FontStretch="Normal"
FontSize="12" Foreground="#FF000000" Typography.StandardLigatures="True" Typography.ContextualLigatures="True"
Typography.DiscretionaryLigatures="False" Typography.HistoricalLigatures="False" Typography.AnnotationAlternates="0"
Typography.ContextualAlternates="True" Typography.HistoricalForms="False" Typography.Kerning="True"
Typography.CapitalSpacing="False" Typography.CaseSensitiveForms="False" Typography.StylisticSet1="False"
Typography.StylisticSet2="False" Typography.StylisticSet3="False" Typography.StylisticSet4="False"
Typography.StylisticSet5="False" Typography.StylisticSet6="False" Typography.StylisticSet7="False"
Typography.StylisticSet8="False" Typography.StylisticSet9="False" Typography.StylisticSet10="False"
Typography.StylisticSet11="False" Typography.StylisticSet12="False" Typography.StylisticSet13="False"
Typography.StylisticSet14="False" Typography.StylisticSet15="False" Typography.StylisticSet16="False"
Typography.StylisticSet17="False" Typography.StylisticSet18="False" Typography.StylisticSet19="False"
Typography.StylisticSet20="False" Typography.Fraction="Normal" Typography.SlashedZero="False"
Typography.MathematicalGreek="False" Typography.EastAsianExpertForms="False" Typography.Variants="Normal"
Typography.Capitals="Normal" Typography.NumeralStyle="Normal" Typography.NumeralAlignment="Normal"
Typography.EastAsianWidths="Normal" Typography.EastAsianLanguage="Normal" Typography.StandardSwashes="0"
Typography.ContextualSwashes="0" Typography.StylisticAlternates="0"&amp;gt;&amp;lt;Paragraph&amp;gt;&amp;lt;Run
xml:lang="en"&amp;gt;The quick brown fox jumps over the lazy dog Le renard brun rapide
saute sur le chien paresseux Die schnelle braune Fuchs springt über den faulen Hund&amp;lt;/Run&amp;gt;&amp;lt;Run
xml:lang="fr-ch"&amp;gt; another text &amp;lt;/Run&amp;gt;&amp;lt;/Paragraph&amp;gt;&amp;lt;/Section&amp;gt;
&lt;/p&gt;
&lt;p&gt;
Surprisingly, the last &amp;lt;Run&amp;gt; element is now using the xml:lang=”fr-ch” language.
What happens ? It simply takes the input language of the keyboard. It also means that
if you want to change the on-the-fly spell check, the input language has to be changed.
As an example, the click event handler written above becomes :
&lt;/p&gt;
&lt;p&gt;
private void btnEN_Click(object sender, RoutedEventArgs e)&lt;br&gt;
{&lt;br&gt;
&amp;nbsp; TextRange tr = new TextRange(rtbText.Document.ContentStart, rtbText.Document.ContentEnd);&lt;br&gt;
&amp;nbsp; tr.ApplyPropertyValue(FlowDocument.LanguageProperty, "en");&lt;br&gt;
&amp;nbsp; InputLanguageManager.Current.CurrentInputLanguage = new CultureInfo("en-us");&lt;br&gt;
}
&lt;/p&gt;
&lt;p&gt;
At the last line of the event handler, the keyboard input language is changed and
you will notice it in the tray bar, if displaying the current input language, that
the locale has changed. Very important, the culture has to absolutely match an input
language installed in the regional settings.
&lt;/p&gt;
&lt;p&gt;
Changing the input language is not the best way as it changes the layout of the keyboard
(for example, switching to en-us a fr-ch keyboard layout will lose the accented characters)
and so far I have not yet found a way to workaround this.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.peneveyre.com/blog/aggbug.ashx?id=6b8601be-d220-4bb3-b617-8ffc54f2f97c" /&gt;</description>
      <comments>http://www.peneveyre.com/blog/CommentView,guid,6b8601be-d220-4bb3-b617-8ffc54f2f97c.aspx</comments>
      <category>.NET</category>
      <category>Programming</category>
    </item>
    <item>
      <trackback:ping>http://www.peneveyre.com/blog/Trackback.aspx?guid=f1542ef8-5363-46fd-a7e2-c72d4ffe8908</trackback:ping>
      <pingback:server>http://www.peneveyre.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.peneveyre.com/blog/PermaLink,guid,f1542ef8-5363-46fd-a7e2-c72d4ffe8908.aspx</pingback:target>
      <dc:creator>Yves Peneveyre</dc:creator>
      <wfw:comment>http://www.peneveyre.com/blog/CommentView,guid,f1542ef8-5363-46fd-a7e2-c72d4ffe8908.aspx</wfw:comment>
      <wfw:commentRss>http://www.peneveyre.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=f1542ef8-5363-46fd-a7e2-c72d4ffe8908</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <strong>Title :</strong> Professional SharePoint 2010 Branding and User Interface
Design
</p>
        <p>
          <strong>Author :</strong> Randy Drisgill, John Ross, Jacob J. Stanford, Paul Stubbs,
Larry Riemann
</p>
        <p>
          <img src="http://ecx.images-amazon.com/images/I/5172NCsRuUL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA300_SH20_OU01_.jpg" width="128" height="128" />
        </p>
        <p>
          <strong>Summary :<br /></strong>Almost end of last year, I started a SharePoint 2010 web site project and
I was wondering if there was interesting resources about SharePoint 2010 branding.
I had already some experience on both SharePoint 2007 and 2010 branding, but it is
always good to see if one follows the correct way when implementing a public-faced
site. At that time, my main source of information was the blog and the site of <a href="http://www.andrewconnell.com/blog/" target="_blank">Andrew
Connell</a>, then I found this book, “<a href="http://www.amazon.com/Professional-SharePoint-Branding-Interface-Programmer/dp/0470584645/ref=sr_1_1?ie=UTF8&amp;qid=1327351738&amp;sr=8-1#_" target="_blank">Professional
SharePoint 2010 Branding and User Interface Design</a>”. Excellent coincidence as
my primary focus at the <a href="http://www.mssharepointconference.com" target="_blank">SharePoint
Conference 2011</a> (<a href="http://twitter.com/#!/search/%23SPC11" target="_blank">#SPC11</a>)
was branding and the authors (Randy Drisgill and John Ross) of this book had several
sessions on the topic; sessions that were of a great quality.
</p>
        <p>
This book starts with the basics, explaining the different types of branding, before
giving an overview of the Cascading Style Sheets. Even if they use the word “overview”,
the level of details is already good enough to start a good work. Then, Master Pages,
Page Layouts and web parts are each of them explained in detail. Here, I would never
enough recommend to use the <a href="http://startermasterpages.codeplex.com/" target="_blank">Starter
Master Pages for SharePoint 2010</a> as they are a great accelerators when starting
a layout. The fourth part ends with the branding deployment. The last part focuses
on the ribbon, the Client Object Model, jQuery and Silverlight.
</p>
        <p>
          <strong>Book Review :<br /></strong>Let’s be short, this book is a must-have for all the people that want to
start branding SharePoint 2010. The way the authors explain how the different part
of SharePoint take place in the graphical design is very well explained. There are
a lot of examples and code samples. The code presented is not too long to be followed
when reading the book, meaning that you don’t absolutely have to download the samples
to understand, which I appreciate a lot. Moreover, the examples the reader goes through
in the book make sense and we could imagine that the Randy’s Waffles site is a real
project (by the way, have a look at the <a href="http://syrpandbacn.com" target="_blank">SYRP/BACN
site</a>, used during the SPC11 conference’s sessions).
</p>
        <p>
Finally, even if the book’s primary focus is the publishing functionality of SharePoint,
most of what it contains can also be applied to non-publishing sites.
</p>
        <p>
And, yes, again, in my opinion, this book was missing in the SharePoint 2010 book
offering.
</p>
        <img width="0" height="0" src="http://www.peneveyre.com/blog/aggbug.ashx?id=f1542ef8-5363-46fd-a7e2-c72d4ffe8908" />
      </body>
      <title>Book Review : Professional SharePoint 2010 Branding and User Interface Design</title>
      <guid isPermaLink="false">http://www.peneveyre.com/blog/PermaLink,guid,f1542ef8-5363-46fd-a7e2-c72d4ffe8908.aspx</guid>
      <link>http://www.peneveyre.com/blog/PermaLink,guid,f1542ef8-5363-46fd-a7e2-c72d4ffe8908.aspx</link>
      <pubDate>Tue, 24 Jan 2012 02:21:00 GMT</pubDate>
      <description>&lt;p&gt;
&lt;strong&gt;Title :&lt;/strong&gt; Professional SharePoint 2010 Branding and User Interface
Design
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Author :&lt;/strong&gt; Randy Drisgill, John Ross, Jacob J. Stanford, Paul Stubbs,
Larry Riemann
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://ecx.images-amazon.com/images/I/5172NCsRuUL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA300_SH20_OU01_.jpg" width="128" height="128"&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Summary :&lt;br&gt;
&lt;/strong&gt;Almost end of last year, I started a SharePoint 2010 web site project and
I was wondering if there was interesting resources about SharePoint 2010 branding.
I had already some experience on both SharePoint 2007 and 2010 branding, but it is
always good to see if one follows the correct way when implementing a public-faced
site. At that time, my main source of information was the blog and the site of &lt;a href="http://www.andrewconnell.com/blog/" target="_blank"&gt;Andrew
Connell&lt;/a&gt;, then I found this book, “&lt;a href="http://www.amazon.com/Professional-SharePoint-Branding-Interface-Programmer/dp/0470584645/ref=sr_1_1?ie=UTF8&amp;amp;qid=1327351738&amp;amp;sr=8-1#_" target="_blank"&gt;Professional
SharePoint 2010 Branding and User Interface Design&lt;/a&gt;”. Excellent coincidence as
my primary focus at the &lt;a href="http://www.mssharepointconference.com" target="_blank"&gt;SharePoint
Conference 2011&lt;/a&gt; (&lt;a href="http://twitter.com/#!/search/%23SPC11" target="_blank"&gt;#SPC11&lt;/a&gt;)
was branding and the authors (Randy Drisgill and John Ross) of this book had several
sessions on the topic; sessions that were of a great quality.
&lt;/p&gt;
&lt;p&gt;
This book starts with the basics, explaining the different types of branding, before
giving an overview of the Cascading Style Sheets. Even if they use the word “overview”,
the level of details is already good enough to start a good work. Then, Master Pages,
Page Layouts and web parts are each of them explained in detail. Here, I would never
enough recommend to use the &lt;a href="http://startermasterpages.codeplex.com/" target="_blank"&gt;Starter
Master Pages for SharePoint 2010&lt;/a&gt; as they are a great accelerators when starting
a layout. The fourth part ends with the branding deployment. The last part focuses
on the ribbon, the Client Object Model, jQuery and Silverlight.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Book Review :&lt;br&gt;
&lt;/strong&gt;Let’s be short, this book is a must-have for all the people that want to
start branding SharePoint 2010. The way the authors explain how the different part
of SharePoint take place in the graphical design is very well explained. There are
a lot of examples and code samples. The code presented is not too long to be followed
when reading the book, meaning that you don’t absolutely have to download the samples
to understand, which I appreciate a lot. Moreover, the examples the reader goes through
in the book make sense and we could imagine that the Randy’s Waffles site is a real
project (by the way, have a look at the &lt;a href="http://syrpandbacn.com" target="_blank"&gt;SYRP/BACN
site&lt;/a&gt;, used during the SPC11 conference’s sessions).
&lt;/p&gt;
&lt;p&gt;
Finally, even if the book’s primary focus is the publishing functionality of SharePoint,
most of what it contains can also be applied to non-publishing sites.
&lt;/p&gt;
&lt;p&gt;
And, yes, again, in my opinion, this book was missing in the SharePoint 2010 book
offering.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.peneveyre.com/blog/aggbug.ashx?id=f1542ef8-5363-46fd-a7e2-c72d4ffe8908" /&gt;</description>
      <comments>http://www.peneveyre.com/blog/CommentView,guid,f1542ef8-5363-46fd-a7e2-c72d4ffe8908.aspx</comments>
      <category>Book Review</category>
      <category>SharePoint</category>
    </item>
    <item>
      <trackback:ping>http://www.peneveyre.com/blog/Trackback.aspx?guid=33bdd1c7-eb2a-4a92-9c14-53b21bfcfcca</trackback:ping>
      <pingback:server>http://www.peneveyre.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.peneveyre.com/blog/PermaLink,guid,33bdd1c7-eb2a-4a92-9c14-53b21bfcfcca.aspx</pingback:target>
      <dc:creator>Yves Peneveyre</dc:creator>
      <wfw:comment>http://www.peneveyre.com/blog/CommentView,guid,33bdd1c7-eb2a-4a92-9c14-53b21bfcfcca.aspx</wfw:comment>
      <wfw:commentRss>http://www.peneveyre.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=33bdd1c7-eb2a-4a92-9c14-53b21bfcfcca</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <em>&lt;Disclaimer&gt;This is personal notes of what I retained during the session.
This can be incomplete, partially right or wrong. It is just part of the notes I took
and what retained my attention. Nothing prevents the user to get more information
on their favorite web site.&lt;/Disclaimer&gt;</em>
        </p>
        <p>
One of the biggest complaint is that SharePoint OOB looks too much like SharePoint
and that is a reason why companies started branding. But understanding SharePoint
is needed and it is not like branding standard HTML sites. Do not modify OOB files,
you loose the Microsoft support. Using solutions to deploy branding is a lot easier
when time is to retract the branding. Create custom master pages, pages layouts and
style sheets.
</p>
        <p>
Do not use SPD for the deployment of branding, but can be used for the development.
Moreover, when using SPD, it customizes the pages and affect the performances.
</p>
        <p>
All the OOB files are not customized and resides on the file system. When becomes
customized, it takes the file and puts it in the content database.
</p>
        <p>
Saving a site as a solution is the recommended way by Microsoft. Recommended also
to create a sub-folder for your branding.
</p>
        <p>
Using a sandbox the solution has the benefit of not screwing your farm in case of
issues.
</p>
        <p>
Create brand keeping SharePoint in mind and implement the design using SPD and then
transfer from the designer to the developer (backup of a site).
</p>
        <p>
In VS2010, create an empty project targeting .NET 3.5 (uncheck the Create a directory
for this solution). Add a module project item (delete the sample.txt file) and add
the branded assets. It is recommended to create several modules to group the similar
types of assets together. Change the scope to site collection and add a feature receiver
to apply the branding attributes. Also add a feature receiver to retract the files
as well. For branding child sites, add an event receiver as well. And test !
</p>
        <p>
It is not recommender to use the publishing site template, but rather use another
one and activating the publishing features afterwards.
</p>
        <p>
The IgnoreIfALreadyExists property of the Module does not work. Even if the file exists,
it copies the files.
</p>
        <img width="0" height="0" src="http://www.peneveyre.com/blog/aggbug.ashx?id=33bdd1c7-eb2a-4a92-9c14-53b21bfcfcca" />
      </body>
      <title>Live from the SPC11 : Packaging SharePoint Branding Elements for Deployment</title>
      <guid isPermaLink="false">http://www.peneveyre.com/blog/PermaLink,guid,33bdd1c7-eb2a-4a92-9c14-53b21bfcfcca.aspx</guid>
      <link>http://www.peneveyre.com/blog/PermaLink,guid,33bdd1c7-eb2a-4a92-9c14-53b21bfcfcca.aspx</link>
      <pubDate>Thu, 06 Oct 2011 20:08:32 GMT</pubDate>
      <description>&lt;p&gt;
&lt;em&gt;&amp;lt;Disclaimer&amp;gt;This is personal notes of what I retained during the session.
This can be incomplete, partially right or wrong. It is just part of the notes I took
and what retained my attention. Nothing prevents the user to get more information
on their favorite web site.&amp;lt;/Disclaimer&amp;gt;&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
One of the biggest complaint is that SharePoint OOB looks too much like SharePoint
and that is a reason why companies started branding. But understanding SharePoint
is needed and it is not like branding standard HTML sites. Do not modify OOB files,
you loose the Microsoft support. Using solutions to deploy branding is a lot easier
when time is to retract the branding. Create custom master pages, pages layouts and
style sheets.
&lt;/p&gt;
&lt;p&gt;
Do not use SPD for the deployment of branding, but can be used for the development.
Moreover, when using SPD, it customizes the pages and affect the performances.
&lt;/p&gt;
&lt;p&gt;
All the OOB files are not customized and resides on the file system. When becomes
customized, it takes the file and puts it in the content database.
&lt;/p&gt;
&lt;p&gt;
Saving a site as a solution is the recommended way by Microsoft. Recommended also
to create a sub-folder for your branding.
&lt;/p&gt;
&lt;p&gt;
Using a sandbox the solution has the benefit of not screwing your farm in case of
issues.
&lt;/p&gt;
&lt;p&gt;
Create brand keeping SharePoint in mind and implement the design using SPD and then
transfer from the designer to the developer (backup of a site).
&lt;/p&gt;
&lt;p&gt;
In VS2010, create an empty project targeting .NET 3.5 (uncheck the Create a directory
for this solution). Add a module project item (delete the sample.txt file) and add
the branded assets. It is recommended to create several modules to group the similar
types of assets together. Change the scope to site collection and add a feature receiver
to apply the branding attributes. Also add a feature receiver to retract the files
as well. For branding child sites, add an event receiver as well. And test !
&lt;/p&gt;
&lt;p&gt;
It is not recommender to use the publishing site template, but rather use another
one and activating the publishing features afterwards.
&lt;/p&gt;
&lt;p&gt;
The IgnoreIfALreadyExists property of the Module does not work. Even if the file exists,
it copies the files.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.peneveyre.com/blog/aggbug.ashx?id=33bdd1c7-eb2a-4a92-9c14-53b21bfcfcca" /&gt;</description>
      <comments>http://www.peneveyre.com/blog/CommentView,guid,33bdd1c7-eb2a-4a92-9c14-53b21bfcfcca.aspx</comments>
      <category>SPC11</category>
    </item>
    <item>
      <trackback:ping>http://www.peneveyre.com/blog/Trackback.aspx?guid=d4140618-6155-4add-a38c-9d55459c9e88</trackback:ping>
      <pingback:server>http://www.peneveyre.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.peneveyre.com/blog/PermaLink,guid,d4140618-6155-4add-a38c-9d55459c9e88.aspx</pingback:target>
      <dc:creator>Yves Peneveyre</dc:creator>
      <wfw:comment>http://www.peneveyre.com/blog/CommentView,guid,d4140618-6155-4add-a38c-9d55459c9e88.aspx</wfw:comment>
      <wfw:commentRss>http://www.peneveyre.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=d4140618-6155-4add-a38c-9d55459c9e88</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <em>&lt;Disclaimer&gt;This is personal notes of what I retained during the session.
This can be incomplete, partially right or wrong. It is just part of the notes I took
and what retained my attention. Nothing prevents the user to get more information
on their favorite web site.&lt;/Disclaimer&gt;</em>
        </p>
        <p>
MUI offers the possibility to add languages to a site. It is based on the language
packs and users are directed to the correct language based on the browser language.
Variations is more used for internet facing SharePoint sites.
</p>
        <p>
If a user’s preferred language is not support on the SharePoint site, it will fall
back to the site primary language one. The site’s default language can’t be changed
afterwards, once it is created. Then, for that site, additional languages can be supported
and selected in the Site Settings page.
</p>
        <p>
As rule, everything should be localizable
</p>
        <p>
As long as the language pack is installed, it will be supported by the ASP.NET controls.
Wiki page does not support MUI.
</p>
        <p>
Search box, control menu, ribbon supports MUI. List titles, field titles navigation
are MUI by default but customizable. Site Actions is designed customizable. All the
end user content is not MUI. When renaming a list in a language, for example, it will
not be changed in the other languages. It is possible to import/export the site’s
text into a resx file.
</p>
        <p>
4 types of resources : Pages, Server-side assemblies, Script &amp; Files, XML Files.
</p>
        <p>
Resx files are deployed as module into App_GlobalResources or into 14\CONFIG\Resources.
The last folder is the source for all the new web applications that will be created
afterwards.
</p>
        <p>
Server-Side assemblies are deployed in the App_GlobalResources folder for resx files
</p>
        <p>
For scripts and resources, use the language directories (1033). All strings should
be in a single file.
</p>
        <p>
XML files are deployed to 14\Resources and use the resourcefilename.culture.resx naming
convention for global resources.
</p>
        <p>
To deploy the resources, one solution is to use a global .wsp.  But there is
also the notion of language packs. A language pack shares the same wsp IDs.
</p>
        <p>
In sandbox solutions, pages’ resx files and global XML resources cannot be used or
even deployed. Therefore, the strategy would be to have a per-language copies of the
pages and move the logic to the client side. The XML local resources must have _res
for the filename. But, no MUI, list title are not localized.
</p>
        <img width="0" height="0" src="http://www.peneveyre.com/blog/aggbug.ashx?id=d4140618-6155-4add-a38c-9d55459c9e88" />
      </body>
      <title>Live from SPC11 : Localizing SharePoint Solutions/Lösungen/פתרונות/解决方案</title>
      <guid isPermaLink="false">http://www.peneveyre.com/blog/PermaLink,guid,d4140618-6155-4add-a38c-9d55459c9e88.aspx</guid>
      <link>http://www.peneveyre.com/blog/PermaLink,guid,d4140618-6155-4add-a38c-9d55459c9e88.aspx</link>
      <pubDate>Thu, 06 Oct 2011 18:33:38 GMT</pubDate>
      <description>&lt;p&gt;
&lt;em&gt;&amp;lt;Disclaimer&amp;gt;This is personal notes of what I retained during the session.
This can be incomplete, partially right or wrong. It is just part of the notes I took
and what retained my attention. Nothing prevents the user to get more information
on their favorite web site.&amp;lt;/Disclaimer&amp;gt;&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
MUI offers the possibility to add languages to a site. It is based on the language
packs and users are directed to the correct language based on the browser language.
Variations is more used for internet facing SharePoint sites.
&lt;/p&gt;
&lt;p&gt;
If a user’s preferred language is not support on the SharePoint site, it will fall
back to the site primary language one. The site’s default language can’t be changed
afterwards, once it is created. Then, for that site, additional languages can be supported
and selected in the Site Settings page.
&lt;/p&gt;
&lt;p&gt;
As rule, everything should be localizable
&lt;/p&gt;
&lt;p&gt;
As long as the language pack is installed, it will be supported by the ASP.NET controls.
Wiki page does not support MUI.
&lt;/p&gt;
&lt;p&gt;
Search box, control menu, ribbon supports MUI. List titles, field titles navigation
are MUI by default but customizable. Site Actions is designed customizable. All the
end user content is not MUI. When renaming a list in a language, for example, it will
not be changed in the other languages. It is possible to import/export the site’s
text into a resx file.
&lt;/p&gt;
&lt;p&gt;
4 types of resources : Pages, Server-side assemblies, Script &amp;amp; Files, XML Files.
&lt;/p&gt;
&lt;p&gt;
Resx files are deployed as module into App_GlobalResources or into 14\CONFIG\Resources.
The last folder is the source for all the new web applications that will be created
afterwards.
&lt;/p&gt;
&lt;p&gt;
Server-Side assemblies are deployed in the App_GlobalResources folder for resx files
&lt;/p&gt;
&lt;p&gt;
For scripts and resources, use the language directories (1033). All strings should
be in a single file.
&lt;/p&gt;
&lt;p&gt;
XML files are deployed to 14\Resources and use the resourcefilename.culture.resx naming
convention for global resources.
&lt;/p&gt;
&lt;p&gt;
To deploy the resources, one solution is to use a global .wsp.&amp;nbsp; But there is
also the notion of language packs. A language pack shares the same wsp IDs.
&lt;/p&gt;
&lt;p&gt;
In sandbox solutions, pages’ resx files and global XML resources cannot be used or
even deployed. Therefore, the strategy would be to have a per-language copies of the
pages and move the logic to the client side. The XML local resources must have _res
for the filename. But, no MUI, list title are not localized.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.peneveyre.com/blog/aggbug.ashx?id=d4140618-6155-4add-a38c-9d55459c9e88" /&gt;</description>
      <comments>http://www.peneveyre.com/blog/CommentView,guid,d4140618-6155-4add-a38c-9d55459c9e88.aspx</comments>
      <category>SPC11</category>
    </item>
    <item>
      <trackback:ping>http://www.peneveyre.com/blog/Trackback.aspx?guid=5027a396-1e8f-4b30-85dc-cea75441bf46</trackback:ping>
      <pingback:server>http://www.peneveyre.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.peneveyre.com/blog/PermaLink,guid,5027a396-1e8f-4b30-85dc-cea75441bf46.aspx</pingback:target>
      <dc:creator>Yves Peneveyre</dc:creator>
      <wfw:comment>http://www.peneveyre.com/blog/CommentView,guid,5027a396-1e8f-4b30-85dc-cea75441bf46.aspx</wfw:comment>
      <wfw:commentRss>http://www.peneveyre.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=5027a396-1e8f-4b30-85dc-cea75441bf46</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <em>&lt;Disclaimer&gt;This is personal notes of what I retained during the session.
This can be incomplete, partially right or wrong. It is just part of the notes I took
and what retained my attention. Nothing prevents the user to get more information
on their favorite web site.&lt;/Disclaimer&gt;</em>
        </p>
        <p>
The logical elements of a page that may be impacted by multi-lingual are logo, navigation
control, custom controls, site assets and authored and translated content. Some elements
of the master page can also be impacted, like the page footer.
</p>
        <p>
By installing the language packs you get the MUI (Multi-lingual UI). It gives the
ability to users to switch to another language. But some site templates don’t support
the MUI, the property SupportsMultilingualUI can be checked to whether or not it is
supported.
</p>
        <p>
Regarding the managed metadata, you have to select a source or a working language,
thus, terms can have multiple languages. Nevertheless, it is not possible to import
terms and specifying the language in any way and imports the terms in the base language.
This needs a custom solution.
</p>
        <p>
Variation features is a answer to support multi-lingual solutions of SharePoint. It
requires the publishing feature. Variations are using different sites, one of them
is the source. The Master Pages, Page Layouts, Reusable Content is common. A Relationships
hidden list keeps the relations between the variations. There is a one-to-many relationship
between the source and targets variations.
</p>
        <p>
Configuration steps are : specify the variation settings, create the labels and hierarchies
and finally set the page propagation model that can be either automatic or on-demand.
</p>
        <p>
When landing on a site, we arrive on the VariationRoot.aspx page, this is changed
when we activate the variations. This page will look at the preferred language code
from the browser, check if a matching variation exists, and direct the user to the
corresponding site.
</p>
        <p>
Publishing pages, referenced resources (images, etc) are propagated to target variations.
List content can be propagated. But list, master pages, reusable content are not propagated.
</p>
        <p>
By default, references to resources are not changed. It means that on the target variations
will use the source variations’ resources.
</p>
        <p>
Creating new sites, pages, updating pages are automatically propagated by default.
It is useful when localized content has to appear on all the target labels.
</p>
        <p>
In the site manager, it is possible to manually create a new label site. For a specific
page, it is possible to copy to one specific label. All updates on source pages that
have target labels will have a new version on the target created.
</p>
        <p>
On-demand propagation creates the target sites, but not the pages. This has to be
done manually.
</p>
        <p>
Search ML support (does not need to install the ML packs to be supported) : Work breaking,
stemming, noise words. But, automatic language detection, spell checking, property
extraction, offensive content filtering is only supported in FAST.
</p>
        <p>
Some considerations such as in what language the query has to be performed (configured
in the query results web part properties), which language the results will be displayed,
are all results displayed the same.
</p>
        <p>
In some circumstances, sites may be navigated in different way between languages.
If dealing with content approval, this has to be know earlier as it will change the
configuration of the workflow on the source language and the propagation model. Should
all the languages be live at the same time and do all the content has to be translated
?
</p>
        <p>
What has to be taken in account is also the resource files for custom code and expression
builders, custom language selection, error pages, search experience, site map.
</p>
        <p>
It is necessary to create a script to enable the MUI on all sub-sites, but blogs and
meeting workspaces do not support the MUI. 50 languages variations are supported in
a site collection. Variations cannot be changed afterwards.
</p>
        <img width="0" height="0" src="http://www.peneveyre.com/blog/aggbug.ashx?id=5027a396-1e8f-4b30-85dc-cea75441bf46" />
      </body>
      <title>Live from SPC11 : Building Language-Based SharePoint Internet Sites Using Variations</title>
      <guid isPermaLink="false">http://www.peneveyre.com/blog/PermaLink,guid,5027a396-1e8f-4b30-85dc-cea75441bf46.aspx</guid>
      <link>http://www.peneveyre.com/blog/PermaLink,guid,5027a396-1e8f-4b30-85dc-cea75441bf46.aspx</link>
      <pubDate>Thu, 06 Oct 2011 17:06:38 GMT</pubDate>
      <description>&lt;p&gt;
&lt;em&gt;&amp;lt;Disclaimer&amp;gt;This is personal notes of what I retained during the session.
This can be incomplete, partially right or wrong. It is just part of the notes I took
and what retained my attention. Nothing prevents the user to get more information
on their favorite web site.&amp;lt;/Disclaimer&amp;gt;&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
The logical elements of a page that may be impacted by multi-lingual are logo, navigation
control, custom controls, site assets and authored and translated content. Some elements
of the master page can also be impacted, like the page footer.
&lt;/p&gt;
&lt;p&gt;
By installing the language packs you get the MUI (Multi-lingual UI). It gives the
ability to users to switch to another language. But some site templates don’t support
the MUI, the property SupportsMultilingualUI can be checked to whether or not it is
supported.
&lt;/p&gt;
&lt;p&gt;
Regarding the managed metadata, you have to select a source or a working language,
thus, terms can have multiple languages. Nevertheless, it is not possible to import
terms and specifying the language in any way and imports the terms in the base language.
This needs a custom solution.
&lt;/p&gt;
&lt;p&gt;
Variation features is a answer to support multi-lingual solutions of SharePoint. It
requires the publishing feature. Variations are using different sites, one of them
is the source. The Master Pages, Page Layouts, Reusable Content is common. A Relationships
hidden list keeps the relations between the variations. There is a one-to-many relationship
between the source and targets variations.
&lt;/p&gt;
&lt;p&gt;
Configuration steps are : specify the variation settings, create the labels and hierarchies
and finally set the page propagation model that can be either automatic or on-demand.
&lt;/p&gt;
&lt;p&gt;
When landing on a site, we arrive on the VariationRoot.aspx page, this is changed
when we activate the variations. This page will look at the preferred language code
from the browser, check if a matching variation exists, and direct the user to the
corresponding site.
&lt;/p&gt;
&lt;p&gt;
Publishing pages, referenced resources (images, etc) are propagated to target variations.
List content can be propagated. But list, master pages, reusable content are not propagated.
&lt;/p&gt;
&lt;p&gt;
By default, references to resources are not changed. It means that on the target variations
will use the source variations’ resources.
&lt;/p&gt;
&lt;p&gt;
Creating new sites, pages, updating pages are automatically propagated by default.
It is useful when localized content has to appear on all the target labels.
&lt;/p&gt;
&lt;p&gt;
In the site manager, it is possible to manually create a new label site. For a specific
page, it is possible to copy to one specific label. All updates on source pages that
have target labels will have a new version on the target created.
&lt;/p&gt;
&lt;p&gt;
On-demand propagation creates the target sites, but not the pages. This has to be
done manually.
&lt;/p&gt;
&lt;p&gt;
Search ML support (does not need to install the ML packs to be supported) : Work breaking,
stemming, noise words. But, automatic language detection, spell checking, property
extraction, offensive content filtering is only supported in FAST.
&lt;/p&gt;
&lt;p&gt;
Some considerations such as in what language the query has to be performed (configured
in the query results web part properties), which language the results will be displayed,
are all results displayed the same.
&lt;/p&gt;
&lt;p&gt;
In some circumstances, sites may be navigated in different way between languages.
If dealing with content approval, this has to be know earlier as it will change the
configuration of the workflow on the source language and the propagation model. Should
all the languages be live at the same time and do all the content has to be translated
?
&lt;/p&gt;
&lt;p&gt;
What has to be taken in account is also the resource files for custom code and expression
builders, custom language selection, error pages, search experience, site map.
&lt;/p&gt;
&lt;p&gt;
It is necessary to create a script to enable the MUI on all sub-sites, but blogs and
meeting workspaces do not support the MUI. 50 languages variations are supported in
a site collection. Variations cannot be changed afterwards.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.peneveyre.com/blog/aggbug.ashx?id=5027a396-1e8f-4b30-85dc-cea75441bf46" /&gt;</description>
      <comments>http://www.peneveyre.com/blog/CommentView,guid,5027a396-1e8f-4b30-85dc-cea75441bf46.aspx</comments>
      <category>SPC11</category>
    </item>
    <item>
      <trackback:ping>http://www.peneveyre.com/blog/Trackback.aspx?guid=45f672fd-9dc2-4060-b3f4-621e3b09e6a1</trackback:ping>
      <pingback:server>http://www.peneveyre.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.peneveyre.com/blog/PermaLink,guid,45f672fd-9dc2-4060-b3f4-621e3b09e6a1.aspx</pingback:target>
      <dc:creator>Yves Peneveyre</dc:creator>
      <wfw:comment>http://www.peneveyre.com/blog/CommentView,guid,45f672fd-9dc2-4060-b3f4-621e3b09e6a1.aspx</wfw:comment>
      <wfw:commentRss>http://www.peneveyre.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=45f672fd-9dc2-4060-b3f4-621e3b09e6a1</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <em>&lt;Disclaimer&gt;This is personal notes of what I retained during the session.
This can be incomplete, partially right or wrong. It is just part of the notes I took
and what retained my attention. Nothing prevents the user to get more information
on their favorite web site.&lt;/Disclaimer&gt;</em>
        </p>
        <p>
CQWP is part of the Publishing infrastructure and therefore of the SharePoint Server
edition. It is used to rollup content, from a single list to a complete site collection.
It allows to filter by content type.
</p>
        <p>
About 60 properties and methods are available. CQWP can be exported, modified and
imported again in a web part zone of a page.
</p>
        <p>
When naming a column, avoid spaces and special characters. CommonViewFields specify
the fields to request and that is where you specify the additional fields. QueryOverride
bypasses limtes to query behavior imposed by the UI. WebsOverride makes the CQWP not
recurse.
</p>
        <p>
When selecting a site as a source, it will recurse, from that site, through all its
subsites. In List Type, you select the list template you want to get the content from.
It is also possible to filter based on the content type. It is also possible to filter
on field values. AdditionalFilterFields can be used to go beyond the limit of 3 fields
imposed by the UI.
</p>
        <p>
It is possible to specify the CommonViewFields in two format : internal field name
or added with the type separated by a comma. To represent a space use _x0020_ . To
combine fields, separate them with a semicolumn.
</p>
        <p>
DataColumnRename rename columns programatically and helps minimizing the XSLT.
</p>
        <p>
Three XSL files : ContentQueryMain.xsl, ItemStyle.xsl and Header.xsl. All located
in the Style Library\XSL Style Sheets. This last folder only exists if the Publishing
feature is activated.
</p>
        <p>
ContentQueryMain.xsl calls the Header and Item templates for each item. It receives
all the content.
</p>
        <p>
ItemStyle.xsl is applied to row items (Item Style in the UI)
</p>
        <p>
Header.xsl contains the group styling (Group Style in the UI)
</p>
        <p>
On pages, you can put some content that will actually not be displayed on the page
when browsing, but will be when the CQWP rolls up the page.
</p>
        <p>
It is recommended to not customize the out-of-the-box files, but rather make a copy
and use it. When the CQWP takes the content that is HTML, the CQWP does not interpret
the HTML.
</p>
        <img width="0" height="0" src="http://www.peneveyre.com/blog/aggbug.ashx?id=45f672fd-9dc2-4060-b3f4-621e3b09e6a1" />
      </body>
      <title>Live from SPC11 : Content Query WebPart: A Deep Dive on SharePoint's Swiss Army Knife WebPart</title>
      <guid isPermaLink="false">http://www.peneveyre.com/blog/PermaLink,guid,45f672fd-9dc2-4060-b3f4-621e3b09e6a1.aspx</guid>
      <link>http://www.peneveyre.com/blog/PermaLink,guid,45f672fd-9dc2-4060-b3f4-621e3b09e6a1.aspx</link>
      <pubDate>Thu, 06 Oct 2011 01:11:53 GMT</pubDate>
      <description>&lt;p&gt;
&lt;em&gt;&amp;lt;Disclaimer&amp;gt;This is personal notes of what I retained during the session.
This can be incomplete, partially right or wrong. It is just part of the notes I took
and what retained my attention. Nothing prevents the user to get more information
on their favorite web site.&amp;lt;/Disclaimer&amp;gt;&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
CQWP is part of the Publishing infrastructure and therefore of the SharePoint Server
edition. It is used to rollup content, from a single list to a complete site collection.
It allows to filter by content type.
&lt;/p&gt;
&lt;p&gt;
About 60 properties and methods are available. CQWP can be exported, modified and
imported again in a web part zone of a page.
&lt;/p&gt;
&lt;p&gt;
When naming a column, avoid spaces and special characters. CommonViewFields specify
the fields to request and that is where you specify the additional fields. QueryOverride
bypasses limtes to query behavior imposed by the UI. WebsOverride makes the CQWP not
recurse.
&lt;/p&gt;
&lt;p&gt;
When selecting a site as a source, it will recurse, from that site, through all its
subsites. In List Type, you select the list template you want to get the content from.
It is also possible to filter based on the content type. It is also possible to filter
on field values. AdditionalFilterFields can be used to go beyond the limit of 3 fields
imposed by the UI.
&lt;/p&gt;
&lt;p&gt;
It is possible to specify the CommonViewFields in two format : internal field name
or added with the type separated by a comma. To represent a space use _x0020_ . To
combine fields, separate them with a semicolumn.
&lt;/p&gt;
&lt;p&gt;
DataColumnRename rename columns programatically and helps minimizing the XSLT.
&lt;/p&gt;
&lt;p&gt;
Three XSL files : ContentQueryMain.xsl, ItemStyle.xsl and Header.xsl. All located
in the Style Library\XSL Style Sheets. This last folder only exists if the Publishing
feature is activated.
&lt;/p&gt;
&lt;p&gt;
ContentQueryMain.xsl calls the Header and Item templates for each item. It receives
all the content.
&lt;/p&gt;
&lt;p&gt;
ItemStyle.xsl is applied to row items (Item Style in the UI)
&lt;/p&gt;
&lt;p&gt;
Header.xsl contains the group styling (Group Style in the UI)
&lt;/p&gt;
&lt;p&gt;
On pages, you can put some content that will actually not be displayed on the page
when browsing, but will be when the CQWP rolls up the page.
&lt;/p&gt;
&lt;p&gt;
It is recommended to not customize the out-of-the-box files, but rather make a copy
and use it. When the CQWP takes the content that is HTML, the CQWP does not interpret
the HTML.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.peneveyre.com/blog/aggbug.ashx?id=45f672fd-9dc2-4060-b3f4-621e3b09e6a1" /&gt;</description>
      <comments>http://www.peneveyre.com/blog/CommentView,guid,45f672fd-9dc2-4060-b3f4-621e3b09e6a1.aspx</comments>
      <category>SPC11</category>
    </item>
    <item>
      <trackback:ping>http://www.peneveyre.com/blog/Trackback.aspx?guid=6a526b41-8d80-46c1-8f0d-08fa0952eab6</trackback:ping>
      <pingback:server>http://www.peneveyre.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.peneveyre.com/blog/PermaLink,guid,6a526b41-8d80-46c1-8f0d-08fa0952eab6.aspx</pingback:target>
      <dc:creator>Yves Peneveyre</dc:creator>
      <wfw:comment>http://www.peneveyre.com/blog/CommentView,guid,6a526b41-8d80-46c1-8f0d-08fa0952eab6.aspx</wfw:comment>
      <wfw:commentRss>http://www.peneveyre.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=6a526b41-8d80-46c1-8f0d-08fa0952eab6</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <em>&lt;Disclaimer&gt;This is personal notes of what I retained during the session.
This can be incomplete, partially right or wrong. It is just part of the notes I took
and what retained my attention. Nothing prevents the user to get more information
on their favorite web site.&lt;/Disclaimer&gt;</em>
        </p>
        <p>
Description of a proposal generation system on SharePoint 2010 for a legal department.
</p>
        <p>
Scenarios cover generating documents from database, compose a new document from multiple
ones and to split a document into several ones.
</p>
        <p>
From a BCS entity, the goal is to create a job that generates a single document for
every people entity stored in a database, containing the data about the person. The
generated document is stored in a document library, all of that without any human
interaction.
</p>
        <p>
To create a proposal, the client is selected, title is specified, proposal template
and layout is selected. Then, sections are built by picking content. Each section
can be send for approval. Finally, the document is generated and stored in a document
library.
</p>
        <p>
The system allows users to write new Word template and use the new templates, by using
controls. The engine takes the template and fill-in the content controls, using the
data located in a database.
</p>
        <p>
From the content control, the &lt;Config&gt; tag is used to read the BCS configuration.
DatabaseBackedMetadataCatalog object contains the complete list of BCS entities that
would also available in the Central Administration. Type of content supported : Text,
Rich Text and Images.
</p>
        <p>
In BCS, one ECT per snippets.
</p>
        <p>
Templates are stored in a dedicated document library. To create or modify a template,
switch the document into design mode. Thus, you can add the content controls you need.
The first one to add is the Config one that tells what ECT is associated with this
Word document. The content control’s Title specify the type of data (Text, Image,
etc) and Tag specifies the name of the entity’s property to insert. No need to code
to create the template.
</p>
        <p>
A Word document is just a zipped file containing other XML documents. The Word content
is defined in the document.xml file. The goal of OpenXML is to manipulate Office documents
without the client applications. But, the format is quite complicated. One of the
reason why we haven’t seen many document generation based solution is the complexity
of OpenXML. A really useful tool is Document Builder.
</p>
        <p>
A document is a collection of Paragraphs that can contain Image or Comment. And a
Comment can also have an Image inside. A Paragraph containing a Header can also SmartArt
and Image =&gt; Interrelated Markup.
</p>
        <p>
PowerTools on CodePlex combines PowerShell and OpenXML and can be used to merge comments,
accept tracked changes, convert to HTML and helps composing or splitting documents.
</p>
        <p>
The steps do build a composed document is first to create a set of sources and send
them to Document Builder. For splitting, the division is done using queries and for
each item, use Document Builder to create a new document.
</p>
        <p>
Document Builder comes as a class that has to be added to the Visual Studio project.
</p>
        <p>
Word Automation Services adds the Save As functionality to SharePoint, converting
to HTML, XML, PDF or XPS. It runs periodically and can be configured to only convert
to some type of documents.
</p>
        <img width="0" height="0" src="http://www.peneveyre.com/blog/aggbug.ashx?id=6a526b41-8d80-46c1-8f0d-08fa0952eab6" />
      </body>
      <title>Live from SPC11 : Generating Business Documents using Word Automation Services and Open XML</title>
      <guid isPermaLink="false">http://www.peneveyre.com/blog/PermaLink,guid,6a526b41-8d80-46c1-8f0d-08fa0952eab6.aspx</guid>
      <link>http://www.peneveyre.com/blog/PermaLink,guid,6a526b41-8d80-46c1-8f0d-08fa0952eab6.aspx</link>
      <pubDate>Wed, 05 Oct 2011 21:59:51 GMT</pubDate>
      <description>&lt;p&gt;
&lt;em&gt;&amp;lt;Disclaimer&amp;gt;This is personal notes of what I retained during the session.
This can be incomplete, partially right or wrong. It is just part of the notes I took
and what retained my attention. Nothing prevents the user to get more information
on their favorite web site.&amp;lt;/Disclaimer&amp;gt;&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
Description of a proposal generation system on SharePoint 2010 for a legal department.
&lt;/p&gt;
&lt;p&gt;
Scenarios cover generating documents from database, compose a new document from multiple
ones and to split a document into several ones.
&lt;/p&gt;
&lt;p&gt;
From a BCS entity, the goal is to create a job that generates a single document for
every people entity stored in a database, containing the data about the person. The
generated document is stored in a document library, all of that without any human
interaction.
&lt;/p&gt;
&lt;p&gt;
To create a proposal, the client is selected, title is specified, proposal template
and layout is selected. Then, sections are built by picking content. Each section
can be send for approval. Finally, the document is generated and stored in a document
library.
&lt;/p&gt;
&lt;p&gt;
The system allows users to write new Word template and use the new templates, by using
controls. The engine takes the template and fill-in the content controls, using the
data located in a database.
&lt;/p&gt;
&lt;p&gt;
From the content control, the &amp;lt;Config&amp;gt; tag is used to read the BCS configuration.
DatabaseBackedMetadataCatalog object contains the complete list of BCS entities that
would also available in the Central Administration. Type of content supported : Text,
Rich Text and Images.
&lt;/p&gt;
&lt;p&gt;
In BCS, one ECT per snippets.
&lt;/p&gt;
&lt;p&gt;
Templates are stored in a dedicated document library. To create or modify a template,
switch the document into design mode. Thus, you can add the content controls you need.
The first one to add is the Config one that tells what ECT is associated with this
Word document. The content control’s Title specify the type of data (Text, Image,
etc) and Tag specifies the name of the entity’s property to insert. No need to code
to create the template.
&lt;/p&gt;
&lt;p&gt;
A Word document is just a zipped file containing other XML documents. The Word content
is defined in the document.xml file. The goal of OpenXML is to manipulate Office documents
without the client applications. But, the format is quite complicated. One of the
reason why we haven’t seen many document generation based solution is the complexity
of OpenXML. A really useful tool is Document Builder.
&lt;/p&gt;
&lt;p&gt;
A document is a collection of Paragraphs that can contain Image or Comment. And a
Comment can also have an Image inside. A Paragraph containing a Header can also SmartArt
and Image =&amp;gt; Interrelated Markup.
&lt;/p&gt;
&lt;p&gt;
PowerTools on CodePlex combines PowerShell and OpenXML and can be used to merge comments,
accept tracked changes, convert to HTML and helps composing or splitting documents.
&lt;/p&gt;
&lt;p&gt;
The steps do build a composed document is first to create a set of sources and send
them to Document Builder. For splitting, the division is done using queries and for
each item, use Document Builder to create a new document.
&lt;/p&gt;
&lt;p&gt;
Document Builder comes as a class that has to be added to the Visual Studio project.
&lt;/p&gt;
&lt;p&gt;
Word Automation Services adds the Save As functionality to SharePoint, converting
to HTML, XML, PDF or XPS. It runs periodically and can be configured to only convert
to some type of documents.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.peneveyre.com/blog/aggbug.ashx?id=6a526b41-8d80-46c1-8f0d-08fa0952eab6" /&gt;</description>
      <comments>http://www.peneveyre.com/blog/CommentView,guid,6a526b41-8d80-46c1-8f0d-08fa0952eab6.aspx</comments>
      <category>SPC11</category>
    </item>
    <item>
      <trackback:ping>http://www.peneveyre.com/blog/Trackback.aspx?guid=b5b441a4-c0f5-4cf3-8b69-2c9186398a47</trackback:ping>
      <pingback:server>http://www.peneveyre.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.peneveyre.com/blog/PermaLink,guid,b5b441a4-c0f5-4cf3-8b69-2c9186398a47.aspx</pingback:target>
      <dc:creator>Yves Peneveyre</dc:creator>
      <wfw:comment>http://www.peneveyre.com/blog/CommentView,guid,b5b441a4-c0f5-4cf3-8b69-2c9186398a47.aspx</wfw:comment>
      <wfw:commentRss>http://www.peneveyre.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=b5b441a4-c0f5-4cf3-8b69-2c9186398a47</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <em>&lt;Disclaimer&gt;This is personal notes of what I retained during the session.
This can be incomplete, partially right or wrong. It is just part of the notes I took
and what retained my attention. Nothing prevents the user to get more information
on their favorite web site.&lt;/Disclaimer&gt;</em>
        </p>
        <p>
          <a href="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/Live-from-the-SPC11-_11095/DSC04660.jpg">
            <img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px" title="DSC04660" border="0" alt="DSC04660" align="left" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/Live-from-the-SPC11-_11095/DSC04660_thumb.jpg" width="467" height="351" />
          </a>MY
site is the backbone of the social capabilities of SharePoint. Social is becoming
more interesting to companies. Employees connected to a wide range of colleagues generate
$83000 more in revenue per year. Social in SharePoint can be achieved starting with
the team sites or tagging. It also helps people working together. There are numerous
components in SharePoint to support social networking, but, out-of-the-box, it does
not look good.
</p>
        <p>
Branding for My Sites is similar to the traditional SharePoint Branding and reuses
most of the branding of the general sites. The rule is for you to decide how far you
want to brand your My Sites. Again, start with one of the out-of-the-box master pages
or from of the Starter Master Pages. The default master page for My Sites is mysite.master.
The global navigation should match the branding. Because the mysite.master is based
on v4.master, a lot of the branding can be reused.
</p>
        <p>
For the global navigation, leave the inner content arranged normally.
</p>
        <p>
Tip : edit the CSS files on a local VM or on a local server, because it will affect
all users.
</p>
        <p>
Changing the global navigation or the sub-navigation bar can be done from the SharePoint
UI. To override the global navigation, you need to override the GlobalNavigation delegate
control. But it means the creation of a feature for the deployment.
</p>
        <p>
Once the branding is done, it has to be deployed on all the mysites and applied automatically.
The steps are : Create a feature for move the files where they need to go, Create
a feature receiver to switch the master page, Uuse a feature stapler to ensure that
when the personal site is created, the branding is applied.
</p>
        <p>
Branding feature is scoped at the web level and deploy files to folders and the receiver
switches the master page. The deployment feature can be developed outside the My Sites.
The switch of the master page has to be done using a feature (code in the FeatureActivated
receiver) as well, as the publishing feature is not activated and it is not possible
to change the master page from the SharePoint UI. Do not forget to also write the
FeatureDeactivated to come back to the original master page.
</p>
        <p>
Controlling the web part deployment can be tricky. An example of the code that does
that must run after the default.aspx is created. The solution is creating a server
control into the customer master page. At page load, there is a check if it is the
1st time and get a reference to the default.aspx page and get the WebPartManager.
Then, it gets the instructions from an XML file and build a hashtable of the web parts
and apply the instructions. Finally, it sets a flag to not run again.
</p>
        <p>
If you want to deploy different web parts for different types of users, after getting
the WebPartManager, a check of the user profile can be done. Instructions are thus
in the XML file.
</p>
        <img width="0" height="0" src="http://www.peneveyre.com/blog/aggbug.ashx?id=b5b441a4-c0f5-4cf3-8b69-2c9186398a47" />
      </body>
      <title>Live from the SPC11 : Branding and Customizing My Sites with SharePoint 2010</title>
      <guid isPermaLink="false">http://www.peneveyre.com/blog/PermaLink,guid,b5b441a4-c0f5-4cf3-8b69-2c9186398a47.aspx</guid>
      <link>http://www.peneveyre.com/blog/PermaLink,guid,b5b441a4-c0f5-4cf3-8b69-2c9186398a47.aspx</link>
      <pubDate>Wed, 05 Oct 2011 18:30:52 GMT</pubDate>
      <description>&lt;p&gt;
&lt;em&gt;&amp;lt;Disclaimer&amp;gt;This is personal notes of what I retained during the session.
This can be incomplete, partially right or wrong. It is just part of the notes I took
and what retained my attention. Nothing prevents the user to get more information
on their favorite web site.&amp;lt;/Disclaimer&amp;gt;&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/Live-from-the-SPC11-_11095/DSC04660.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px" title="DSC04660" border="0" alt="DSC04660" align="left" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/Live-from-the-SPC11-_11095/DSC04660_thumb.jpg" width="467" height="351"&gt;&lt;/a&gt;MY
site is the backbone of the social capabilities of SharePoint. Social is becoming
more interesting to companies. Employees connected to a wide range of colleagues generate
$83000 more in revenue per year. Social in SharePoint can be achieved starting with
the team sites or tagging. It also helps people working together. There are numerous
components in SharePoint to support social networking, but, out-of-the-box, it does
not look good.
&lt;/p&gt;
&lt;p&gt;
Branding for My Sites is similar to the traditional SharePoint Branding and reuses
most of the branding of the general sites. The rule is for you to decide how far you
want to brand your My Sites. Again, start with one of the out-of-the-box master pages
or from of the Starter Master Pages. The default master page for My Sites is mysite.master.
The global navigation should match the branding. Because the mysite.master is based
on v4.master, a lot of the branding can be reused.
&lt;/p&gt;
&lt;p&gt;
For the global navigation, leave the inner content arranged normally.
&lt;/p&gt;
&lt;p&gt;
Tip : edit the CSS files on a local VM or on a local server, because it will affect
all users.
&lt;/p&gt;
&lt;p&gt;
Changing the global navigation or the sub-navigation bar can be done from the SharePoint
UI. To override the global navigation, you need to override the GlobalNavigation delegate
control. But it means the creation of a feature for the deployment.
&lt;/p&gt;
&lt;p&gt;
Once the branding is done, it has to be deployed on all the mysites and applied automatically.
The steps are : Create a feature for move the files where they need to go, Create
a feature receiver to switch the master page, Uuse a feature stapler to ensure that
when the personal site is created, the branding is applied.
&lt;/p&gt;
&lt;p&gt;
Branding feature is scoped at the web level and deploy files to folders and the receiver
switches the master page. The deployment feature can be developed outside the My Sites.
The switch of the master page has to be done using a feature (code in the FeatureActivated
receiver) as well, as the publishing feature is not activated and it is not possible
to change the master page from the SharePoint UI. Do not forget to also write the
FeatureDeactivated to come back to the original master page.
&lt;/p&gt;
&lt;p&gt;
Controlling the web part deployment can be tricky. An example of the code that does
that must run after the default.aspx is created. The solution is creating a server
control into the customer master page. At page load, there is a check if it is the
1st time and get a reference to the default.aspx page and get the WebPartManager.
Then, it gets the instructions from an XML file and build a hashtable of the web parts
and apply the instructions. Finally, it sets a flag to not run again.
&lt;/p&gt;
&lt;p&gt;
If you want to deploy different web parts for different types of users, after getting
the WebPartManager, a check of the user profile can be done. Instructions are thus
in the XML file.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.peneveyre.com/blog/aggbug.ashx?id=b5b441a4-c0f5-4cf3-8b69-2c9186398a47" /&gt;</description>
      <comments>http://www.peneveyre.com/blog/CommentView,guid,b5b441a4-c0f5-4cf3-8b69-2c9186398a47.aspx</comments>
      <category>SPC11</category>
    </item>
    <item>
      <trackback:ping>http://www.peneveyre.com/blog/Trackback.aspx?guid=19b4909e-6286-4f0d-a038-bb87d60cf361</trackback:ping>
      <pingback:server>http://www.peneveyre.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.peneveyre.com/blog/PermaLink,guid,19b4909e-6286-4f0d-a038-bb87d60cf361.aspx</pingback:target>
      <dc:creator>Yves Peneveyre</dc:creator>
      <wfw:comment>http://www.peneveyre.com/blog/CommentView,guid,19b4909e-6286-4f0d-a038-bb87d60cf361.aspx</wfw:comment>
      <wfw:commentRss>http://www.peneveyre.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=19b4909e-6286-4f0d-a038-bb87d60cf361</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <em>&lt;Disclaimer&gt;This is personal notes of what I retained during the session.
This can be incomplete, partially right or wrong. It is just part of the notes I took
and what retained my attention. Nothing prevents the user to get more information
on their favorite web site.&lt;/Disclaimer&gt;</em>
        </p>
        <p>
3 server roles : Web Role, Application role, database role.
</p>
        <p>
Scaling web role servers is based on user traffic and concurrent load. The main way
to scale is to add servers.
</p>
        <p>
Application server role : scaling based mainly on the content
</p>
        <p>
Database server role : Adding storage does not mean it is performant. Ideally, content
and configuration database should be hosted separately from service application database.
The sizing of the database depends on how backup and restore capabilities are.
</p>
        <p>
What can influence your design is of course the business and users, but also the IT
best practices.
</p>
        <p>
As soon as you add custom code, it impacts the performance.
</p>
        <p>
Is your company really a 24/7 one ? what kind of peak event you have ? 98% of the
operations are reading content.
</p>
        <p>
Design first for redundancy and availability before performance. You can always improve
the servers afterwards. HD failure is the most common HW failure.
</p>
        <p>
Process cycle is usually Analyze, Deploy, Observe. Regarding the monitoring phase
(Observe), capture real-time data and also on the host machines if virtualizing. 
</p>
        <img width="0" height="0" src="http://www.peneveyre.com/blog/aggbug.ashx?id=19b4909e-6286-4f0d-a038-bb87d60cf361" />
      </body>
      <title>Live from the SPC11 : Planning your SharePoint 2010 Topology</title>
      <guid isPermaLink="false">http://www.peneveyre.com/blog/PermaLink,guid,19b4909e-6286-4f0d-a038-bb87d60cf361.aspx</guid>
      <link>http://www.peneveyre.com/blog/PermaLink,guid,19b4909e-6286-4f0d-a038-bb87d60cf361.aspx</link>
      <pubDate>Wed, 05 Oct 2011 17:15:57 GMT</pubDate>
      <description>&lt;p&gt;
&lt;em&gt;&amp;lt;Disclaimer&amp;gt;This is personal notes of what I retained during the session.
This can be incomplete, partially right or wrong. It is just part of the notes I took
and what retained my attention. Nothing prevents the user to get more information
on their favorite web site.&amp;lt;/Disclaimer&amp;gt;&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
3 server roles : Web Role, Application role, database role.
&lt;/p&gt;
&lt;p&gt;
Scaling web role servers is based on user traffic and concurrent load. The main way
to scale is to add servers.
&lt;/p&gt;
&lt;p&gt;
Application server role : scaling based mainly on the content
&lt;/p&gt;
&lt;p&gt;
Database server role : Adding storage does not mean it is performant. Ideally, content
and configuration database should be hosted separately from service application database.
The sizing of the database depends on how backup and restore capabilities are.
&lt;/p&gt;
&lt;p&gt;
What can influence your design is of course the business and users, but also the IT
best practices.
&lt;/p&gt;
&lt;p&gt;
As soon as you add custom code, it impacts the performance.
&lt;/p&gt;
&lt;p&gt;
Is your company really a 24/7 one ? what kind of peak event you have ? 98% of the
operations are reading content.
&lt;/p&gt;
&lt;p&gt;
Design first for redundancy and availability before performance. You can always improve
the servers afterwards. HD failure is the most common HW failure.
&lt;/p&gt;
&lt;p&gt;
Process cycle is usually Analyze, Deploy, Observe. Regarding the monitoring phase
(Observe), capture real-time data and also on the host machines if virtualizing. 
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.peneveyre.com/blog/aggbug.ashx?id=19b4909e-6286-4f0d-a038-bb87d60cf361" /&gt;</description>
      <comments>http://www.peneveyre.com/blog/CommentView,guid,19b4909e-6286-4f0d-a038-bb87d60cf361.aspx</comments>
      <category>SPC11</category>
    </item>
    <item>
      <trackback:ping>http://www.peneveyre.com/blog/Trackback.aspx?guid=e2ce105b-c98a-4d1b-b183-9115a48b59d2</trackback:ping>
      <pingback:server>http://www.peneveyre.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.peneveyre.com/blog/PermaLink,guid,e2ce105b-c98a-4d1b-b183-9115a48b59d2.aspx</pingback:target>
      <dc:creator>Yves Peneveyre</dc:creator>
      <wfw:comment>http://www.peneveyre.com/blog/CommentView,guid,e2ce105b-c98a-4d1b-b183-9115a48b59d2.aspx</wfw:comment>
      <wfw:commentRss>http://www.peneveyre.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=e2ce105b-c98a-4d1b-b183-9115a48b59d2</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <em>&lt;Disclaimer&gt;This is personal notes of what I retained during the session.
This can be incomplete, partially right or wrong. It is just part of the notes I took
and what retained my attention. Nothing prevents the user to get more information
on their favorite web site.&lt;/Disclaimer&gt;</em>
        </p>
        <p>
Technology is only 20% part of the success and it is really easy to make mistakes.
Because of no policies, no training (not only class training, but just-in-time training).
Don’t let your users managing the security, security is difficult to understand for
end-users. SharePoint IS an enterprise application and information is the enterprise’s
asset. So, it is very important to plan your SharePoint implementation.
</p>
        <p>
If no governance, no rules, someone can get hurt. Guidelines are the road-signs for
directions.
</p>
        <p>
Ten steps in a governance planning (not all are absolutely necessary) : Identify an
inclusive team, Frame decisions, determine your deployment model, define a clear vision,
roles and responsibilities identification (including writing the job descriptions),
develop guiding principles, decide your organization comfort level with social computing,
policies and guidelines (or best practices) definition, documentation of the plan
(but be careful to keep it small, no one ready a 100 pages document), and finally
socialize and promote your implementation if we want to have an acceptance of the
governance.
</p>
        <p>
First the team should have to power to take decisions and should not be bigger than
4-5 people. Let the people discussing each topic of the governance, one topic per
meeting. Then, in a second step, engage more people from IT, HR, Communications, etc.
This has to be done before the roll-out.
</p>
        <p>
Framing decisions : who creates sites, manage navigation, how much users can design
(for example, don’t let them use SharePoint Designed until they are trained). Who
controls the branding ? Who managed metadata, security ? What is the default access
? What happens when people does not comply to the governance ? Who maintain the governance
plan ? Because it will change afterwards.
</p>
        <p>
Determine your model : basically, how the solution is organized. Normally, the more
public the information is, the tighter the control should be. When dealing with department
specific (private) information, there can be less control. Do not take the default
MS team site and give it to the users ! Looser control can be applied to team site
and no governance on My Sites.
</p>
        <p>
Establish a clear vision : It is the “why” of the governance plan. Why to have and
apply a governance plan. It is composed of business goals (can be simple and a single
phrase).
</p>
        <p>
Roles and Responsibilities : Tasks must be in the job description of the people involved
in the team. Don’t assume you have the resource internally. Typical roles are Executive
Sponsor (normally the CEO), the Steering Committee, the Business Owner, the IT Solution
Administrator (they must not own the solution, so they cannot be the BO), technology
support, power users to train or help the users, metadata manager (should be coming
from an information science background).
</p>
        <p>
As a best practice, the roles that we can have are Communications, Training (training
people should be very involved in the governance planning definition), because the
training will already tailored by the governance. Change Management / Adoption, Center
of Excellence (coaches to help users to get started).
</p>
        <p>
Site Roles : site sponsor / owner (who has to be clearly visible on the pages in case
of need for contact), site designer, site steward for day-to-day management and security
monitoring, member and visitors. The Owner is accountable, but we’re all responsible
!
</p>
        <p>
Develop Guiding Principles example : No more email attachments, rather, send links
to document.
</p>
        <p>
Think about Social Computing : Only one good reason : if you have a business problem
to solve. So, the business problem has to be identified first with use cases, define
your governance plan and prepare your communications plan. No anonymous content. My
Sites, what is comfortable, legal.
</p>
        <p>
Define Policies and Guidelines : policies are rules, guidelines are more best-practices.
They have to be published somewhere where it is easily findable.
</p>
        <p>
Document the Plan : it has to be “consumable”, up to date and in context. Target the
sections (short) to specific audiences. It can be supported by supplements, like quick
cards.
</p>
        <p>
Socialize and Promote : always communicate, be responsive to feedbacks.
</p>
        <img width="0" height="0" src="http://www.peneveyre.com/blog/aggbug.ashx?id=e2ce105b-c98a-4d1b-b183-9115a48b59d2" />
      </body>
      <title>Live from the SPC11 : Practical Approach to SharePoint Governance: The Key to Successful SharePoint 2010 Solutions</title>
      <guid isPermaLink="false">http://www.peneveyre.com/blog/PermaLink,guid,e2ce105b-c98a-4d1b-b183-9115a48b59d2.aspx</guid>
      <link>http://www.peneveyre.com/blog/PermaLink,guid,e2ce105b-c98a-4d1b-b183-9115a48b59d2.aspx</link>
      <pubDate>Wed, 05 Oct 2011 01:10:49 GMT</pubDate>
      <description>&lt;p&gt;
&lt;em&gt;&amp;lt;Disclaimer&amp;gt;This is personal notes of what I retained during the session.
This can be incomplete, partially right or wrong. It is just part of the notes I took
and what retained my attention. Nothing prevents the user to get more information
on their favorite web site.&amp;lt;/Disclaimer&amp;gt;&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
Technology is only 20% part of the success and it is really easy to make mistakes.
Because of no policies, no training (not only class training, but just-in-time training).
Don’t let your users managing the security, security is difficult to understand for
end-users. SharePoint IS an enterprise application and information is the enterprise’s
asset. So, it is very important to plan your SharePoint implementation.
&lt;/p&gt;
&lt;p&gt;
If no governance, no rules, someone can get hurt. Guidelines are the road-signs for
directions.
&lt;/p&gt;
&lt;p&gt;
Ten steps in a governance planning (not all are absolutely necessary) : Identify an
inclusive team, Frame decisions, determine your deployment model, define a clear vision,
roles and responsibilities identification (including writing the job descriptions),
develop guiding principles, decide your organization comfort level with social computing,
policies and guidelines (or best practices) definition, documentation of the plan
(but be careful to keep it small, no one ready a 100 pages document), and finally
socialize and promote your implementation if we want to have an acceptance of the
governance.
&lt;/p&gt;
&lt;p&gt;
First the team should have to power to take decisions and should not be bigger than
4-5 people. Let the people discussing each topic of the governance, one topic per
meeting. Then, in a second step, engage more people from IT, HR, Communications, etc.
This has to be done before the roll-out.
&lt;/p&gt;
&lt;p&gt;
Framing decisions : who creates sites, manage navigation, how much users can design
(for example, don’t let them use SharePoint Designed until they are trained). Who
controls the branding ? Who managed metadata, security ? What is the default access
? What happens when people does not comply to the governance ? Who maintain the governance
plan ? Because it will change afterwards.
&lt;/p&gt;
&lt;p&gt;
Determine your model : basically, how the solution is organized. Normally, the more
public the information is, the tighter the control should be. When dealing with department
specific (private) information, there can be less control. Do not take the default
MS team site and give it to the users ! Looser control can be applied to team site
and no governance on My Sites.
&lt;/p&gt;
&lt;p&gt;
Establish a clear vision : It is the “why” of the governance plan. Why to have and
apply a governance plan. It is composed of business goals (can be simple and a single
phrase).
&lt;/p&gt;
&lt;p&gt;
Roles and Responsibilities : Tasks must be in the job description of the people involved
in the team. Don’t assume you have the resource internally. Typical roles are Executive
Sponsor (normally the CEO), the Steering Committee, the Business Owner, the IT Solution
Administrator (they must not own the solution, so they cannot be the BO), technology
support, power users to train or help the users, metadata manager (should be coming
from an information science background).
&lt;/p&gt;
&lt;p&gt;
As a best practice, the roles that we can have are Communications, Training (training
people should be very involved in the governance planning definition), because the
training will already tailored by the governance. Change Management / Adoption, Center
of Excellence (coaches to help users to get started).
&lt;/p&gt;
&lt;p&gt;
Site Roles : site sponsor / owner (who has to be clearly visible on the pages in case
of need for contact), site designer, site steward for day-to-day management and security
monitoring, member and visitors. The Owner is accountable, but we’re all responsible
!
&lt;/p&gt;
&lt;p&gt;
Develop Guiding Principles example : No more email attachments, rather, send links
to document.
&lt;/p&gt;
&lt;p&gt;
Think about Social Computing : Only one good reason : if you have a business problem
to solve. So, the business problem has to be identified first with use cases, define
your governance plan and prepare your communications plan. No anonymous content. My
Sites, what is comfortable, legal.
&lt;/p&gt;
&lt;p&gt;
Define Policies and Guidelines : policies are rules, guidelines are more best-practices.
They have to be published somewhere where it is easily findable.
&lt;/p&gt;
&lt;p&gt;
Document the Plan : it has to be “consumable”, up to date and in context. Target the
sections (short) to specific audiences. It can be supported by supplements, like quick
cards.
&lt;/p&gt;
&lt;p&gt;
Socialize and Promote : always communicate, be responsive to feedbacks.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.peneveyre.com/blog/aggbug.ashx?id=e2ce105b-c98a-4d1b-b183-9115a48b59d2" /&gt;</description>
      <comments>http://www.peneveyre.com/blog/CommentView,guid,e2ce105b-c98a-4d1b-b183-9115a48b59d2.aspx</comments>
      <category>SPC11</category>
    </item>
    <item>
      <trackback:ping>http://www.peneveyre.com/blog/Trackback.aspx?guid=a027f2da-508e-432b-9143-96b88d715496</trackback:ping>
      <pingback:server>http://www.peneveyre.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.peneveyre.com/blog/PermaLink,guid,a027f2da-508e-432b-9143-96b88d715496.aspx</pingback:target>
      <dc:creator>Yves Peneveyre</dc:creator>
      <wfw:comment>http://www.peneveyre.com/blog/CommentView,guid,a027f2da-508e-432b-9143-96b88d715496.aspx</wfw:comment>
      <wfw:commentRss>http://www.peneveyre.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=a027f2da-508e-432b-9143-96b88d715496</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <em>&lt;Disclaimer&gt;This is personal notes of what I retained during the session.
This can be incomplete, partially right or wrong. It is just part of the notes I took
and what retained my attention. Nothing prevents the user to get more information
on their favorite web site.&lt;/Disclaimer&gt;</em>
        </p>
        <p>
          <a href="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/Live-from-the-SPC11-_112F9/DSC04573.jpg">
            <img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px" title="DSC04573" border="0" alt="DSC04573" align="left" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/Live-from-the-SPC11-_112F9/DSC04573_thumb.jpg" width="478" height="359" />
          </a>Nowadays,
providing reporting capabilities to SharePoint is quite challenging and require different
skillset.
</p>
        <p>
With Denali, available in CTP3, it will come as a shared service, will support WCF
and Claims Based communications, Powershell, administration will be done in the Central
Administration and logging will be done in the ULS. In terms of performance, report
viewer will use AJAX and a performance improvement of 30-60% is expected.
</p>
        <p>
There is a separate pack for the Add-In to be installed on the WFEs and scripting
will be done using PowerShell instead of WMI. For the configuration, just go in the
Service Application of the Central Administration.
</p>
        <p>
Today, people are overloaded by the amount of data, the number of reports generated
can be too much for the users. With the alerting system of Denali, it is possible
to set an alert for a report in order to be notified when data used in that report
have changed. But, be careful, because it can be a good spam generator. It is possible
to assign rules, schedule, parameters to an alert.
</p>
        <p>
Denali supports the new 2007/2010 format, for Word and Excel and compressed files
can be generated. Rdl files will also have a new format, rdlx.
</p>
        <p>
The Crescent Project is “an interactive data exploration and visual presentation experience”…A
demo is shown where an interactive report is built in a web browser, with table, and
chart.
</p>
        <p>
BIDS, RDLC Designer and Report Viewer controls will be available into VS2010. Microsoft
is also working in moving to Dev 11. The goal is to separate the RS VS Addin. SQL
Azure Reporting is the Reporting on the Cloud solution. It means that report can be
built in BIDS and then deployed on Azure, from BIDS as well, in order to benefit of
the same features of Azure. Currently, it is limited to SQL Azure data. The reports
can also be embedded in your Azure application.
</p>
        <img width="0" height="0" src="http://www.peneveyre.com/blog/aggbug.ashx?id=a027f2da-508e-432b-9143-96b88d715496" />
      </body>
      <title>Live from the SPC11 : What's new for SQL Server "Denali" Reporting Services</title>
      <guid isPermaLink="false">http://www.peneveyre.com/blog/PermaLink,guid,a027f2da-508e-432b-9143-96b88d715496.aspx</guid>
      <link>http://www.peneveyre.com/blog/PermaLink,guid,a027f2da-508e-432b-9143-96b88d715496.aspx</link>
      <pubDate>Tue, 04 Oct 2011 18:36:05 GMT</pubDate>
      <description>&lt;p&gt;
&lt;em&gt;&amp;lt;Disclaimer&amp;gt;This is personal notes of what I retained during the session.
This can be incomplete, partially right or wrong. It is just part of the notes I took
and what retained my attention. Nothing prevents the user to get more information
on their favorite web site.&amp;lt;/Disclaimer&amp;gt;&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/Live-from-the-SPC11-_112F9/DSC04573.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px" title="DSC04573" border="0" alt="DSC04573" align="left" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/Live-from-the-SPC11-_112F9/DSC04573_thumb.jpg" width="478" height="359"&gt;&lt;/a&gt;Nowadays,
providing reporting capabilities to SharePoint is quite challenging and require different
skillset.
&lt;/p&gt;
&lt;p&gt;
With Denali, available in CTP3, it will come as a shared service, will support WCF
and Claims Based communications, Powershell, administration will be done in the Central
Administration and logging will be done in the ULS. In terms of performance, report
viewer will use AJAX and a performance improvement of 30-60% is expected.
&lt;/p&gt;
&lt;p&gt;
There is a separate pack for the Add-In to be installed on the WFEs and scripting
will be done using PowerShell instead of WMI. For the configuration, just go in the
Service Application of the Central Administration.
&lt;/p&gt;
&lt;p&gt;
Today, people are overloaded by the amount of data, the number of reports generated
can be too much for the users. With the alerting system of Denali, it is possible
to set an alert for a report in order to be notified when data used in that report
have changed. But, be careful, because it can be a good spam generator. It is possible
to assign rules, schedule, parameters to an alert.
&lt;/p&gt;
&lt;p&gt;
Denali supports the new 2007/2010 format, for Word and Excel and compressed files
can be generated. Rdl files will also have a new format, rdlx.
&lt;/p&gt;
&lt;p&gt;
The Crescent Project is “an interactive data exploration and visual presentation experience”…A
demo is shown where an interactive report is built in a web browser, with table, and
chart.
&lt;/p&gt;
&lt;p&gt;
BIDS, RDLC Designer and Report Viewer controls will be available into VS2010. Microsoft
is also working in moving to Dev 11. The goal is to separate the RS VS Addin. SQL
Azure Reporting is the Reporting on the Cloud solution. It means that report can be
built in BIDS and then deployed on Azure, from BIDS as well, in order to benefit of
the same features of Azure. Currently, it is limited to SQL Azure data. The reports
can also be embedded in your Azure application.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.peneveyre.com/blog/aggbug.ashx?id=a027f2da-508e-432b-9143-96b88d715496" /&gt;</description>
      <comments>http://www.peneveyre.com/blog/CommentView,guid,a027f2da-508e-432b-9143-96b88d715496.aspx</comments>
      <category>SPC11</category>
    </item>
    <item>
      <trackback:ping>http://www.peneveyre.com/blog/Trackback.aspx?guid=9c3ddfae-6feb-4d34-bb3b-0d4f03a826b9</trackback:ping>
      <pingback:server>http://www.peneveyre.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.peneveyre.com/blog/PermaLink,guid,9c3ddfae-6feb-4d34-bb3b-0d4f03a826b9.aspx</pingback:target>
      <dc:creator>Yves Peneveyre</dc:creator>
      <wfw:comment>http://www.peneveyre.com/blog/CommentView,guid,9c3ddfae-6feb-4d34-bb3b-0d4f03a826b9.aspx</wfw:comment>
      <wfw:commentRss>http://www.peneveyre.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=9c3ddfae-6feb-4d34-bb3b-0d4f03a826b9</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <em>&lt;Disclaimer&gt;This is personal notes of what I retained during the session.
This can be incomplete, partially right or wrong. It is just part of the notes I took
and what retained my attention. Nothing prevents the user to get more information
on their favorite web site.&lt;/Disclaimer&gt;</em>
        </p>
        <p>
          <a href="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/3e08b651a347_FDA9/DSC04572.jpg">
            <img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px" title="DSC04572" border="0" alt="DSC04572" align="left" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/3e08b651a347_FDA9/DSC04572_thumb.jpg" width="488" height="367" />
          </a>New
guidance issued by Microsoft in June with a possibility to scale up to 4TB (or beyond)
for the content database. It requires 2 IOPs per GB, split in several content database
to reduce the I/O contention. It is also recommended to upgrade to SP1.
</p>
        <p>
The unlimited size support is for record center and document center only. On the other
side, avoid using alerts, workflows and item-level security.
</p>
        <p>
To achieve the needed performance, it is better to have more and faster disks, rather
than larger and slower disks. Isolate the TEMPDB on its own RAID volume, the same
apply for the log files. RAID  5 is acceptable, but RAID 1+0 is recommended.
For a large number of items, row density is important in the content database. For
the search crawl, the recommended limit is at 25 million.
</p>
        <p>
To estimate the storage requirements, you need to know the number and types of documents,
because it impacts the crawler performances. The average file size is also important.
Documents large than 16 MB are not crawled by SharePoint, by default. Can be increased
to a max of 64MB. The number of versions per document has to be taken in account.
</p>
        <p>
&lt;snip&gt;A lot of formulas are presented, check the video and the powerpoint deck
to get the details&lt;/snip&gt;
</p>
        <p>
To test the storage performance, there are two free tools, SQLIO (from Microsoft)
and IOMeter. The testing files should be larger than the SAN cache and testing should
be done for an hour or more. Storage should be dedicated.
</p>
        <p>
Recovery Point Objective (RPO) is how much I can loose and the Recovery Time Objective
(RTO) is how much time I can wait for the recovery. We need to be monitor in order
to be sure we can achieve the RPO and RTO. If RPO states 2 hours but backup take 4
hours =&gt; FAIL.
</p>
        <img width="0" height="0" src="http://www.peneveyre.com/blog/aggbug.ashx?id=9c3ddfae-6feb-4d34-bb3b-0d4f03a826b9" />
      </body>
      <title>Live from the SPC11 : Scaling SharePoint Document and Records Centers to Terabytes and Beyond</title>
      <guid isPermaLink="false">http://www.peneveyre.com/blog/PermaLink,guid,9c3ddfae-6feb-4d34-bb3b-0d4f03a826b9.aspx</guid>
      <link>http://www.peneveyre.com/blog/PermaLink,guid,9c3ddfae-6feb-4d34-bb3b-0d4f03a826b9.aspx</link>
      <pubDate>Tue, 04 Oct 2011 17:07:22 GMT</pubDate>
      <description>&lt;p&gt;
&lt;em&gt;&amp;lt;Disclaimer&amp;gt;This is personal notes of what I retained during the session.
This can be incomplete, partially right or wrong. It is just part of the notes I took
and what retained my attention. Nothing prevents the user to get more information
on their favorite web site.&amp;lt;/Disclaimer&amp;gt;&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/3e08b651a347_FDA9/DSC04572.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px" title="DSC04572" border="0" alt="DSC04572" align="left" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/3e08b651a347_FDA9/DSC04572_thumb.jpg" width="488" height="367"&gt;&lt;/a&gt;New
guidance issued by Microsoft in June with a possibility to scale up to 4TB (or beyond)
for the content database. It requires 2 IOPs per GB, split in several content database
to reduce the I/O contention. It is also recommended to upgrade to SP1.
&lt;/p&gt;
&lt;p&gt;
The unlimited size support is for record center and document center only. On the other
side, avoid using alerts, workflows and item-level security.
&lt;/p&gt;
&lt;p&gt;
To achieve the needed performance, it is better to have more and faster disks, rather
than larger and slower disks. Isolate the TEMPDB on its own RAID volume, the same
apply for the log files. RAID&amp;nbsp; 5 is acceptable, but RAID 1+0 is recommended.
For a large number of items, row density is important in the content database. For
the search crawl, the recommended limit is at 25 million.
&lt;/p&gt;
&lt;p&gt;
To estimate the storage requirements, you need to know the number and types of documents,
because it impacts the crawler performances. The average file size is also important.
Documents large than 16 MB are not crawled by SharePoint, by default. Can be increased
to a max of 64MB. The number of versions per document has to be taken in account.
&lt;/p&gt;
&lt;p&gt;
&amp;lt;snip&amp;gt;A lot of formulas are presented, check the video and the powerpoint deck
to get the details&amp;lt;/snip&amp;gt;
&lt;/p&gt;
&lt;p&gt;
To test the storage performance, there are two free tools, SQLIO (from Microsoft)
and IOMeter. The testing files should be larger than the SAN cache and testing should
be done for an hour or more. Storage should be dedicated.
&lt;/p&gt;
&lt;p&gt;
Recovery Point Objective (RPO) is how much I can loose and the Recovery Time Objective
(RTO) is how much time I can wait for the recovery. We need to be monitor in order
to be sure we can achieve the RPO and RTO. If RPO states 2 hours but backup take 4
hours =&amp;gt; FAIL.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.peneveyre.com/blog/aggbug.ashx?id=9c3ddfae-6feb-4d34-bb3b-0d4f03a826b9" /&gt;</description>
      <comments>http://www.peneveyre.com/blog/CommentView,guid,9c3ddfae-6feb-4d34-bb3b-0d4f03a826b9.aspx</comments>
      <category>SPC11</category>
    </item>
    <item>
      <trackback:ping>http://www.peneveyre.com/blog/Trackback.aspx?guid=7a75494a-c52e-4854-b27e-6fbda1aab59b</trackback:ping>
      <pingback:server>http://www.peneveyre.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.peneveyre.com/blog/PermaLink,guid,7a75494a-c52e-4854-b27e-6fbda1aab59b.aspx</pingback:target>
      <dc:creator>Yves Peneveyre</dc:creator>
      <wfw:comment>http://www.peneveyre.com/blog/CommentView,guid,7a75494a-c52e-4854-b27e-6fbda1aab59b.aspx</wfw:comment>
      <wfw:commentRss>http://www.peneveyre.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=7a75494a-c52e-4854-b27e-6fbda1aab59b</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <em>&lt;Disclaimer&gt;This is personal notes of what I retained during the session.
This can be incomplete, partially right or wrong. It is just part of the notes I took
and what retained my attention. Nothing prevents the user to get more information
on their favorite web site.&lt;/Disclaimer&gt;</em>
        </p>
        <p>
          <a href="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/fe565c38219b_B2E/DSC04537.jpg">
            <img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px" title="DSC04537" border="0" alt="DSC04537" align="left" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/fe565c38219b_B2E/DSC04537_thumb.jpg" width="373" height="281" />
          </a>Best
Practice cycle : Capacity Planning, Architect for Scale, Pilot &amp; Test, Deploy,
Monitor &amp; Validate
</p>
        <p>
Different kind of cache : ASP.NET in RAM of WFEs, SharePoint Object Cache also in
RAM of WFEs, Disk-based for BLOBs sitting on the disk of WFEs for static files.
</p>
        <p>
When sponsors really want “real-time” on the site, ask how often the content is updated
and what it means (bad or not) to wait 1 minute for updates.
</p>
        <p>
A quick formula : 1 – (number of requests per second / number of seconds of caching)
= % of work saved for the server.
</p>
        <p>
Output cache can be activated in the Central Administration. Trade-off between freshness
and work saved. Avoid check for changes capability (50% performance drop). A good
question to also ask is by what you want to vary the cache. More variations = more
requests uncached.
</p>
        <p>
Using System.Web.UI.WebControls.Substitution will make your control to run at every
request.
</p>
        <p>
Check that ASP.NET cache is working by enabling cache information on pages. For DB,
use the SQL Profiler instead of the Developer Dashboard, because it is cached with
the page.
</p>
        <p>
Object cache is used by the CQWP and Navigation control and is configured in the Central
Administration. The bigger the better. It can also be time-based or check if cache
is still valid with the corresponding performance hit. Cache more results only if
different users have different permissions, so on internet sites, it should not be
the case. Two “super” accounts have to be configured for Full Control User Policy
(SuperUser) and for Full Read User Policy (SuperReader).
</p>
        <p>
When accessing from the client side, write a web service that use the object cache
and call it from the client application rather than using the Client-OM (because it
is not cached !).
</p>
        <p>
BLOB cache is configured in the web.config. Put the cache on a specific drive separated
from the OS or Logs. Store a maximum of file (by setting the extensions). The more
you cache, the better. The same applies for the timing, the longer the better with
a trade-off regarding the updates of the files.
</p>
        <p>
Using a CDN is good anyway, as it will put less pressure on the servers. But it means
that CDN is an external storage (permissions, etc !). Files that almost never change
are good candidates for CDN. A quick win is to use jQuery or Modernizr.
</p>
        <p>
Activate the IIS static and dynamic compression.
</p>
        <p>
Two models for authoring : in-place where authors update content on the production
environment, or content deployment where authors use a different environment for publishing
and the scheduled deployment jobs push the updates to the production environment.
It is good when review has to be done (legal, communication, etc) but it adds latency
and temporary de-synchronization. The bigger the update, the longer the latency.
</p>
        <p>
Content deployment with an automated schedule of 15 minutes has no value.
</p>
        <p>
Tip 1 : User SQL Server 2008 Enterprise + Snapshots. SharePoint takes Content DB snapshots
before making the export and deletes it after the export is completed.
</p>
        <p>
Tip 2 : Custom Solutions must be aware of content deployment, because during the content
deployment, the activation of the solution will be activated after the content DB
is exported. In order to be aware, check if content deployment is running in the activation
handler and do not create list or other content as they will already exist.
</p>
        <p>
Plan for variations, to avoid to have to copy the root content into the source label.
Consider On-Demand propagation, because otherwise, target label owners will have to
delete the versions they don’t need.
</p>
        <img width="0" height="0" src="http://www.peneveyre.com/blog/aggbug.ashx?id=7a75494a-c52e-4854-b27e-6fbda1aab59b" />
      </body>
      <title>Live from the SPC11 : Best Practices for Building your Website for Scale with SharePoint 2010</title>
      <guid isPermaLink="false">http://www.peneveyre.com/blog/PermaLink,guid,7a75494a-c52e-4854-b27e-6fbda1aab59b.aspx</guid>
      <link>http://www.peneveyre.com/blog/PermaLink,guid,7a75494a-c52e-4854-b27e-6fbda1aab59b.aspx</link>
      <pubDate>Mon, 03 Oct 2011 23:43:13 GMT</pubDate>
      <description>&lt;p&gt;
&lt;em&gt;&amp;lt;Disclaimer&amp;gt;This is personal notes of what I retained during the session.
This can be incomplete, partially right or wrong. It is just part of the notes I took
and what retained my attention. Nothing prevents the user to get more information
on their favorite web site.&amp;lt;/Disclaimer&amp;gt;&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/fe565c38219b_B2E/DSC04537.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px" title="DSC04537" border="0" alt="DSC04537" align="left" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/fe565c38219b_B2E/DSC04537_thumb.jpg" width="373" height="281"&gt;&lt;/a&gt;Best
Practice cycle : Capacity Planning, Architect for Scale, Pilot &amp;amp; Test, Deploy,
Monitor &amp;amp; Validate
&lt;/p&gt;
&lt;p&gt;
Different kind of cache : ASP.NET in RAM of WFEs, SharePoint Object Cache also in
RAM of WFEs, Disk-based for BLOBs sitting on the disk of WFEs for static files.
&lt;/p&gt;
&lt;p&gt;
When sponsors really want “real-time” on the site, ask how often the content is updated
and what it means (bad or not) to wait 1 minute for updates.
&lt;/p&gt;
&lt;p&gt;
A quick formula : 1 – (number of requests per second / number of seconds of caching)
= % of work saved for the server.
&lt;/p&gt;
&lt;p&gt;
Output cache can be activated in the Central Administration. Trade-off between freshness
and work saved. Avoid check for changes capability (50% performance drop). A good
question to also ask is by what you want to vary the cache. More variations = more
requests uncached.
&lt;/p&gt;
&lt;p&gt;
Using System.Web.UI.WebControls.Substitution will make your control to run at every
request.
&lt;/p&gt;
&lt;p&gt;
Check that ASP.NET cache is working by enabling cache information on pages. For DB,
use the SQL Profiler instead of the Developer Dashboard, because it is cached with
the page.
&lt;/p&gt;
&lt;p&gt;
Object cache is used by the CQWP and Navigation control and is configured in the Central
Administration. The bigger the better. It can also be time-based or check if cache
is still valid with the corresponding performance hit. Cache more results only if
different users have different permissions, so on internet sites, it should not be
the case. Two “super” accounts have to be configured for Full Control User Policy
(SuperUser) and for Full Read User Policy (SuperReader).
&lt;/p&gt;
&lt;p&gt;
When accessing from the client side, write a web service that use the object cache
and call it from the client application rather than using the Client-OM (because it
is not cached !).
&lt;/p&gt;
&lt;p&gt;
BLOB cache is configured in the web.config. Put the cache on a specific drive separated
from the OS or Logs. Store a maximum of file (by setting the extensions). The more
you cache, the better. The same applies for the timing, the longer the better with
a trade-off regarding the updates of the files.
&lt;/p&gt;
&lt;p&gt;
Using a CDN is good anyway, as it will put less pressure on the servers. But it means
that CDN is an external storage (permissions, etc !). Files that almost never change
are good candidates for CDN. A quick win is to use jQuery or Modernizr.
&lt;/p&gt;
&lt;p&gt;
Activate the IIS static and dynamic compression.
&lt;/p&gt;
&lt;p&gt;
Two models for authoring : in-place where authors update content on the production
environment, or content deployment where authors use a different environment for publishing
and the scheduled deployment jobs push the updates to the production environment.
It is good when review has to be done (legal, communication, etc) but it adds latency
and temporary de-synchronization. The bigger the update, the longer the latency.
&lt;/p&gt;
&lt;p&gt;
Content deployment with an automated schedule of 15 minutes has no value.
&lt;/p&gt;
&lt;p&gt;
Tip 1 : User SQL Server 2008 Enterprise + Snapshots. SharePoint takes Content DB snapshots
before making the export and deletes it after the export is completed.
&lt;/p&gt;
&lt;p&gt;
Tip 2 : Custom Solutions must be aware of content deployment, because during the content
deployment, the activation of the solution will be activated after the content DB
is exported. In order to be aware, check if content deployment is running in the activation
handler and do not create list or other content as they will already exist.
&lt;/p&gt;
&lt;p&gt;
Plan for variations, to avoid to have to copy the root content into the source label.
Consider On-Demand propagation, because otherwise, target label owners will have to
delete the versions they don’t need.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.peneveyre.com/blog/aggbug.ashx?id=7a75494a-c52e-4854-b27e-6fbda1aab59b" /&gt;</description>
      <comments>http://www.peneveyre.com/blog/CommentView,guid,7a75494a-c52e-4854-b27e-6fbda1aab59b.aspx</comments>
      <category>SPC11</category>
    </item>
    <item>
      <trackback:ping>http://www.peneveyre.com/blog/Trackback.aspx?guid=7a1ad3e1-a916-437b-a2e7-f601ad4d6417</trackback:ping>
      <pingback:server>http://www.peneveyre.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.peneveyre.com/blog/PermaLink,guid,7a1ad3e1-a916-437b-a2e7-f601ad4d6417.aspx</pingback:target>
      <dc:creator>Yves Peneveyre</dc:creator>
      <wfw:comment>http://www.peneveyre.com/blog/CommentView,guid,7a1ad3e1-a916-437b-a2e7-f601ad4d6417.aspx</wfw:comment>
      <wfw:commentRss>http://www.peneveyre.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=7a1ad3e1-a916-437b-a2e7-f601ad4d6417</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <em>&lt;Disclaimer&gt;This is personal notes of what I retained during the session.
This can be incomplete, partially right or wrong. It is just part of the notes I took
and what retained my attention. Nothing prevents the user to get more information
on their favorite web site.&lt;/Disclaimer&gt;</em>
        </p>
        <p>
          <a href="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/Live-from-the-SPC11-_144F3/DSC04534%5B1%5D.jpg">
            <img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px" title="DSC04534" border="0" alt="DSC04534" align="left" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/Live-from-the-SPC11-_144F3/DSC04534%5B1%5D_thumb.jpg" width="324" height="244" />
          </a>Your
success factors, like the number of visitors, page views or conversion rate.
</p>
        <p>
Every body of the SharePoint branding team is around the Business Sponsor, technical
people or business oriented people.
</p>
        <p>
The Information Architect defines the content hierarchy of your sites and SharePoint
structure. This is the first step of the process.
</p>
        <p>
Then, we go into wireframing by designing one wireframe per page type.
</p>
        <p>
The next step is design comps and is just a picture and it is done usually with an
eye of the communication department. From that design, we can build a functional prototype
with already some functional navigation. This functional prototype can be reused (95%)
for the build phase.
</p>
        <p>
Some tools : Visio 2010 for Information Architecture and Wireframes, Expression Design
4 for the Design Comps and Expression Web 4 for the functional prototype.
</p>
        <p>
Integrating social network is now key and there is already a certain number of plug-ins
to integrate Facebook, with Like and Comment for example, provided by Facebook. The
generated HTML can then be inserted in the SharePoint web part. The social network
integration must be thought early in the design process and not just at the build
phase.
</p>
        <p>
Three options to support the mobiles : mobile browser which needs to support different
types of screens but it can be problematic if SharePoint is heavily branded; mobile
application using the SharePoint APIs, but in order to support the different technologies
you have to build different applications and different development tools and languages;
finally HTML5, which provides the richness of a mobile application, but support from
device to device can vary.
</p>
        <p>
Publishing features provide new master pages, page layouts, some additional web parts,
output caching and a lot of interesting things.
</p>
        <p>
Company logo, page header and footer or basically everything that should go on every
pages has to go in a master page. The way web parts, page controls, layouts is part
of page layouts.
</p>
        <p>
Always start with one of the existing out-of-the-box master page (v4, nightandday,
minimal), or go to Codeplex to get one of the starter master page.
</p>
        <p>
Users use more and more search, FAST provides more capabilities like scalability or
visual best bets or also the exact count on the refiners.
</p>
        <p>
For external search engines (SEO), the content is key, along with setting meaningful
site and page names titles, HTML metadata, don’t use Silverlight or Flash for the
navigation to not prevent search engines to follow the links to your content.
</p>
        <p>
Normally, there are two environments : authoring farm on the internal network and
production farm available on the web. The can be extended with a staging farm, also
on the internal network. This environment should be used to test new content and new
features together. When it looks good, then it can be deployed on the production.
</p>
        <p>
To extend the web analytics report provided out-of-the-box by SharePoint : webtrends
or intlock with Cardiolog Suite for SharePoint.
</p>
        <img width="0" height="0" src="http://www.peneveyre.com/blog/aggbug.ashx?id=7a1ad3e1-a916-437b-a2e7-f601ad4d6417" />
      </body>
      <title>Live from the SPC11 : Planning for the Lifecycle of Your SharePoint 2010 Website</title>
      <guid isPermaLink="false">http://www.peneveyre.com/blog/PermaLink,guid,7a1ad3e1-a916-437b-a2e7-f601ad4d6417.aspx</guid>
      <link>http://www.peneveyre.com/blog/PermaLink,guid,7a1ad3e1-a916-437b-a2e7-f601ad4d6417.aspx</link>
      <pubDate>Mon, 03 Oct 2011 21:53:47 GMT</pubDate>
      <description>&lt;p&gt;
&lt;em&gt;&amp;lt;Disclaimer&amp;gt;This is personal notes of what I retained during the session.
This can be incomplete, partially right or wrong. It is just part of the notes I took
and what retained my attention. Nothing prevents the user to get more information
on their favorite web site.&amp;lt;/Disclaimer&amp;gt;&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/Live-from-the-SPC11-_144F3/DSC04534%5B1%5D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px" title="DSC04534" border="0" alt="DSC04534" align="left" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/Live-from-the-SPC11-_144F3/DSC04534%5B1%5D_thumb.jpg" width="324" height="244"&gt;&lt;/a&gt;Your
success factors, like the number of visitors, page views or conversion rate.
&lt;/p&gt;
&lt;p&gt;
Every body of the SharePoint branding team is around the Business Sponsor, technical
people or business oriented people.
&lt;/p&gt;
&lt;p&gt;
The Information Architect defines the content hierarchy of your sites and SharePoint
structure. This is the first step of the process.
&lt;/p&gt;
&lt;p&gt;
Then, we go into wireframing by designing one wireframe per page type.
&lt;/p&gt;
&lt;p&gt;
The next step is design comps and is just a picture and it is done usually with an
eye of the communication department. From that design, we can build a functional prototype
with already some functional navigation. This functional prototype can be reused (95%)
for the build phase.
&lt;/p&gt;
&lt;p&gt;
Some tools : Visio 2010 for Information Architecture and Wireframes, Expression Design
4 for the Design Comps and Expression Web 4 for the functional prototype.
&lt;/p&gt;
&lt;p&gt;
Integrating social network is now key and there is already a certain number of plug-ins
to integrate Facebook, with Like and Comment for example, provided by Facebook. The
generated HTML can then be inserted in the SharePoint web part. The social network
integration must be thought early in the design process and not just at the build
phase.
&lt;/p&gt;
&lt;p&gt;
Three options to support the mobiles : mobile browser which needs to support different
types of screens but it can be problematic if SharePoint is heavily branded; mobile
application using the SharePoint APIs, but in order to support the different technologies
you have to build different applications and different development tools and languages;
finally HTML5, which provides the richness of a mobile application, but support from
device to device can vary.
&lt;/p&gt;
&lt;p&gt;
Publishing features provide new master pages, page layouts, some additional web parts,
output caching and a lot of interesting things.
&lt;/p&gt;
&lt;p&gt;
Company logo, page header and footer or basically everything that should go on every
pages has to go in a master page. The way web parts, page controls, layouts is part
of page layouts.
&lt;/p&gt;
&lt;p&gt;
Always start with one of the existing out-of-the-box master page (v4, nightandday,
minimal), or go to Codeplex to get one of the starter master page.
&lt;/p&gt;
&lt;p&gt;
Users use more and more search, FAST provides more capabilities like scalability or
visual best bets or also the exact count on the refiners.
&lt;/p&gt;
&lt;p&gt;
For external search engines (SEO), the content is key, along with setting meaningful
site and page names titles, HTML metadata, don’t use Silverlight or Flash for the
navigation to not prevent search engines to follow the links to your content.
&lt;/p&gt;
&lt;p&gt;
Normally, there are two environments : authoring farm on the internal network and
production farm available on the web. The can be extended with a staging farm, also
on the internal network. This environment should be used to test new content and new
features together. When it looks good, then it can be deployed on the production.
&lt;/p&gt;
&lt;p&gt;
To extend the web analytics report provided out-of-the-box by SharePoint : webtrends
or intlock with Cardiolog Suite for SharePoint.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.peneveyre.com/blog/aggbug.ashx?id=7a1ad3e1-a916-437b-a2e7-f601ad4d6417" /&gt;</description>
      <comments>http://www.peneveyre.com/blog/CommentView,guid,7a1ad3e1-a916-437b-a2e7-f601ad4d6417.aspx</comments>
      <category>SPC11</category>
    </item>
    <item>
      <trackback:ping>http://www.peneveyre.com/blog/Trackback.aspx?guid=a3c28ceb-e71c-4ea6-99be-c8d7f33a9583</trackback:ping>
      <pingback:server>http://www.peneveyre.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.peneveyre.com/blog/PermaLink,guid,a3c28ceb-e71c-4ea6-99be-c8d7f33a9583.aspx</pingback:target>
      <dc:creator>Yves Peneveyre</dc:creator>
      <wfw:comment>http://www.peneveyre.com/blog/CommentView,guid,a3c28ceb-e71c-4ea6-99be-c8d7f33a9583.aspx</wfw:comment>
      <wfw:commentRss>http://www.peneveyre.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=a3c28ceb-e71c-4ea6-99be-c8d7f33a9583</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <em>&lt;Disclaimer&gt;This is personal notes of what I retained during the session.
This can be incomplete, partially right or wrong. It is just part of the notes I took
and what retained my attention. Nothing prevents the user to get more information
on their favorite web site.&lt;/Disclaimer&gt;</em>
        </p>
        <p>
          <a href="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/d7ad8fa9a05d_10268/DSC04533%5B1%5D.jpg">
            <img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px" title="DSC04533" border="0" alt="DSC04533" align="left" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/d7ad8fa9a05d_10268/DSC04533%5B1%5D_thumb.jpg" width="290" height="218" />
          </a>Some
nice web sites with cool branding are presented : <a href="http://www.brembo.com">Brembo.com</a>,
qualia.com.au, chilis.com, calphalon.com, choosechicago.com, sharpie.com, etc
</p>
        <p>
SharePoint can be fully branded and there is almost no limitations, but it is better
to spend time upfront to do the things correctly the first time.
</p>
        <p>
First, define your vision and goals and how to measure if we reached the goals. Then,
build the team and planning and not directly going into creating the branding. Some
specific requirements : types of content, style guidelines, navigation, search.
</p>
        <p>
A design should be clean and simple and remember the 3-clicks rule : everything should
be available with 3 clicks. In terms of usability, system response can vary from the
implementation. Search is important as more and more users are navigating using search
on a website
</p>
        <p>
Show your concepts in B&amp;W because it keeps the focus of the stakeholders on the
concepts and not on the images and colors that are probably not yet defined at this
stage.
</p>
        <p>
In short, the process is : Requirements, Wireframes, Technical Specifications, Creative
Components
</p>
        <p>
Design Theory : Contrast, Repetition, Alignement and Proximity (CRAP <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/d7ad8fa9a05d_10268/wlEmoticon-smile_2.png" /> )
</p>
        <p>
Use Microsoft Expression Design or Photoshop (an example of a grid design is presented)
and start by a paper version. Keep on the ground and avoid things that are hard.
</p>
        <p>
Use the A/B testing, by presenting two versions of the design and see which is the
preferred one. Test the navigability and how users can find content (not only by searching).
</p>
        <p>
Before going to SharePoint, check by doing an HTML site and use the XHTML Strict Doctype
and test in the target browsers.
</p>
        <p>
Different efforts for branding : Full, by doing the complete Master Pages, Layouts,
CSS etc; Medium, by doing CSS, images and alternate CSS; And Low, by using only the
out-of-the-box masters pages, UI and themes.
</p>
        <p>
Use a start master page and modify it even by moving or hiding OOB elements.
</p>
        <p>
Page Layouts can be considered as templates for page content. The most used web parts
are CEWP and CQWP. The first can be used to add Javascript and CSS to page, the second
to rollup content. One important thing is that HTML content fields remove the Javascript.
</p>
        <p>
For mobile devices, turn off the mobile view and Android and iOS devices are not well
supported.
</p>
        <p>
Tag and document your content using meta-data in page layouts. Also, name the pages
correctly.
</p>
        <p>
Deployment process : MP, PL, CSS, WP are completed, then deploy and ensure that everything
look fine. Then, enter real data to again check that everything is ok.
</p>
        <img width="0" height="0" src="http://www.peneveyre.com/blog/aggbug.ashx?id=a3c28ceb-e71c-4ea6-99be-c8d7f33a9583" />
      </body>
      <title>Live from the SPC11 : Creating Beautiful and Engaging Web Sites with SharePoint 2010</title>
      <guid isPermaLink="false">http://www.peneveyre.com/blog/PermaLink,guid,a3c28ceb-e71c-4ea6-99be-c8d7f33a9583.aspx</guid>
      <link>http://www.peneveyre.com/blog/PermaLink,guid,a3c28ceb-e71c-4ea6-99be-c8d7f33a9583.aspx</link>
      <pubDate>Mon, 03 Oct 2011 18:59:28 GMT</pubDate>
      <description>&lt;p&gt;
&lt;em&gt;&amp;lt;Disclaimer&amp;gt;This is personal notes of what I retained during the session.
This can be incomplete, partially right or wrong. It is just part of the notes I took
and what retained my attention. Nothing prevents the user to get more information
on their favorite web site.&amp;lt;/Disclaimer&amp;gt;&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/d7ad8fa9a05d_10268/DSC04533%5B1%5D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px" title="DSC04533" border="0" alt="DSC04533" align="left" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/d7ad8fa9a05d_10268/DSC04533%5B1%5D_thumb.jpg" width="290" height="218"&gt;&lt;/a&gt;Some
nice web sites with cool branding are presented : &lt;a href="http://www.brembo.com"&gt;Brembo.com&lt;/a&gt;,
qualia.com.au, chilis.com, calphalon.com, choosechicago.com, sharpie.com, etc
&lt;/p&gt;
&lt;p&gt;
SharePoint can be fully branded and there is almost no limitations, but it is better
to spend time upfront to do the things correctly the first time.
&lt;/p&gt;
&lt;p&gt;
First, define your vision and goals and how to measure if we reached the goals. Then,
build the team and planning and not directly going into creating the branding. Some
specific requirements : types of content, style guidelines, navigation, search.
&lt;/p&gt;
&lt;p&gt;
A design should be clean and simple and remember the 3-clicks rule : everything should
be available with 3 clicks. In terms of usability, system response can vary from the
implementation. Search is important as more and more users are navigating using search
on a website
&lt;/p&gt;
&lt;p&gt;
Show your concepts in B&amp;amp;W because it keeps the focus of the stakeholders on the
concepts and not on the images and colors that are probably not yet defined at this
stage.
&lt;/p&gt;
&lt;p&gt;
In short, the process is : Requirements, Wireframes, Technical Specifications, Creative
Components
&lt;/p&gt;
&lt;p&gt;
Design Theory : Contrast, Repetition, Alignement and Proximity (CRAP &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/d7ad8fa9a05d_10268/wlEmoticon-smile_2.png"&gt; )
&lt;/p&gt;
&lt;p&gt;
Use Microsoft Expression Design or Photoshop (an example of a grid design is presented)
and start by a paper version. Keep on the ground and avoid things that are hard.
&lt;/p&gt;
&lt;p&gt;
Use the A/B testing, by presenting two versions of the design and see which is the
preferred one. Test the navigability and how users can find content (not only by searching).
&lt;/p&gt;
&lt;p&gt;
Before going to SharePoint, check by doing an HTML site and use the XHTML Strict Doctype
and test in the target browsers.
&lt;/p&gt;
&lt;p&gt;
Different efforts for branding : Full, by doing the complete Master Pages, Layouts,
CSS etc; Medium, by doing CSS, images and alternate CSS; And Low, by using only the
out-of-the-box masters pages, UI and themes.
&lt;/p&gt;
&lt;p&gt;
Use a start master page and modify it even by moving or hiding OOB elements.
&lt;/p&gt;
&lt;p&gt;
Page Layouts can be considered as templates for page content. The most used web parts
are CEWP and CQWP. The first can be used to add Javascript and CSS to page, the second
to rollup content. One important thing is that HTML content fields remove the Javascript.
&lt;/p&gt;
&lt;p&gt;
For mobile devices, turn off the mobile view and Android and iOS devices are not well
supported.
&lt;/p&gt;
&lt;p&gt;
Tag and document your content using meta-data in page layouts. Also, name the pages
correctly.
&lt;/p&gt;
&lt;p&gt;
Deployment process : MP, PL, CSS, WP are completed, then deploy and ensure that everything
look fine. Then, enter real data to again check that everything is ok.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.peneveyre.com/blog/aggbug.ashx?id=a3c28ceb-e71c-4ea6-99be-c8d7f33a9583" /&gt;</description>
      <comments>http://www.peneveyre.com/blog/CommentView,guid,a3c28ceb-e71c-4ea6-99be-c8d7f33a9583.aspx</comments>
      <category>SPC11</category>
    </item>
    <item>
      <trackback:ping>http://www.peneveyre.com/blog/Trackback.aspx?guid=399383ca-b267-413e-8752-5144c4f74cd4</trackback:ping>
      <pingback:server>http://www.peneveyre.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.peneveyre.com/blog/PermaLink,guid,399383ca-b267-413e-8752-5144c4f74cd4.aspx</pingback:target>
      <dc:creator>Yves Peneveyre</dc:creator>
      <wfw:comment>http://www.peneveyre.com/blog/CommentView,guid,399383ca-b267-413e-8752-5144c4f74cd4.aspx</wfw:comment>
      <wfw:commentRss>http://www.peneveyre.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=399383ca-b267-413e-8752-5144c4f74cd4</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
In few weeks will start the <a href="http://www.mssharepointconference.com/" target="_blank">Microsoft
SharePoint Conference</a> in Anaheim and I have the chance to attend and meet great
people there.
</p>
        <p>
So, see you in the US !
</p>
        <p>
          <a href="http://www.mssharepointconference.com/">
            <img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Print" border="0" alt="Print" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/See-you-at-the-Microsoft-SharePoint-Conf_10EC8/dp3ex_3.jpg" width="244" height="65" />
          </a>
        </p>
        <p>
You can also follow the discussion on <a href="http://twitter.com/" target="_blank">twitter</a> with
the tag <a href="http://twitter.com/#!/spconf" target="_blank">#spc11</a></p>
        <img width="0" height="0" src="http://www.peneveyre.com/blog/aggbug.ashx?id=399383ca-b267-413e-8752-5144c4f74cd4" />
      </body>
      <title>See you at the Microsoft SharePoint Conference 2011</title>
      <guid isPermaLink="false">http://www.peneveyre.com/blog/PermaLink,guid,399383ca-b267-413e-8752-5144c4f74cd4.aspx</guid>
      <link>http://www.peneveyre.com/blog/PermaLink,guid,399383ca-b267-413e-8752-5144c4f74cd4.aspx</link>
      <pubDate>Mon, 19 Sep 2011 17:17:10 GMT</pubDate>
      <description>&lt;p&gt;
In few weeks will start the &lt;a href="http://www.mssharepointconference.com/" target="_blank"&gt;Microsoft
SharePoint Conference&lt;/a&gt; in Anaheim and I have the chance to attend and meet great
people there.
&lt;/p&gt;
&lt;p&gt;
So, see you in the US !
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.mssharepointconference.com/"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Print" border="0" alt="Print" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/See-you-at-the-Microsoft-SharePoint-Conf_10EC8/dp3ex_3.jpg" width="244" height="65"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
You can also follow the discussion on &lt;a href="http://twitter.com/" target="_blank"&gt;twitter&lt;/a&gt; with
the tag &lt;a href="http://twitter.com/#!/spconf" target="_blank"&gt;#spc11&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.peneveyre.com/blog/aggbug.ashx?id=399383ca-b267-413e-8752-5144c4f74cd4" /&gt;</description>
      <comments>http://www.peneveyre.com/blog/CommentView,guid,399383ca-b267-413e-8752-5144c4f74cd4.aspx</comments>
      <category>SharePoint</category>
      <category>SPC11</category>
    </item>
    <item>
      <trackback:ping>http://www.peneveyre.com/blog/Trackback.aspx?guid=42475b19-9d8d-41ae-96f4-a2c1d0c830f2</trackback:ping>
      <pingback:server>http://www.peneveyre.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.peneveyre.com/blog/PermaLink,guid,42475b19-9d8d-41ae-96f4-a2c1d0c830f2.aspx</pingback:target>
      <dc:creator>Yves Peneveyre</dc:creator>
      <wfw:comment>http://www.peneveyre.com/blog/CommentView,guid,42475b19-9d8d-41ae-96f4-a2c1d0c830f2.aspx</wfw:comment>
      <wfw:commentRss>http://www.peneveyre.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=42475b19-9d8d-41ae-96f4-a2c1d0c830f2</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <strong>Title :</strong> Delivering Happiness – A Path to Profits, Passion, and Purpose
</p>
        <p>
          <strong>Author :</strong> Tony Hsieh
</p>
        <p>
          <strong>Summary :<br /></strong>This is the first time since a long time that I did not read anything else
than SharePoint books. Tony Hsieh is the CEO of Zappos.com, a e-Commerce platform
for shoes, clothes, bags and a lot of other things. In his book, Tony traces his path
from his boyhood and his first motivations, through the current state his flagship
company. Going into several details or anecdotes of the building of first LinkExchange,
then Zappos.
</p>
        <p>
The book is split in three sections, the first setting the stage, describing his first
attempts for businesses during his childhood, then at college and at university, finishing
with the funding of Zappos through a self-made incubator. The second section focus
on how he and his team built the culture of the company, some tricks to be better
than some competitors and how they made Zappos the number one of the customer service
(some other companies should take some examples…). The third section talks more about
the public communications and marketing of the brand before selling Zappos to Amazon.
</p>
        <p>
          <strong>Book Review :<br /></strong>Wow ! <img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/6b4124302f19_F837/wlEmoticon-smile_2.png" /> I
read this book like a novel. When you start, you want to continue reading.
</p>
        <p>
Reading how an entrepreneur starts, fails then starts again and fights against external
factors like logistics issues or economic crisis is really interesting. Seeing also
how he changed his focus from just making money to make everyone happy with all the
way to this end is very exciting. Definitely, some ideas or variations of them can
be taken from him, even if I think that most of them can (only) apply to start-ups.
Some others are more applicable to retail companies than other sectors. It is a very
stimulating book. I don’t want to emphasize too much on the only one less-positive
point I found : one cannot let me think that at the end, writing such book was not
with some marketing or sales improvements in mind, which I would totally accept.
</p>
        <p>
Finally, the concept of “delivering happiness” worth on itself to be spread and tried
to be applied. A book to read for all enterpreneurs.
</p>
        <img width="0" height="0" src="http://www.peneveyre.com/blog/aggbug.ashx?id=42475b19-9d8d-41ae-96f4-a2c1d0c830f2" />
      </body>
      <title>Book Review : Delivering Happiness – A Path to Profits, Passion, and Purpose</title>
      <guid isPermaLink="false">http://www.peneveyre.com/blog/PermaLink,guid,42475b19-9d8d-41ae-96f4-a2c1d0c830f2.aspx</guid>
      <link>http://www.peneveyre.com/blog/PermaLink,guid,42475b19-9d8d-41ae-96f4-a2c1d0c830f2.aspx</link>
      <pubDate>Tue, 16 Aug 2011 20:31:00 GMT</pubDate>
      <description>&lt;p&gt;
&lt;strong&gt;Title :&lt;/strong&gt; Delivering Happiness – A Path to Profits, Passion, and Purpose
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Author :&lt;/strong&gt; Tony Hsieh
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Summary :&lt;br&gt;
&lt;/strong&gt;This is the first time since a long time that I did not read anything else
than SharePoint books. Tony Hsieh is the CEO of Zappos.com, a e-Commerce platform
for shoes, clothes, bags and a lot of other things. In his book, Tony traces his path
from his boyhood and his first motivations, through the current state his flagship
company. Going into several details or anecdotes of the building of first LinkExchange,
then Zappos.
&lt;/p&gt;
&lt;p&gt;
The book is split in three sections, the first setting the stage, describing his first
attempts for businesses during his childhood, then at college and at university, finishing
with the funding of Zappos through a self-made incubator. The second section focus
on how he and his team built the culture of the company, some tricks to be better
than some competitors and how they made Zappos the number one of the customer service
(some other companies should take some examples…). The third section talks more about
the public communications and marketing of the brand before selling Zappos to Amazon.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Book Review :&lt;br&gt;
&lt;/strong&gt;Wow ! &lt;img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://www.peneveyre.com/blog/content/binary/Windows-Live-Writer/6b4124302f19_F837/wlEmoticon-smile_2.png"&gt; I
read this book like a novel. When you start, you want to continue reading.
&lt;/p&gt;
&lt;p&gt;
Reading how an entrepreneur starts, fails then starts again and fights against external
factors like logistics issues or economic crisis is really interesting. Seeing also
how he changed his focus from just making money to make everyone happy with all the
way to this end is very exciting. Definitely, some ideas or variations of them can
be taken from him, even if I think that most of them can (only) apply to start-ups.
Some others are more applicable to retail companies than other sectors. It is a very
stimulating book. I don’t want to emphasize too much on the only one less-positive
point I found : one cannot let me think that at the end, writing such book was not
with some marketing or sales improvements in mind, which I would totally accept.
&lt;/p&gt;
&lt;p&gt;
Finally, the concept of “delivering happiness” worth on itself to be spread and tried
to be applied. A book to read for all enterpreneurs.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.peneveyre.com/blog/aggbug.ashx?id=42475b19-9d8d-41ae-96f4-a2c1d0c830f2" /&gt;</description>
      <comments>http://www.peneveyre.com/blog/CommentView,guid,42475b19-9d8d-41ae-96f4-a2c1d0c830f2.aspx</comments>
      <category>Book Review</category>
    </item>
  </channel>
</rss>
