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

<channel>
	<title>CP - Help, Answers, Tips, Questions about software, hardware and other stuff &#187; SharePoint</title>
	<atom:link href="http://computersplace.net/tag/sharepoint/feed" rel="self" type="application/rss+xml" />
	<link>http://computersplace.net</link>
	<description>Reviews, Answers on software, laptop, computer, hardware, spyware, printer</description>
	<lastBuildDate>Tue, 07 Feb 2012 12:00:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.5</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Creating a Wiki Page template For SharePoint 2010 Foundation</title>
		<link>http://computersplace.net/microsoft-releated/creating-a-wiki-page-template-for-sharepoint-2010-foundation.html</link>
		<comments>http://computersplace.net/microsoft-releated/creating-a-wiki-page-template-for-sharepoint-2010-foundation.html#comments</comments>
		<pubDate>Tue, 01 Nov 2011 05:46:13 +0000</pubDate>
		<dc:creator>Jeramy</dc:creator>
				<category><![CDATA[Microsoft Related]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[creating]]></category>
		<category><![CDATA[Foundation]]></category>
		<category><![CDATA[page]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[Wiki]]></category>

		<guid isPermaLink="false">http://computersplace.net/microsoft-releated/creating-a-wiki-page-template-for-sharepoint-2010-foundation.html</guid>
		<description><![CDATA[Introduction As I have ever written several time in my previous posts, one of the severe limitation of SharePoint Foundation is that the Wiki Pages are based on a single template wkpstd.aspx located at C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\TEMPLATE\DocumentTemplates If you try to add a wiki&#160;page programmatically to a wiki page library of a&#160;SharePoint [...]]]></description>
			<content:encoded><![CDATA[<p><P<br />
style="PADDING-BOTTOM: 10px; MARGIN: 1px 0px; PADDING-LEFT: 13px; PADDING-RIGHT: 0px; COLOR: #e9ab17; FONT-WEIGHT: bold; PADDING-TOP: 10px">Introduction</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">As<br />
I have ever written several time in my previous posts, one of the severe<br />
limitation of SharePoint Foundation is that the Wiki Pages are based on a single<br />
template wkpstd.aspx located at</P><br />
<P>C:\Program Files\Common Files\Microsoft Shared\Web Server<br />
Extensions\TEMPLATE\DocumentTemplates</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">If<br />
you try to add a wiki&nbsp;page programmatically to a wiki page library of<br />
a&nbsp;SharePoint Foundation team site and you want it to be ghosted you must<br />
use the method SPFileCollection.Add with this signature :</P><br />
<P>&nbsp;<A id=ctl00_MTCS_main_ctl93_ctl00_ctl21<br />
href="http://msdn.microsoft.com/en-us/library/aa543347.aspx"><FONT<br />
color=#0033cc>Add(String, SPTemplateFileType)</FONT></A></P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">And<br />
pass the reference of the wiki page template wkpstd.aspx to the SPTemplate<br />
parameter. If you use the other methods, you will be able to add a wikipage, but<br />
it will be unghosted. </P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">I<br />
am now going to show you a very amazing workaround to use another template than<br />
the wkpstd.aspx one and will process in&nbsp; two steps. First I will<br />
demonstrate it so as you can easily understand its principle then I will provide<br />
a programmatic way of doing it. </P><br />
<P<br />
style="PADDING-BOTTOM: 10px; MARGIN: 1px 0px; PADDING-LEFT: 13px; PADDING-RIGHT: 0px; COLOR: #e9ab17; FONT-WEIGHT: bold; PADDING-TOP: 10px">Demonstration</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">Start<br />
creating your new template by duplicating the wkpstd.aspx and rename it<br />
wkpcustom.aspx, then perform a little operation of customization in order each<br />
page based on this new template can tell its name : </P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">In<br />
the page directive section add the namespace System.Diagnostics because the wiki<br />
pages will tell their nam in the debugView&#8230;</P><br />
<P><FONT size=2>&lt;%</FONT><FONT color=#0000ff size=2><FONT color=#0000ff<br />
size=2>@</FONT></FONT><FONT size=2> </FONT><FONT color=#a31515 size=2><FONT<br />
color=#a31515 size=2>Import</FONT></FONT><FONT size=2> </FONT><FONT<br />
color=#ff0000 size=2><FONT color=#ff0000 size=2>Namespace</FONT></FONT><FONT<br />
color=#0000ff size=2><FONT color=#0000ff<br />
size=2>=&#8221;System.Diagnostics&#8221;</FONT></FONT><FONT size=2> %&gt;</P></FONT><br />
<P>Then, at the top of the PlaceHolderMain section paste this code:</P><FONT<br />
size=2><br />
<P></FONT><FONT color=#0000ff size=2><FONT color=#0000ff<br />
size=2>protected</FONT></FONT><FONT size=2> </FONT><FONT color=#0000ff<br />
size=2><FONT color=#0000ff size=2>override</FONT></FONT><FONT size=2><br />
</FONT><FONT color=#0000ff size=2><FONT color=#0000ff<br />
size=2>void</FONT></FONT><FONT size=2> OnPreInit(</FONT><FONT color=#2b91af<br />
size=2><FONT color=#2b91af size=2>EventArgs</FONT></FONT><FONT size=2><br />
e)<BR>{<BR></FONT><FONT color=#0000ff size=2><FONT color=#0000ff<br />
size=2>&nbsp;&nbsp;&nbsp;&nbsp; base</FONT></FONT><FONT<br />
size=2>.OnPreInit(e);<BR><BR></FONT><FONT color=#2b91af size=2><FONT<br />
color=#2b91af size=2>&nbsp;&nbsp;&nbsp; Debug</FONT></FONT><FONT<br />
size=2>.WriteLine(</FONT><FONT color=#2b91af size=2><FONT color=#2b91af<br />
size=2>SPContext</FONT></FONT><FONT<br />
size=2>.Current.File.Name);<BR>}<BR></FONT></P><br />
<P>&nbsp;</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">Then,<br />
we are going to prepare a feature to reference this wkpcustom.aspx file in a<br />
SharePoint Foundation wiki page library. </P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">Assume<br />
we call the feature</P><br />
<P>&nbsp;Provisioning.SPF_WikiPages</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">Here<br />
is the feature.xml code:</P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>&lt;?</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>xml</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US> </SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>version</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>=</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>&#8220;<SPAN style="COLOR: blue">1.0</SPAN>&#8220;<SPAN style="COLOR: blue"><br />
</SPAN><SPAN style="COLOR: red">encoding</SPAN><SPAN<br />
style="COLOR: blue">=</SPAN>&#8220;<SPAN style="COLOR: blue">utf-8</SPAN>&#8220;<SPAN<br />
style="COLOR: blue">?&gt;<?xml:namespace prefix = o ns =<br />
"urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>&lt;</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>Feature</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US> </SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>Id</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>=</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>&#8220;<SPAN<br />
style="COLOR: blue">00BFEA71-2062-426C-90BF-714C59600AAA</SPAN>&#8220;<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>Title</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>=</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>&#8220;<SPAN style="COLOR: blue">Adding pre populate wiki<br />
pages</SPAN>&#8220;<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>Description</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>=</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>&#8220;<SPAN style="COLOR: blue">This feature will add pre-populate wiki<br />
pages to the site pages wiki library of this site</SPAN>&#8220;<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>Version</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>=</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>&#8220;<SPAN style="COLOR: blue">1.0.0.0</SPAN>&#8220;<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>Scope</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>=</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>&#8220;<SPAN style="COLOR: blue">Web</SPAN>&#8220;<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>Hidden</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>=</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>&#8220;<SPAN style="COLOR: blue">false</SPAN>&#8220;<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>DefaultResourceFile</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>=</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>&#8220;<SPAN style="COLOR: blue">core</SPAN>&#8220;<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>xmlns</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>=</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>&#8220;<SPAN<br />
style="COLOR: blue">http://schemas.microsoft.com/sharepoint/</SPAN>&#8220;<SPAN<br />
style="COLOR: blue">&gt;<o:p></o:p></SPAN></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp; </SPAN></SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes">&lt;</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes">ElementManifests</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes">&gt;<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"><SPAN<br />
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>&lt;</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes">ElementManifest</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"><br />
</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-no-proof: yes">Location</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes">=</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes">&#8220;<SPAN<br />
style="COLOR: blue">elements.xml</SPAN>&#8220;<SPAN style="COLOR: blue"><br />
/&gt;<o:p></o:p></SPAN></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"><SPAN<br />
style="mso-spacerun: yes">&nbsp; </SPAN>&lt;/</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes">ElementManifests</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes">&gt;<o:p></o:p></SPAN></P><br />
<P style="MARGIN: 0cm 0cm 10pt" class=MsoNormal><SPAN<br />
style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes">&lt;/</SPAN><SPAN<br />
style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes">Feature</SPAN><SPAN<br />
style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes">&gt;</SPAN></P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">And<br />
this is the xml code of the elements.xml file</P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>&lt;</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>Elements</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US> </SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>xmlns</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>=</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><FONT color=#000000>&#8220;</FONT><SPAN<br />
style="COLOR: blue">http://schemas.microsoft.com/sharepoint/</SPAN><FONT<br />
color=#000000>&#8220;</FONT><SPAN<br />
style="COLOR: blue">&gt;<o:p></o:p></SPAN></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>&lt;</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>Module</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US> </SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>Url</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>=</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><FONT color=#000000>&#8220;</FONT><SPAN<br />
style="COLOR: blue">SitePages</SPAN><FONT color=#000000>&#8220;</FONT><SPAN<br />
style="COLOR: blue"> &gt;<o:p></o:p></SPAN></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;<br />
</SPAN>&lt;</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>File</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US> </SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>Url</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>=</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><FONT color=#000000>&#8220;</FONT><SPAN<br />
style="COLOR: blue">wkpcustom.aspx</SPAN><FONT color=#000000>&#8220;</FONT><SPAN<br />
style="COLOR: blue"> </SPAN><SPAN style="COLOR: red">Type</SPAN><SPAN<br />
style="COLOR: blue">=</SPAN><FONT color=#000000>&#8220;</FONT><SPAN<br />
style="COLOR: blue">GhostableInLibrary</SPAN><FONT color=#000000>&#8220;</FONT><SPAN<br />
style="COLOR: blue">&gt;&lt;/</SPAN><SPAN<br />
style="COLOR: #a31515">File</SPAN><SPAN<br />
style="COLOR: blue">&gt;<o:p></o:p></SPAN></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp; </SPAN></SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes">&lt;/</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes">Module</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes">&gt;<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes">&lt;/</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes">Elements</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes">&gt;</SPAN></P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px"><FONT<br />
color=#000000 size=3 face="Times New Roman"></FONT>&nbsp;</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">Last,<br />
a screen shot of the Provisioning.SPF_WikiPages feature folder</P><br />
<P></p>
<p><a href="http://3.bp.blogspot.com/--kDJgedFOkc/Tq9-JlH__2I/AAAAAAAAB6Y/S1Brt4ZfJAg/s1600/Creating%2Ba%2BWiki%2BPage%2Btemplate%2BFor%2BSharePoint%2B2010%2BFoundation%2B%2B-%2B010%2B-%2BProvisioning.SPF_WikiPages%2Bfeature%2Bfolder.jpg"><img style="cursor:pointer; cursor:hand;width: 320px; height: 158px;" src="http://3.bp.blogspot.com/--kDJgedFOkc/Tq9-JlH__2I/AAAAAAAAB6Y/S1Brt4ZfJAg/s320/Creating%2Ba%2BWiki%2BPage%2Btemplate%2BFor%2BSharePoint%2B2010%2BFoundation%2B%2B-%2B010%2B-%2BProvisioning.SPF_WikiPages%2Bfeature%2Bfolder.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5669889158932332386" /></a></p>
<p></P><br />
<P>&nbsp;</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">Then,<br />
install the feature and activate it for one of the team site of your Farm and<br />
you will have a reference to your page in the site pages library of this team<br />
site. </P><br />
<P></p>
<p><a href="http://2.bp.blogspot.com/-3wLDQuVgOEs/Tq9-JdFLBdI/AAAAAAAAB6Q/latSpgYtdDc/s1600/Creating%2Ba%2BWiki%2BPage%2Btemplate%2BFor%2BSharePoint%2B2010%2BFoundation%2B%2B-%2B020%2B-%2BProvisioning.SPF_WikiPages%2Bfeature%2Binstalled.jpg"><img style="cursor:pointer; cursor:hand;width: 320px; height: 144px;" src="http://2.bp.blogspot.com/-3wLDQuVgOEs/Tq9-JdFLBdI/AAAAAAAAB6Q/latSpgYtdDc/s320/Creating%2Ba%2BWiki%2BPage%2Btemplate%2BFor%2BSharePoint%2B2010%2BFoundation%2B%2B-%2B020%2B-%2BProvisioning.SPF_WikiPages%2Bfeature%2Binstalled.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5669889156772988370" /></a></p>
<p></P><br />
<P>&nbsp;</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">You<br />
can see a reference to the wkpcustom file located in the feature folder on the<br />
server</P><br />
<P></p>
<p><a href="http://1.bp.blogspot.com/-k9hsjAxMGzY/Tq9-JJFPX2I/AAAAAAAAB6E/H_BB8wOcgGs/s1600/Creating%2Ba%2BWiki%2BPage%2Btemplate%2BFor%2BSharePoint%2B2010%2BFoundation%2B%2B-%2B030%2B-%2BProvisioning.SPF_WikiPages%2Bfeature%2Bactivated.jpg"><img style="cursor:pointer; cursor:hand;width: 320px; height: 127px;" src="http://1.bp.blogspot.com/-k9hsjAxMGzY/Tq9-JJFPX2I/AAAAAAAAB6E/H_BB8wOcgGs/s320/Creating%2Ba%2BWiki%2BPage%2Btemplate%2BFor%2BSharePoint%2B2010%2BFoundation%2B%2B-%2B030%2B-%2BProvisioning.SPF_WikiPages%2Bfeature%2Bactivated.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5669889151404564322" /></a></p>
<p></P><br />
<P>&nbsp;</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">And<br />
because this file was provisioned by a feature, although there is in line code<br />
in it, if you display&nbsp;the wiki page using this file, it will work, the code<br />
will run and will write the name of the page in the debugview. </P><br />
<P></p>
<p><a href="http://1.bp.blogspot.com/-wI4n582112o/Tq9-I5ok2HI/AAAAAAAAB54/ca7YYLaaP1Y/s1600/Creating%2Ba%2BWiki%2BPage%2Btemplate%2BFor%2BSharePoint%2B2010%2BFoundation%2B%2B-%2B040%2B-%2Bwkpcustom%2Bdisplaying%2Bname%2Bdisplayed%2Bin%2Bdebugview.jpg"><img style="cursor:pointer; cursor:hand;width: 320px; height: 230px;" src="http://1.bp.blogspot.com/-wI4n582112o/Tq9-I5ok2HI/AAAAAAAAB54/ca7YYLaaP1Y/s320/Creating%2Ba%2BWiki%2BPage%2Btemplate%2BFor%2BSharePoint%2B2010%2BFoundation%2B%2B-%2B040%2B-%2Bwkpcustom%2Bdisplaying%2Bname%2Bdisplayed%2Bin%2Bdebugview.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5669889147257804914" /></a></p>
<p></P><br />
<P>&nbsp;</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">But,<br />
wait a minute, this file is already a template. It is a template for just one<br />
page within the site pages library but it is exactly like the wkpstd.aspx for<br />
the other pages. So assume we could have several pages within the library based<br />
on this file we would have created a new template. I see some of you<br />
smiling&#8230;</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">You<br />
have understood&#8230; It is what we are going to do now&#8230;</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">Now<br />
is the time to use another workaround I have already shown in a previous post to<br />
open our library in explorer mode. <BR>So switch to shared documents library,<br />
open it in explorer mode, then using the explorer folder navigation go back to<br />
the site pages library but in explorer mode now </P><br />
<P></p>
<p><a href="http://3.bp.blogspot.com/-lN5mMDMg1-o/Tq9-IkqbhpI/AAAAAAAAB5s/NyUIDQpNakc/s1600/Creating%2Ba%2BWiki%2BPage%2Btemplate%2BFor%2BSharePoint%2B2010%2BFoundation%2B%2B-%2B050%2B-%2Bwkpcustom%2Bviewed%2Bin%2Bexplorer%2Bmode%2Bin%2Bthe%2Bsite%2Bpages%2Bfolder.jpg"><img style="cursor:pointer; cursor:hand;width: 320px; height: 202px;" src="http://3.bp.blogspot.com/-lN5mMDMg1-o/Tq9-IkqbhpI/AAAAAAAAB5s/NyUIDQpNakc/s320/Creating%2Ba%2BWiki%2BPage%2Btemplate%2BFor%2BSharePoint%2B2010%2BFoundation%2B%2B-%2B050%2B-%2Bwkpcustom%2Bviewed%2Bin%2Bexplorer%2Bmode%2Bin%2Bthe%2Bsite%2Bpages%2Bfolder.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5669889141628438162" /></a></p>
<p></P><br />
<P>&nbsp;</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">Then<br />
rename the page in &#8220;page 01.aspx&#8221;</P><br />
<P></p>
<p><a href="http://1.bp.blogspot.com/-pQbOdxhGixk/Tq9_iCVjbjI/AAAAAAAAB7Y/HA0zqeYGXFk/s1600/Creating%2Ba%2BWiki%2BPage%2Btemplate%2BFor%2BSharePoint%2B2010%2BFoundation%2B%2B-%2B060%2B-%2Bwkpcustom.aspx%2Brenaming.jpg"><img style="cursor:pointer; cursor:hand;width: 320px; height: 154px;" src="http://1.bp.blogspot.com/-pQbOdxhGixk/Tq9_iCVjbjI/AAAAAAAAB7Y/HA0zqeYGXFk/s320/Creating%2Ba%2BWiki%2BPage%2Btemplate%2BFor%2BSharePoint%2B2010%2BFoundation%2B%2B-%2B060%2B-%2Bwkpcustom.aspx%2Brenaming.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5669890678602296882" /></a></p>
<p></P><br />
<P>&nbsp;</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">then<br />
go back to the site pages library within the SharePoint UI. You will notice that<br />
the page is renamed and if you displayed it, its name in the debugview has<br />
changed either. While renamed, the page remains in its ghosted state and linked<br />
to the &#8220;template&#8221;. </P><br />
<P></p>
<p><a href="http://2.bp.blogspot.com/-lPrXuJFzx3w/Tq-BOXEfn5I/AAAAAAAAB7k/3qykmYf3ryc/s1600/Creating%2Ba%2BWiki%2BPage%2Btemplate%2BFor%2BSharePoint%2B2010%2BFoundation%2B%2B-%2B070%2B-%2Bpage%2B01.aspx%2Bworking.jpg"><img style="cursor:pointer; cursor:hand;width: 320px; height: 198px;" src="http://2.bp.blogspot.com/-lPrXuJFzx3w/Tq-BOXEfn5I/AAAAAAAAB7k/3qykmYf3ryc/s320/Creating%2Ba%2BWiki%2BPage%2Btemplate%2BFor%2BSharePoint%2B2010%2BFoundation%2B%2B-%2B070%2B-%2Bpage%2B01.aspx%2Bworking.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5669892539593760658" /></a></p>
<p></P><br />
<P>&nbsp;</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">Now<br />
deactivate the feature, then reactivate it and you will have a new page<br />
wkpcustom.aspx beside the &#8220;page 01.aspx&#8221; and the two pages are linked to the<br />
same file on the server, so if we display one then the other, debugview will<br />
trace the two names based on the code of an unique file on the server: we have<br />
created our first custom template for a wiki page library&nbsp;in SharePoint<br />
Foundation!</P><br />
<P></p>
<p><a href="http://1.bp.blogspot.com/-gd3fZbACyZ4/Tq9_hmC99rI/AAAAAAAAB7A/s3vjQfaMQ1U/s1600/Creating%2Ba%2BWiki%2BPage%2Btemplate%2BFor%2BSharePoint%2B2010%2BFoundation%2B%2B-%2B080%2B-%2Bnew%2Bwkpcustom.aspx%2Bpage.jpg"><img style="cursor:pointer; cursor:hand;width: 320px; height: 208px;" src="http://1.bp.blogspot.com/-gd3fZbACyZ4/Tq9_hmC99rI/AAAAAAAAB7A/s3vjQfaMQ1U/s320/Creating%2Ba%2BWiki%2BPage%2Btemplate%2BFor%2BSharePoint%2B2010%2BFoundation%2B%2B-%2B080%2B-%2Bnew%2Bwkpcustom.aspx%2Bpage.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5669890671008151218" /></a></p>
<p></P><br />
<P>&nbsp;</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">Now<br />
we have done the demonstration we just have to find the way to do it<br />
programmatically: </P><br />
<P<br />
style="PADDING-BOTTOM: 10px; MARGIN: 1px 0px; PADDING-LEFT: 13px; PADDING-RIGHT: 0px; COLOR: #e9ab17; FONT-WEIGHT: bold; PADDING-TOP: 10px">Coding<br />
the sequence</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">this<br />
applicative page called from your site will provision&nbsp;9 pages in your site<br />
page library pointing on the same unique template wkpcustom.aspx located in the<br />
feature folder. If you modify the file in the folder, you will modify the&nbsp;9<br />
pages</P><br />
<P>&nbsp;</P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; BACKGROUND: yellow; FONT-SIZE: 10pt; mso-no-proof: yes; mso-highlight: yellow">&lt;%</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes">@</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"> <SPAN<br />
style="COLOR: #a31515">Page</SPAN> <SPAN style="COLOR: red">Language</SPAN><SPAN<br />
style="COLOR: blue">=&#8221;C#&#8221;</SPAN> <SPAN<br />
style="COLOR: red">AutoEventWireup</SPAN><SPAN<br />
style="COLOR: blue">=&#8221;true&#8221;</SPAN> <SPAN style="COLOR: red">Inherits</SPAN><SPAN<br />
style="COLOR: blue">=&#8221;Microsoft.SharePoint.WebControls.LayoutsPageBase&#8221;<o:p></o:p></SPAN></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"><SPAN<br />
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN><SPAN<br />
style="COLOR: red">DynamicMasterPageFile</SPAN><SPAN<br />
style="COLOR: blue">=&#8221;~masterurl/default.master&#8221;</SPAN> <SPAN<br />
style="BACKGROUND: yellow; mso-highlight: yellow">%&gt;<o:p></o:p></SPAN></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; BACKGROUND: yellow; FONT-SIZE: 10pt; mso-no-proof: yes; mso-highlight: yellow"><o:p>&nbsp;</o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; BACKGROUND: yellow; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes; mso-highlight: yellow"<br />
lang=EN-US>&lt;%</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>@</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US> <SPAN style="COLOR: #a31515">Assembly</SPAN> <SPAN<br />
style="COLOR: red">Name</SPAN><SPAN style="COLOR: blue">=&#8221;System.Core,<br />
Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089&#8243;</SPAN> <SPAN<br />
style="BACKGROUND: yellow; mso-highlight: yellow">%&gt;<o:p></o:p></SPAN></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; BACKGROUND: yellow; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes; mso-highlight: yellow"<br />
lang=EN-US>&lt;%</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>@</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US> <SPAN style="COLOR: #a31515">Import</SPAN> <SPAN<br />
style="COLOR: red">Namespace</SPAN><SPAN<br />
style="COLOR: blue">=&#8221;Microsoft.SharePoint&#8221;</SPAN> <SPAN<br />
style="BACKGROUND: yellow; mso-highlight: yellow">%&gt;<o:p></o:p></SPAN></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; BACKGROUND: yellow; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes; mso-highlight: yellow"<br />
lang=EN-US>&lt;%</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>@</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US> <SPAN style="COLOR: #a31515">Import</SPAN> <SPAN<br />
style="COLOR: red">Namespace</SPAN><SPAN<br />
style="COLOR: blue">=&#8221;Microsoft.SharePoint.Administration&#8221;</SPAN> <SPAN<br />
style="BACKGROUND: yellow; mso-highlight: yellow">%&gt;<o:p></o:p></SPAN></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; BACKGROUND: yellow; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes; mso-highlight: yellow"<br />
lang=EN-US>&lt;%</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>@</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US> <SPAN style="COLOR: #a31515">Import</SPAN> <SPAN<br />
style="COLOR: red">Namespace</SPAN><SPAN<br />
style="COLOR: blue">=&#8221;System.Text&#8221;</SPAN> <SPAN<br />
style="BACKGROUND: yellow; mso-highlight: yellow">%&gt;<o:p></o:p></SPAN></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; BACKGROUND: yellow; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes; mso-highlight: yellow"<br />
lang=EN-US>&lt;%</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>@</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US> <SPAN style="COLOR: #a31515">Import</SPAN> <SPAN<br />
style="COLOR: red">Namespace</SPAN><SPAN<br />
style="COLOR: blue">=&#8221;System.Linq&#8221;</SPAN> <SPAN<br />
style="BACKGROUND: yellow; mso-highlight: yellow">%&gt;<o:p></o:p></SPAN></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; BACKGROUND: yellow; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes; mso-highlight: yellow"<br />
lang=EN-US>&lt;%</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>@</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US> <SPAN style="COLOR: #a31515">Assembly</SPAN> <SPAN<br />
style="COLOR: red">Name</SPAN><SPAN style="COLOR: blue">=&#8221;Microsoft.SharePoint,<br />
Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&#8221;</SPAN> <SPAN<br />
style="BACKGROUND: yellow; mso-highlight: yellow">%&gt;</SPAN></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><SPAN<br />
style="BACKGROUND: yellow; mso-highlight: yellow"><o:p></o:p></SPAN></SPAN>&nbsp;</P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>&lt;</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>asp</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>:</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>content</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US> <SPAN style="COLOR: red">id</SPAN><SPAN<br />
style="COLOR: blue">=&#8221;PageHead&#8221;</SPAN> <SPAN<br />
style="COLOR: red">contentplaceholderid</SPAN><SPAN<br />
style="COLOR: blue">=&#8221;PlaceHolderAdditionalPageHead&#8221;</SPAN> <SPAN<br />
style="COLOR: red">runat</SPAN><SPAN<br />
style="COLOR: blue">=&#8221;server&#8221;&gt;<o:p></o:p></SPAN></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>&lt;/</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>asp</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>:</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>content</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>&gt;<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>&lt;</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>asp</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>:</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>content</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US> <SPAN style="COLOR: red">id</SPAN><SPAN<br />
style="COLOR: blue">=&#8221;Main&#8221;</SPAN> <SPAN<br />
style="COLOR: red">contentplaceholderid</SPAN><SPAN<br />
style="COLOR: blue">=&#8221;PlaceHolderMain&#8221;</SPAN> <SPAN<br />
style="COLOR: red">runat</SPAN><SPAN<br />
style="COLOR: blue">=&#8221;server&#8221;&gt;<o:p></o:p></SPAN></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><o:p>&nbsp;</o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>&lt;</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>script</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US> <SPAN style="COLOR: red">language</SPAN><SPAN<br />
style="COLOR: blue">=&#8221;C#&#8221;</SPAN> <SPAN style="COLOR: red">runat</SPAN><SPAN<br />
style="COLOR: blue">=&#8221;server&#8221;&gt;<o:p></o:p></SPAN></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><o:p>&nbsp;</o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN><SPAN<br />
style="COLOR: blue">protected</SPAN> <SPAN style="COLOR: blue">override</SPAN><br />
<SPAN style="COLOR: blue">void</SPAN> OnLoad(<SPAN<br />
style="COLOR: #2b91af">EventArgs</SPAN> e)<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;<br />
</SPAN>{<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><SPAN<br />
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</SPAN><SPAN style="COLOR: blue">base</SPAN>.OnLoad(e);<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><o:p>&nbsp;</o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><SPAN<br />
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</SPAN>SPWeb myWeb = SPContext.Current.Web;<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><SPAN<br />
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</SPAN>myWeb.AllowUnsafeUpdates = <SPAN<br />
style="COLOR: blue">true</SPAN>;<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><o:p>&nbsp;</o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><SPAN<br />
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</SPAN><SPAN style="COLOR: blue">for</SPAN> (<SPAN<br />
style="COLOR: blue">int</SPAN> i = 1; i &lt; 10; i++)<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><SPAN<br />
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</SPAN>{<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><o:p>&nbsp;</o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><SPAN<br />
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</SPAN><SPAN style="COLOR: blue">if</SPAN> (myWeb.Features[<SPAN<br />
style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">Guid</SPAN>(<SPAN<br />
style="COLOR: #a31515">"{00BFEA71-2062-426C-90BF-714C59600AAA}"</SPAN>)] !=<br />
<SPAN style="COLOR: blue">null</SPAN>)<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><SPAN<br />
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</SPAN>{<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><SPAN<br />
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</SPAN><SPAN style="mso-spacerun: yes">&nbsp;</SPAN>myWeb.Features.Remove(<SPAN<br />
style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">Guid</SPAN>(<SPAN<br />
style="COLOR: #a31515">&#8220;{00BFEA71-2062-426C-90BF-714C59600AAA}&#8221;</SPAN>));<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><SPAN<br />
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</SPAN>}<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><o:p>&nbsp;</o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><SPAN<br />
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</SPAN>myWeb.Features.Add(<SPAN style="COLOR: blue">new</SPAN> <SPAN<br />
style="COLOR: #2b91af">Guid</SPAN>(<SPAN<br />
style="COLOR: #a31515">&#8220;{00BFEA71-2062-426C-90BF-714C59600AAA}&#8221;</SPAN>));<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><o:p>&nbsp;</o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><SPAN<br />
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</SPAN>SPList myList = myWeb.Lists[<SPAN style="COLOR: #a31515">"Site<br />
Pages"</SPAN>];<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><o:p>&nbsp;</o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><SPAN<br />
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</SPAN>SPListItem myItem = <SPAN<br />
style="COLOR: blue">null</SPAN>;<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><o:p>&nbsp;</o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><SPAN<br />
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</SPAN>SPContext.Current.Web.AllowUnsafeUpdates = <SPAN<br />
style="COLOR: blue">true</SPAN>;<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><o:p>&nbsp;</o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><SPAN<br />
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</SPAN><SPAN style="COLOR: blue">foreach</SPAN> (SPListItem anItem <SPAN<br />
style="COLOR: blue">in</SPAN> myList.Items)<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><SPAN<br />
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</SPAN>{<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><SPAN<br />
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</SPAN><SPAN style="COLOR: blue">if</SPAN> (anItem.Name == <SPAN<br />
style="COLOR: #a31515">&#8220;wkpcustom.aspx&#8221;</SPAN>)<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><SPAN<br />
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</SPAN>{<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><SPAN<br />
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</SPAN>myItem = anItem;<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><SPAN<br />
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</SPAN>}<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><SPAN<br />
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</SPAN>}<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><o:p>&nbsp;</o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><SPAN<br />
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</SPAN><SPAN style="COLOR: blue">string</SPAN> destinationUrl = myWeb.Url +<br />
<SPAN style="COLOR: #a31515">&#8220;/&#8221;</SPAN> + myList.RootFolder.Url + <SPAN<br />
style="COLOR: #a31515">&#8220;/&#8221;</SPAN> + <SPAN<br />
style="COLOR: #a31515">&#8220;Wiki_page0&#8243;</SPAN> + i + <SPAN<br />
style="COLOR: #a31515">&#8220;.aspx&#8221;</SPAN>;<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><SPAN<br />
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</SPAN>myItem.File.MoveTo(destinationUrl);<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><SPAN<br />
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</SPAN>myItem.File.Update();<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><o:p>&nbsp;</o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><SPAN<br />
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</SPAN>myWeb.Features.Remove(<SPAN style="COLOR: blue">new</SPAN> <SPAN<br />
style="COLOR: #2b91af">Guid</SPAN>(<SPAN<br />
style="COLOR: #a31515">&#8220;{00BFEA71-2062-426C-90BF-714C59600AAA}&#8221;</SPAN>));<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><SPAN<br />
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</SPAN>}<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><o:p>&nbsp;</o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><SPAN<br />
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</SPAN>lbl1.Text = <SPAN style="COLOR: #a31515">&#8220;Your files has been<br />
provisionned successfully&#8230;&#8221;</SPAN>;<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;<br />
</SPAN>}<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><o:p>&nbsp;</o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>&lt;/</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>script</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>&gt;<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><o:p>&nbsp;</o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>&lt;</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>asp</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>:</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>Label</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US> <SPAN style="COLOR: red">runat</SPAN><SPAN<br />
style="COLOR: blue">=&#8221;server&#8221;</SPAN> <SPAN style="COLOR: red">ID</SPAN><SPAN<br />
style="COLOR: blue">=&#8221;lbl1&#8243;</SPAN> <SPAN<br />
style="COLOR: blue">&gt;&lt;/</SPAN><SPAN style="COLOR: #a31515">asp</SPAN><SPAN<br />
style="COLOR: blue">:</SPAN><SPAN style="COLOR: #a31515">Label</SPAN><SPAN<br />
style="COLOR: blue">&gt;<o:p></o:p></SPAN></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><o:p>&nbsp;</o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><o:p>&nbsp;</o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>&lt;/</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>asp</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>:</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>content</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>&gt;<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>&lt;</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>asp</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>:</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>content</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US> <SPAN style="COLOR: red">id</SPAN><SPAN<br />
style="COLOR: blue">=&#8221;PageTitle&#8221;</SPAN> <SPAN<br />
style="COLOR: red">contentplaceholderid</SPAN><SPAN<br />
style="COLOR: blue">=&#8221;PlaceHolderPageTitle&#8221;</SPAN> <SPAN<br />
style="COLOR: red">runat</SPAN><SPAN<br />
style="COLOR: blue">=&#8221;server&#8221;&gt;<o:p></o:p></SPAN></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><o:p>&nbsp;</o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>Provisioning Team Site Wiki Pages<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><o:p>&nbsp;</o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>&lt;/</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>asp</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>:</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>content</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>&gt;<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>&lt;</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>asp</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>:</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>content</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US> <SPAN style="COLOR: red">id</SPAN><SPAN<br />
style="COLOR: blue">=&#8221;PageTitleInTitleArea&#8221;</SPAN> <SPAN<br />
style="COLOR: red">contentplaceholderid</SPAN><SPAN<br />
style="COLOR: blue">=&#8221;PlaceHolderPageTitleInTitleArea&#8221;<o:p></o:p></SPAN></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN><SPAN<br />
style="COLOR: red">runat</SPAN><SPAN<br />
style="COLOR: blue">=&#8221;server&#8221;&gt;<o:p></o:p></SPAN></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><o:p>&nbsp;</o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US>Provisioning Team Site Wiki Pages<o:p></o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-ansi-language: EN-US; mso-no-proof: yes"<br />
lang=EN-US><o:p>&nbsp;</o:p></SPAN></P><br />
<P style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"<br />
class=MsoNormal><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes">&lt;/</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes">asp</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes">:</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes">content</SPAN><SPAN<br />
style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes">&gt;<o:p></o:p></SPAN></P><br />
<P style="MARGIN: 0cm 0cm 10pt" class=MsoNormal><o:p><FONT<br />
face=Calibri>&nbsp;</FONT></o:p></P><br />
<P><br />
<P>&nbsp;</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">Here<br />
are the screen shots of the applicative page after its provisioning job is<br />
finished</P><br />
<P></p>
<p><a href="http://4.bp.blogspot.com/-G_ImNkGMKbc/Tq9_hczpf7I/AAAAAAAAB6w/wbsmsESxpL0/s1600/Creating%2Ba%2BWiki%2BPage%2Btemplate%2BFor%2BSharePoint%2B2010%2BFoundation%2B%2B-%2B090%2B-%2Bruning%2B_createwikipage.aspx%2Bapplicative%2Bpage.jpg"><img style="cursor:pointer; cursor:hand;width: 320px; height: 218px;" src="http://4.bp.blogspot.com/-G_ImNkGMKbc/Tq9_hczpf7I/AAAAAAAAB6w/wbsmsESxpL0/s320/Creating%2Ba%2BWiki%2BPage%2Btemplate%2BFor%2BSharePoint%2B2010%2BFoundation%2B%2B-%2B090%2B-%2Bruning%2B_createwikipage.aspx%2Bapplicative%2Bpage.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5669890668527976370" /></a></p>
<p></P><br />
<P>&nbsp;</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">and<br />
the site pages library with the 9 new pages</P><br />
<P></p>
<p><a href="http://2.bp.blogspot.com/-lK0ZjQjG59M/Tq9_hOM8ouI/AAAAAAAAB6o/Pie6o4Vlfas/s1600/Creating%2Ba%2BWiki%2BPage%2Btemplate%2BFor%2BSharePoint%2B2010%2BFoundation%2B%2B-%2B100%2B-%2B10%2Bwiki%2Bpages%2Bcreated.jpg"><img style="cursor:pointer; cursor:hand;width: 320px; height: 173px;" src="http://2.bp.blogspot.com/-lK0ZjQjG59M/Tq9_hOM8ouI/AAAAAAAAB6o/Pie6o4Vlfas/s320/Creating%2Ba%2BWiki%2BPage%2Btemplate%2BFor%2BSharePoint%2B2010%2BFoundation%2B%2B-%2B100%2B-%2B10%2Bwiki%2Bpages%2Bcreated.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5669890664607556322" /></a></p>
<p></P><br />
<P>&nbsp;</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">And<br />
if I call the 9 pages, each of them will tell me its name.</P><br />
<P></p>
<p><a href="http://1.bp.blogspot.com/-pXgMSFj6c9U/Tq-BOqdtgBI/AAAAAAAAB7w/DefxBpfJHz0/s1600/Creating%2Ba%2BWiki%2BPage%2Btemplate%2BFor%2BSharePoint%2B2010%2BFoundation%2B%2B-%2B110%2B-%2B10%2Bwiki%2Bpages%2Bcalled.jpg"><img style="cursor:pointer; cursor:hand;width: 320px; height: 165px;" src="http://1.bp.blogspot.com/-pXgMSFj6c9U/Tq-BOqdtgBI/AAAAAAAAB7w/DefxBpfJHz0/s320/Creating%2Ba%2BWiki%2BPage%2Btemplate%2BFor%2BSharePoint%2B2010%2BFoundation%2B%2B-%2B110%2B-%2B10%2Bwiki%2Bpages%2Bcalled.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5669892544799801362" /></a></p>
<p></P><br />
<P>&nbsp;</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">And<br />
now, I have chaged the instruction of the name displaying in the template, and I<br />
have called back the 9 pages and here is the result. </P><br />
<P></p>
<p><a href="http://4.bp.blogspot.com/-7r0mo-h-3Gw/Tq-BO5D3WFI/AAAAAAAAB8A/Pbs3R1Ol4jQ/s1600/Creating%2Ba%2BWiki%2BPage%2Btemplate%2BFor%2BSharePoint%2B2010%2BFoundation%2B%2B-%2B120%2B-%2B9%2Bwiki%2Bpages%2Bcalled%2Bafter%2Btemplate%2Bchanges.jpg"><img style="cursor:pointer; cursor:hand;width: 320px; height: 172px;" src="http://4.bp.blogspot.com/-7r0mo-h-3Gw/Tq-BO5D3WFI/AAAAAAAAB8A/Pbs3R1Ol4jQ/s320/Creating%2Ba%2BWiki%2BPage%2Btemplate%2BFor%2BSharePoint%2B2010%2BFoundation%2B%2B-%2B120%2B-%2B9%2Bwiki%2Bpages%2Bcalled%2Bafter%2Btemplate%2Bchanges.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5669892548717926482" /></a></p>
<p></P><br />
<P>&nbsp;</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">Have<br />
a lot of fun with that !</P><br />
<P>&nbsp;</P>
<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4357140756496246910-4806557336266306574?l=mosshowto.blogspot.com' alt='' /></div>
<p><small>Check it out:<a rel="nofollow" href="http://mosshowto.blogspot.com/2011/11/custom-template-wiki-foundation.html">MOSS How to &#8230;</a></small> </p>
<div>    <h3>Related Posts:</h3><br><a href="http://computersplace.net/servers/linq-script-block-application-page-sharepoint-minimal-configuration-linq.html" rel="bookmark" class="crp_title">Use Linq inside a Script Block of an Application Page &#8211; SharePoint minimal configuration for Linq</a><span class="crp_excerpt"> 

When 
developing for SharePoint you maybe use Linq. Assume you are developing a new 
piece of code and to improve ...</span><br><a href="http://computersplace.net/servers/xpath-manage-data-returned-sharepoint-web-service.html" rel="bookmark" class="crp_title">Using XPath to manage data returned by a SharePoint Web Service</a><span class="crp_excerpt"> Topic:
Using 
XPath to navigate through elements and attributes in an XML document 
returned&nbsp; by a SharePoint Web Service.&nbsp;This article proposes ...</span><br><a href="http://computersplace.net/servers/populate-asp-net-treeview-sql-join-table.html" rel="bookmark" class="crp_title">Populate an ASP .Net Treeview from a SQL self-join table</a><span class="crp_excerpt"> I 
had last week an ASP .net TreeView control to fill from a self-join table. I 
looked on the Internet ...</span><br><a href="http://computersplace.net/servers/adding-breadcrumb-navigation-sharepoint-application-pages-programmatically.html" rel="bookmark" class="crp_title">Adding Breadcrumb Navigation for SharePoint Application Pages Programmatically</a><span class="crp_excerpt"> 

When 
creating a new Application Page (an .aspx page&nbsp;deployed to the c:\program 
files\common files\microsoft shared\web server extensions\template\layouts 
directory) you can ...</span><br><a href="http://computersplace.net/servers/adding-custom-control-sharepoint-2010-team-site-wiki-page-template-wkpstd-aspx-programmatically.html" rel="bookmark" class="crp_title">Adding a custom control to the SharePoint 2010 Team Site Wiki Page Template ( wkpstd.aspx ) programmatically</a><span class="crp_excerpt"> Topic
This 
is maybe my last post&nbsp;about the Team Site Wiki Page&nbsp;customization with 
the aim of exceeding its limitations. This time ...</span></div>]]></content:encoded>
			<wfw:commentRss>http://computersplace.net/microsoft-releated/creating-a-wiki-page-template-for-sharepoint-2010-foundation.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configuring SharePoint 2010 Foundation for Internet-facing publishing</title>
		<link>http://computersplace.net/microsoft-releated/configuring-sharepoint-2010-foundation-for-internet-facing-publishing.html</link>
		<comments>http://computersplace.net/microsoft-releated/configuring-sharepoint-2010-foundation-for-internet-facing-publishing.html#comments</comments>
		<pubDate>Mon, 24 Oct 2011 01:46:23 +0000</pubDate>
		<dc:creator>Rhyled</dc:creator>
				<category><![CDATA[Microsoft Related]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[Configuring]]></category>
		<category><![CDATA[Foundation]]></category>
		<category><![CDATA[Internetfacing]]></category>
		<category><![CDATA[publishing]]></category>
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://computersplace.net/microsoft-releated/configuring-sharepoint-2010-foundation-for-internet-facing-publishing.html</guid>
		<description><![CDATA[Introduction I am starting a set of posts regarding the ability of ShaePoint 2010 foundation to be used to build Internet-facing web sites. In this one we are just going to perform configuration and creation operations so as we can obtain a SharePoint Foundation site collection that can be used to publish content on the [...]]]></description>
			<content:encoded><![CDATA[<p><P<br />
style="PADDING-BOTTOM: 10px; MARGIN: 1px 0px; PADDING-LEFT: 13px; PADDING-RIGHT: 0px; COLOR: #e9ab17; FONT-WEIGHT: bold; PADDING-TOP: 10px">Introduction</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">I<br />
am starting a set of posts regarding the ability of ShaePoint 2010 foundation to<br />
be used to build Internet-facing web sites. In this one we are just going to<br />
perform configuration and creation operations so as we can obtain a SharePoint<br />
Foundation site collection that can be used to publish content on the Internet<br />
and therefore, available for anonymous users. </P><br />
<P<br />
style="PADDING-BOTTOM: 10px; MARGIN: 1px 0px; PADDING-LEFT: 13px; PADDING-RIGHT: 0px; COLOR: #e9ab17; FONT-WEIGHT: bold; PADDING-TOP: 10px">Business<br />
benefits &#8211; The &#8220;why&#8221; part of the post<br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">In<br />
SharePoint 2007 the Internet-facing publishing was rather based on the use of<br />
the publishing part of SharePoint, its CMS.<BR><BR>However, the team sites that<br />
were a part of the collaboration area of SharePoint 2007 are now with the new<br />
wiki pages of SharePoint 2010 a way to help people to publish formal content.<br />
The team sites are now described in the SharePoint 2010 documentation as a<br />
solution to encourage one-to-many communication and also a solution to offer a<br />
structured exchange of information.<BR><BR>Therefore the team sites of<br />
SharePoint Foundation are now mature enough to be used as a base to build<br />
Internet-facing web sites and are a new and more cost effective opportunity<br />
offered by SharePoint 2010 to publish content on the Internet.&nbsp;The free<br />
SharePoint Foundation team sites can be now seen as a severe competitor to the<br />
licensed SharePoint CMS!</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">For<br />
further information, see the Microsoft documentation:</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px"><A<br />
href="http://msdn.microsoft.com/en-us/library/ee721051.aspx#section1">Comparison<br />
of Enterprise Wikis with Team Sites</A><BR><BR><A<br />
href="http://technet.microsoft.com/en-us/library/cc288638.aspx#Section2c">Plan<br />
Internet presence sites</A> (SharePoint 2010 Foundation)</P><br />
<P<br />
style="PADDING-BOTTOM: 10px; MARGIN: 1px 0px; PADDING-LEFT: 13px; PADDING-RIGHT: 0px; COLOR: #e9ab17; FONT-WEIGHT: bold; PADDING-TOP: 10px">Audience</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">I<br />
will avoid using development operations in this first post in order it can be<br />
useful to system administrators. Of course it is also targetted for developers<br />
so as they can configure their development machine, but they won&#8217;t have to<br />
launch Visual Studio here. </P><br />
<P<br />
style="PADDING-BOTTOM: 10px; MARGIN: 1px 0px; PADDING-LEFT: 13px; PADDING-RIGHT: 0px; COLOR: #e9ab17; FONT-WEIGHT: bold; PADDING-TOP: 10px">1<br />
- Extending an existing SharePoint Foundation Web Application<br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">Assume<br />
you have created a SharePoint Foundation web application using NTLM<br />
authentication (that is the default mode).<BR>Go to the SharePoint 2010 Central<br />
Administration of your SharePoint Farm, click the &#8220;Manage web applications&#8221; link<br />
then on the&nbsp;displayed list of the available<br />
web&nbsp;application&nbsp;select the one you want to open to anonymous users.<br />
</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">The<br />
buttons of the SharePoint 2010 ribbon&nbsp;are now &nbsp;usable, so click on<br />
Extend. <BR>The Extend pop-up appears. </P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">Type<br />
the name of the new web application<BR>Type 80 for&nbsp;port<BR>Define a host<br />
header<BR>Select Allow Anonymous because we are planning anonymous access<BR>For<br />
the zone, choose Internet, because we plan to extend the existing web<br />
application for&nbsp;an Internet access.</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">So<br />
as you will obtain the following screen shots</P><br />
<P><A<br />
href="http://3.bp.blogspot.com/-Xa3md2Gcz0k/TqRNNtUCcFI/AAAAAAAAB4U/DVv_CEgZm2c/s1600/configuring%2Bsharepoint%2Bfoundation%2Bfor%2BInternet%2Bfacing%2B-%2B010%2B-%2BExtending%2Bthe%2Bweb%2Bapplication%2B1.jpg"><IMG<br />
style="WIDTH: 320px; HEIGHT: 154px; CURSOR: hand"<br />
id=BLOGGER_PHOTO_ID_5666739129036206162 border=0 alt=""<br />
src="http://3.bp.blogspot.com/-Xa3md2Gcz0k/TqRNNtUCcFI/AAAAAAAAB4U/DVv_CEgZm2c/s320/configuring%2Bsharepoint%2Bfoundation%2Bfor%2BInternet%2Bfacing%2B-%2B010%2B-%2BExtending%2Bthe%2Bweb%2Bapplication%2B1.jpg"></A><br />
</P><br />
<P>&nbsp;</P><br />
<P><A<br />
href="http://1.bp.blogspot.com/-l9uNsSzzo-0/TqRNNdTtOtI/AAAAAAAAB4M/I5D_ek_9QJI/s1600/configuring%2Bsharepoint%2Bfoundation%2Bfor%2BInternet%2Bfacing%2B-%2B020%2B-%2BExtending%2Bthe%2Bweb%2Bapplication%2B2.jpg"><IMG<br />
style="WIDTH: 320px; HEIGHT: 154px; CURSOR: hand"<br />
id=BLOGGER_PHOTO_ID_5666739124739848914 border=0 alt=""<br />
src="http://1.bp.blogspot.com/-l9uNsSzzo-0/TqRNNdTtOtI/AAAAAAAAB4M/I5D_ek_9QJI/s320/configuring%2Bsharepoint%2Bfoundation%2Bfor%2BInternet%2Bfacing%2B-%2B020%2B-%2BExtending%2Bthe%2Bweb%2Bapplication%2B2.jpg"></A><br />
</P><br />
<P>&nbsp;</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">Then,<br />
&nbsp;click the &#8220;OK&#8221; button to create the web application.<BR>Nothing has<br />
changed in the web application list, but if you navigate to the Alternate Access<br />
Mappings&nbsp;page of the central administration (in the System Settings<br />
section), then click on the &#8220;Edit Public Zone URLs&#8221;&nbsp;link and select the<br />
extended web application you will notice taht the zone was properly created.<br />
</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">&nbsp;</P><br />
<P><A<br />
href="http://1.bp.blogspot.com/-6jkiiGVDXgc/TqRNM4IX8GI/AAAAAAAAB4A/hNeVSSHgqiY/s1600/configuring%2Bsharepoint%2Bfoundation%2Bfor%2BInternet%2Bfacing%2B-%2B030%2B-%2Balternate%2Baccess%2Bmapping%2B_%2Bedit%2Bzone%2Bursl%2B_%2BInternet%2Bzone%2Bcreated.jpg"><IMG<br />
style="WIDTH: 320px; HEIGHT: 212px; CURSOR: hand"<br />
id=BLOGGER_PHOTO_ID_5666739114760204386 border=0 alt=""<br />
src="http://1.bp.blogspot.com/-6jkiiGVDXgc/TqRNM4IX8GI/AAAAAAAAB4A/hNeVSSHgqiY/s320/configuring%2Bsharepoint%2Bfoundation%2Bfor%2BInternet%2Bfacing%2B-%2B030%2B-%2Balternate%2Baccess%2Bmapping%2B_%2Bedit%2Bzone%2Bursl%2B_%2BInternet%2Bzone%2Bcreated.jpg"></A><br />
</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">&nbsp;</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">You<br />
can also check in IIS7 that the IIS web site for the Internet zone is now<br />
available</P><br />
<P><A<br />
href="http://4.bp.blogspot.com/-pH4VSLdu_hA/TqRNMg3Tj2I/AAAAAAAAB3w/s8jBZ0eAAcc/s1600/configuring%2Bsharepoint%2Bfoundation%2Bfor%2BInternet%2Bfacing%2B-%2B040%2B-%2BIIS7%2B_%2B%2BInternet%2Bzone%2BIIS%2Bweb%2Bsite%2Bcreated.jpg"><IMG<br />
style="WIDTH: 320px; HEIGHT: 151px; CURSOR: hand"<br />
id=BLOGGER_PHOTO_ID_5666739108514598754 border=0 alt=""<br />
src="http://4.bp.blogspot.com/-pH4VSLdu_hA/TqRNMg3Tj2I/AAAAAAAAB3w/s8jBZ0eAAcc/s320/configuring%2Bsharepoint%2Bfoundation%2Bfor%2BInternet%2Bfacing%2B-%2B040%2B-%2BIIS7%2B_%2B%2BInternet%2Bzone%2BIIS%2Bweb%2Bsite%2Bcreated.jpg"></A><br />
</P><br />
<P<br />
style="PADDING-BOTTOM: 10px; MARGIN: 1px 0px; PADDING-LEFT: 13px; PADDING-RIGHT: 0px; COLOR: #e9ab17; FONT-WEIGHT: bold; PADDING-TOP: 10px">2&nbsp;-<br />
Testing the anonymous acces</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">As<br />
we have defined previously a custom host header for our Internet site we have to<br />
modify the host file of our development machine in order to be able to acces the<br />
site as an anonymous user.<BR>So open the hosts file of your machine located at<br />
:</P><br />
<P>C:\Windows\System32\drivers\etc</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">and<br />
add the following entry:</P><br />
<P>&nbsp;127.0.0.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; www.mycompany.com</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">&nbsp;Now<br />
open a browser and browse to this url. You access your SharePoint team site as<br />
an anonymous user and simulate an Internet acces. </P><br />
<P><A<br />
href="http://2.bp.blogspot.com/-W-pUTWeO_H0/TqRhM9Q8lTI/AAAAAAAAB4k/Ibftv8qzaUw/s1600/configuring%2Bsharepoint%2Bfoundation%2Bfor%2BInternet%2Bfacing%2B-%2B050%2B-%2B%2Baccessing%2Bsharepoint%2Bfoundation%2Bteam%2Bsite%2Bthrough%2Bthe%2BInternet.jpg"><IMG<br />
style="WIDTH: 320px; HEIGHT: 152px; CURSOR: hand"<br />
id=BLOGGER_PHOTO_ID_5666761106370893106 border=0 alt=""<br />
src="http://2.bp.blogspot.com/-W-pUTWeO_H0/TqRhM9Q8lTI/AAAAAAAAB4k/Ibftv8qzaUw/s320/configuring%2Bsharepoint%2Bfoundation%2Bfor%2BInternet%2Bfacing%2B-%2B050%2B-%2B%2Baccessing%2Bsharepoint%2Bfoundation%2Bteam%2Bsite%2Bthrough%2Bthe%2BInternet.jpg"></A><br />
</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px"><BR>You<br />
will notice that the SharePoint Forms pages are also accessible, so accessible<br />
to anonymous users. For example, anonymous users might be able to get to<br />
http://www.mycompany.com/SitePages/Forms/AllPages.aspx. Typically you don&#8217;t want<br />
this, so how do you prevent anonymous users from accessing these<br />
pages?&nbsp;&nbsp;&nbsp;<BR>Therefore, we are gonig to activate the lockdown<br />
feature&nbsp;especially provided by Microsoft for avoiding this<br />
problem.&nbsp;&nbsp;</P><br />
<P<br />
style="PADDING-BOTTOM: 10px; MARGIN: 1px 0px; PADDING-LEFT: 13px; PADDING-RIGHT: 0px; COLOR: #e9ab17; FONT-WEIGHT: bold; PADDING-TOP: 10px">3&nbsp;-<br />
Activating the locdown Feature</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">The<br />
Lockdown feature actually named ViewFormPagesLockDown is located in the<br />
SharePoint Features folder as the other out of the box ones. So to activate it<br />
for our site collection we just have to execute the following command</P><br />
<P>stsadm -o activatefeature -name ViewFormPagesLockDown -url </p>
<p>http://localhost/</P></p>
<p><P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">After<br />
having done that, because our site collection was already configured to allow<br />
anonymous acces, we need to go disable it, then enable it again. Go to the<br />
_layouts/setanon.aspx page, switch anonymous access nothing, click OK, then go<br />
back and set it to Entire site, click OK. </P><br />
<P>&nbsp;</P><br />
<P></p>
<p><a href="http://2.bp.blogspot.com/-Tj1ZQ526H4g/TqSdmtItxRI/AAAAAAAAB5I/WaGrfv7S6yA/s1600/configuring%2Bsharepoint%2Bfoundation%2Bfor%2BInternet%2Bfacing%2B-%2B060%2B-%2B%2Bdisabling%2Breenabling%2Banonymous%2Baccess.jpg"><img style="cursor:pointer; cursor:hand;width: 320px; height: 157px;" src="http://2.bp.blogspot.com/-Tj1ZQ526H4g/TqSdmtItxRI/AAAAAAAAB5I/WaGrfv7S6yA/s320/configuring%2Bsharepoint%2Bfoundation%2Bfor%2BInternet%2Bfacing%2B-%2B060%2B-%2B%2Bdisabling%2Breenabling%2Banonymous%2Baccess.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5666827519415665938" /></a></p>
<p></P><br />
<P>&nbsp;</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px"><br />
Anonymous users should now get an authentication prompt when they try to<br />
navigate to a forms page. For example, try http://www.mycompany.com/SitePages/Forms/AllPages.aspx.<br />
</P><br />
<P>&nbsp;</P><br />
<P></p>
<p><a href="http://2.bp.blogspot.com/-ZnAttb14C8U/TqSdmW2ykWI/AAAAAAAAB44/ABUnckVuHv0/s1600/configuring%2Bsharepoint%2Bfoundation%2Bfor%2BInternet%2Bfacing%2B-%2B070%2B-%2B%2BLocdown%2Bfeature%2Benabled.jpg"><img style="cursor:pointer; cursor:hand;width: 320px; height: 153px;" src="http://2.bp.blogspot.com/-ZnAttb14C8U/TqSdmW2ykWI/AAAAAAAAB44/ABUnckVuHv0/s320/configuring%2Bsharepoint%2Bfoundation%2Bfor%2BInternet%2Bfacing%2B-%2B070%2B-%2B%2BLocdown%2Bfeature%2Benabled.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5666827513434902882" /></a></p>
<p></P><br />
<P>&nbsp;</P><br />
<P<br />
style="PADDING-BOTTOM: 10px; MARGIN: 1px 0px; PADDING-LEFT: 13px; PADDING-RIGHT: 0px; COLOR: #e9ab17; FONT-WEIGHT: bold; PADDING-TOP: 10px">4&nbsp;-<br />
Setting custom error page for error 401 (forbidden)</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">Now<br />
we are going to do an amazing thing. We are going to change the web.config file<br />
of the&nbsp;web application corresponding to the Internet access&nbsp;so as<br />
anonymous user won&#8217;t be prompted anymore for authentication if they try to acces<br />
to an unauthorized url but be redirected on a custom 401 error page within the<br />
site. </P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">So<br />
first go to your site with at least contributor permissions by using NTLM access<br />
and create a custom 401 error page in the site pages library of your site.<br />
Assume we call it unauthorized so as&nbsp;its url will be <A<br />
href="http://www.mycompany.com/sitepages/unauthorized.aspx">http://www.mycompany.com/sitepages/unauthorized.aspx</A>.<br />
Type a meessage of access denied and save the page. </P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">Then,&nbsp;open<br />
the web.config file of the Internet zone web application and locate the handlers<br />
end tag within the system.webSever and paste the following httpErrors<br />
sequence.</P><br />
<P>&nbsp;&nbsp;<FONT color=#c0c0c0>&nbsp;&nbsp;<br />
&lt;/handlers&gt;<BR></FONT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&lt;httpErrors errorMode=&#8221;Custom&#8221;<br />
existingResponse=&#8221;Auto&#8221;&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&lt;remove statusCode=&#8221;401&#8243;<br />
/&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&lt;error statusCode=&#8221;401&#8243; prefixLanguageFilePath=&#8221;"<br />
path=&#8221;/sitepages/unauthorized.aspx&#8221; responseMode=&#8221;ExecuteURL&#8221;<br />
/&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/httpErrors&gt;<BR><FONT<br />
color=#c0c0c0>&nbsp; &lt;/system.webServer&gt;</FONT></P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">&nbsp;After<br />
restarting your application pool by reloading a page of your site with anonymous<br />
acces, you will notice an amazing thing: each time an anonymous user will try to<br />
access to a non authorized ressource, instead of being prompted for an NTLM<br />
authentification, he will be redirected to the custom 401 error page of your<br />
site&nbsp;and he will still have your site navigation links available and be<br />
able to keep browsing.</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">And<br />
the most amazing is you will have the same result while clicking the sign in<br />
link. <BR>So of course don&#8217;t do that if you plan to use an Internet access for<br />
contributing on your site or for administrating it&#8230;</p>
<p>And don&#8217;t forget that this will have an impact on the whole web application since we have modified the web.config, so it won&#8217;t be possible to obtain a different behaviour for another site collection within this web application.<br />
</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">&nbsp;The<br />
next screen shot show my 401 unauthorized custom error page after having clicked<br />
the Sign in link.</P><br />
<P></p>
<p><a href="http://4.bp.blogspot.com/-8uOphaMhkSA/TqSdmetY35I/AAAAAAAAB4w/UdqChk4ixNI/s1600/configuring%2Bsharepoint%2Bfoundation%2Bfor%2BInternet%2Bfacing%2B-%2B080%2B-%2B%2B401%2Bunauthorized%2Bcustom%2Berror%2Bpage%2Bafter%2Bhaving%2Bclicked%2Bthe%2Bsign%2Bin%2Blink%2B.jpg"><img style="cursor:pointer; cursor:hand;width: 320px; height: 205px;" src="http://4.bp.blogspot.com/-8uOphaMhkSA/TqSdmetY35I/AAAAAAAAB4w/UdqChk4ixNI/s320/configuring%2Bsharepoint%2Bfoundation%2Bfor%2BInternet%2Bfacing%2B-%2B080%2B-%2B%2B401%2Bunauthorized%2Bcustom%2Berror%2Bpage%2Bafter%2Bhaving%2Bclicked%2Bthe%2Bsign%2Bin%2Blink%2B.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5666827515542953874" /></a></p>
<p><P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px"><br />
It is all that we can do for now by just performing configuration operations.<br />
<br/><br />
Of course, don&#8217;t forget to modify the navigation within the SharePoint 2010 UI to hide all the links that could lead to an access denied for anonymous  users. In short, you should let only the links pointing on a subsite, a Site Page or a specific document.<br />
<br/><br/><br/><br />
 In the next post, we are going to use Visual Studio to start customizing our site&#8230;<br />
</P><br />
<P<br />
style="PADDING-BOTTOM: 10px; MARGIN: 1px 0px; PADDING-LEFT: 13px; PADDING-RIGHT: 0px; COLOR: #e9ab17; FONT-WEIGHT: bold; PADDING-TOP: 10px">5&nbsp;-<br />
Aknowledgements</P></p>
<p><P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px"><br />
Thanks to : </p>
<p><a href="http://www.ngpixel.com/2010/12/23/sharepoint-2010-custom-error-pages/">Nick</a> whose article helped me for custom errors, I have just noticed that he also lives and works in Montreal&#8230;</p>
<p><a href="http://blogs.msdn.com/b/ecm/archive/2007/05/12/anonymous-users-forms-pages-and-the-lockdown-feature.aspx">Tyler Butler<br />
</a> of the ECM team blog who was by his publications of a big help in the realization of my projects for the internet and who made me discover the existence of the lockdown feature&#8230;</p>
<p>
</p>
<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4357140756496246910-2672645266803407891?l=mosshowto.blogspot.com' alt='' /></div>
<p><small>Check it out:<a rel="nofollow" href="http://mosshowto.blogspot.com/2011/10/sharepoint-foundation-internet.html">MOSS How to &#8230;</a></small> </p>
<div>    <h3>Related Posts:</h3><br><a href="http://computersplace.net/microsoft-releated/creating-a-custom-document-library-for-sharepoint-2010.html" rel="bookmark" class="crp_title">Creating a custom document library for SharePoint 2010</a><span class="crp_excerpt"> Introduction
It 
seems that&nbsp;it is not that obvious to find clear documentation to create a 
custom document library for SharePoint 2010. ...</span><br><a href="http://computersplace.net/servers/testing-cross-browser-compatibility-sharepoint-2010.html" rel="bookmark" class="crp_title">Testing cross browser compatibility for SharePoint 2010</a><span class="crp_excerpt"> 
    You will obtain the best user experience by using Internet Explorer 7



    Introduction

 ...</span><br><a href="http://computersplace.net/servers/xpath-manage-data-returned-sharepoint-web-service.html" rel="bookmark" class="crp_title">Using XPath to manage data returned by a SharePoint Web Service</a><span class="crp_excerpt"> Topic:
Using 
XPath to navigate through elements and attributes in an XML document 
returned&nbsp; by a SharePoint Web Service.&nbsp;This article proposes ...</span><br><a href="http://computersplace.net/servers/populate-asp-net-treeview-sql-join-table.html" rel="bookmark" class="crp_title">Populate an ASP .Net Treeview from a SQL self-join table</a><span class="crp_excerpt"> I 
had last week an ASP .net TreeView control to fill from a self-join table. I 
looked on the Internet ...</span><br><a href="http://computersplace.net/servers/adding-custom-control-sharepoint-2010-team-site-wiki-page-template-wkpstd-aspx-programmatically.html" rel="bookmark" class="crp_title">Adding a custom control to the SharePoint 2010 Team Site Wiki Page Template ( wkpstd.aspx ) programmatically</a><span class="crp_excerpt"> Topic
This 
is maybe my last post&nbsp;about the Team Site Wiki Page&nbsp;customization with 
the aim of exceeding its limitations. This time ...</span></div>]]></content:encoded>
			<wfw:commentRss>http://computersplace.net/microsoft-releated/configuring-sharepoint-2010-foundation-for-internet-facing-publishing.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating a custom document library for SharePoint 2010</title>
		<link>http://computersplace.net/microsoft-releated/creating-a-custom-document-library-for-sharepoint-2010.html</link>
		<comments>http://computersplace.net/microsoft-releated/creating-a-custom-document-library-for-sharepoint-2010.html#comments</comments>
		<pubDate>Sat, 22 Oct 2011 19:01:36 +0000</pubDate>
		<dc:creator>limaye.aashish</dc:creator>
				<category><![CDATA[Microsoft Related]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[creating]]></category>
		<category><![CDATA[custom]]></category>
		<category><![CDATA[document]]></category>
		<category><![CDATA[library]]></category>
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://computersplace.net/microsoft-releated/creating-a-custom-document-library-for-sharepoint-2010.html</guid>
		<description><![CDATA[Introduction It seems that&#160;it is not that obvious to find clear documentation to create a custom document library for SharePoint 2010. Most of the Microsoft documentation is now based on using Visual Studio 2010 and are more focused on the lists than on the document libraries. By the way document libraries in SharePoint 2010 seems [...]]]></description>
			<content:encoded><![CDATA[<p><P<br />
style="PADDING-BOTTOM: 10px; MARGIN: 1px 0px; PADDING-LEFT: 13px; PADDING-RIGHT: 0px; COLOR: #e9ab17; FONT-WEIGHT: bold; PADDING-TOP: 10px">Introduction</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 5px; MARGIN: 1px 0px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">It<br />
seems that&nbsp;it is not that obvious to find clear documentation to create a<br />
custom document library for SharePoint 2010. <BR>Most of the Microsoft<br />
documentation is now based on using Visual Studio 2010 and are more focused on<br />
the lists than on the document libraries.</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 5px; MARGIN: 1px 0px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">By<br />
the way document libraries in SharePoint 2010 seems to has become lists, but the<br />
lack of documentation regarding the creation of custom lists remains anyway, so<br />
after having perform some successful trials I have decided to publish a step by<br />
step guide. </P><br />
<P<br />
style="PADDING-BOTTOM: 10px; MARGIN: 1px 0px; PADDING-LEFT: 13px; PADDING-RIGHT: 0px; COLOR: #e9ab17; FONT-WEIGHT: bold; PADDING-TOP: 10px">Functional<br />
benefits</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 5px; MARGIN: 1px 0px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">I<br />
won&#8217;t spend&nbsp;much time in this post explaining the functional benefits of<br />
creating a custom document library because I plan to publish soon a new post<br />
explaining the difference between a custom list and a list instance and the<br />
functional&nbsp;benefits and drawbacks of each. But think carefully before<br />
creating a custom document library. <BR>I have created one in a previous project<br />
for MOSS 2007 and had serious problems when migrating to SharePoint 2010. <BR>In<br />
most of the cases, a list instance is enough so if it is possible, avoid<br />
creating a custom list or document library. In a general way, avoid as much as<br />
possible to create custom CAML definitions for sites, lists and so<br />
on&#8230;&nbsp;</P><br />
<P<br />
style="PADDING-BOTTOM: 10px; MARGIN: 1px 0px; PADDING-LEFT: 13px; PADDING-RIGHT: 0px; COLOR: #e9ab17; FONT-WEIGHT: bold; PADDING-TOP: 10px">Required<br />
steps for creating a custom SharePoint 2010 document library </P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 5px; MARGIN: 1px 0px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">1<br />
- Duplicate the native DocumentLibrary&nbsp;feature<BR>2 &#8211; Change the attributes<br />
of the Feature tag of the Feature.xml file<BR>3 &#8211; Change the attributes of the<br />
ListTemplate tag of the DocumentLibrary.xml file<BR>4 &#8211; Rename the DocLib folder<br />
located in the DocumentLibrary folder<BR>5 &#8211; Install the feature<BR>6 &#8211; Activate<br />
the feature for a specific site<BR>7 -Test</P><br />
<P<br />
style="PADDING-BOTTOM: 10px; MARGIN: 1px 0px; PADDING-LEFT: 13px; PADDING-RIGHT: 0px; COLOR: #e9ab17; FONT-WEIGHT: bold; PADDING-TOP: 10px">Detailed<br />
operations</P><br />
<P<br />
style="PADDING-BOTTOM: 10px; MARGIN: 1px 0px; PADDING-LEFT: 26px; COLOR: #e9ab17; FONT-WEIGHT: normal; PADDING-TOP: 10px">1<br />
- Duplicating the native&nbsp;DocumentLibrary&nbsp;feature<BR></P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 5px; MARGIN: 1px 0px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">Locate<br />
the folder of th DocumentLibrary feature located in: C:\Program Files\Common<br />
Files\Microsoft Shared\Web Server Extensions\TEMPLATE\FEATURES <BR>Copy and<br />
paste the folder and rename it. Assume we rename it<br />
MyCompany.MyCustomDocumentLibrary.</P><br />
<P>&nbsp;</P><br />
<P><A<br />
href="http://1.bp.blogspot.com/-yKgwpsUxIfY/TqMBMHh3MNI/AAAAAAAAB3U/Y3zardk_1M8/s1600/Creating%2Ba%2Bcustom%2Bdocument%2Blibrary%2Bfor%2Bsharepoint%2B2010%2B-%2B010%2B-%2Bduplicating%2BDocuementLibrary%2Bfolder.jpg"><IMG<br />
style="WIDTH: 320px; HEIGHT: 239px; CURSOR: hand"<br />
id=BLOGGER_PHOTO_ID_5666374063853351122 border=0 alt=""<br />
src="http://1.bp.blogspot.com/-yKgwpsUxIfY/TqMBMHh3MNI/AAAAAAAAB3U/Y3zardk_1M8/s320/Creating%2Ba%2Bcustom%2Bdocument%2Blibrary%2Bfor%2Bsharepoint%2B2010%2B-%2B010%2B-%2Bduplicating%2BDocuementLibrary%2Bfolder.jpg"></A><br />
</P><br />
<P>&nbsp;</P><br />
<P<br />
style="PADDING-BOTTOM: 10px; MARGIN: 1px 0px; PADDING-LEFT: 26px; COLOR: #e9ab17; FONT-WEIGHT: normal; PADDING-TOP: 10px">2<br />
- Changing the attributes of the Feature tag of the Feature.xml file and adding<br />
some more attributes</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">Open<br />
the Feature.xml file with Visual Studio or a text editor, and change these<br />
attributes:</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">ID<BR>Change<br />
the ID of the feature. I usually change the last figures by the new type of the<br />
list. Assume the new type is 10001 (it is not recommended to use a new type<br />
smaller than 10000), the new ID of the feature of my custom document library<br />
will be 00BFEA71-E717-4E80-AA17-D0C71B310001.</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">Title<BR>The<br />
title will appear in the UI of SharePoint 2010 in the &#8220;Manage Site Features&#8221;<br />
page (because the attribute Scope is set to Web).</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">Description<BR>The<br />
description will also appear in the UI of SharePoint 2010 in the &#8220;Manage Site<br />
Features&#8221; page (Because the attribute Scope is set to Web).</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">Hidden<BR>Change<br />
the value of the attribute to FALSE in order to see the feature in the &#8220;Manage<br />
Features&#8221; page of your SharePoint 2010 so as you can activate it manually and<br />
allow a site administrator to activate it.</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">Add<br />
the following attributes</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">AlwaysForceInstall=&#8221;TRUE&#8221;<BR>This<br />
will avoid having an error at deployment time if you deploy this feature in a<br />
SharePoint solution (.wsp file) by retracting, removing the old version of your<br />
solution and re-deploying a new one. </P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">ImageUrl<BR>I<br />
have created a folder for MyCompany located in the SharePoint 2010 IMAGES folder<br />
located at: <BR>C:\Program Files\Common Files\Microsoft Shared\Web Server<br />
Extensions\TEMPLATE\IMAGES<BR>(I use a part of the SharePoint summit logo<br />
because I was speaker at this summit last year in Quebec and plan to be speaker<br />
on 2012 at Toronto and Quebec.)</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">Here<br />
is the new xml after the changes has been performed:</P><br />
<P><FONT color=#0000ff size=2><FONT color=#0000ff<br />
size=2>&lt;?</FONT></FONT><FONT color=#a31515 size=2><FONT color=#a31515<br />
size=2>xml</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2><br />
</FONT></FONT><FONT color=#ff0000 size=2><FONT color=#ff0000<br />
size=2>version</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff<br />
size=2>=</FONT></FONT><FONT size=2>&#8220;</FONT><FONT color=#0000ff size=2><FONT<br />
color=#0000ff size=2>1.0</FONT></FONT><FONT size=2>&#8220;</FONT><FONT color=#0000ff<br />
size=2><FONT color=#0000ff size=2> </FONT></FONT><FONT color=#ff0000<br />
size=2><FONT color=#ff0000 size=2>encoding</FONT></FONT><FONT color=#0000ff<br />
size=2><FONT color=#0000ff size=2>=</FONT></FONT><FONT size=2>&#8220;</FONT><FONT<br />
color=#0000ff size=2><FONT color=#0000ff size=2>utf-8</FONT></FONT><FONT<br />
size=2>&#8220;</FONT><FONT color=#0000ff size=2><FONT color=#0000ff<br />
size=2>?&gt;<BR>&lt;</FONT></FONT><FONT color=#a31515 size=2><FONT color=#a31515<br />
size=2>Feature</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff<br />
size=2> </FONT></FONT><FONT color=#ff0000 size=2><FONT color=#ff0000<br />
size=2>Id</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff<br />
size=2>=</FONT></FONT><FONT size=2>&#8220;</FONT><FONT color=#0000ff size=2><FONT<br />
color=#0000ff size=2>00BFEA71-E717-4E80-AA17-D0C71B310001</FONT></FONT><FONT<br />
size=2>&#8220;</FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2><br />
<BR></FONT></FONT><FONT color=#ff0000 size=2><FONT color=#ff0000<br />
size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
Title</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff<br />
size=2>=</FONT></FONT><FONT size=2>&#8220;</FONT><FONT color=#0000ff size=2><FONT<br />
color=#0000ff size=2>MyCompany MyCustom Document Library</FONT></FONT><FONT<br />
size=2>&#8220;<BR></FONT><FONT color=#ff0000 size=2><FONT color=#ff0000<br />
size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
Description</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff<br />
size=2>=</FONT></FONT><FONT size=2>&#8220;</FONT><FONT color=#0000ff size=2><FONT<br />
color=#0000ff size=2>Allow a custom document library to be created within this<br />
site</FONT></FONT><FONT size=2>&#8220;<BR></FONT><FONT color=#ff0000 size=2><FONT<br />
color=#ff0000<br />
size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
Version</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff<br />
size=2>=</FONT></FONT><FONT size=2>&#8220;</FONT><FONT color=#0000ff size=2><FONT<br />
color=#0000ff size=2>1.0.0.0</FONT></FONT><FONT size=2>&#8220;<BR></FONT><FONT<br />
color=#ff0000 size=2><FONT color=#ff0000<br />
size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
Scope</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff<br />
size=2>=</FONT></FONT><FONT size=2>&#8220;</FONT><FONT color=#0000ff size=2><FONT<br />
color=#0000ff size=2>Web</FONT></FONT><FONT size=2>&#8220;<BR></FONT><FONT<br />
color=#ff0000 size=2><FONT color=#ff0000<br />
size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
Hidden</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff<br />
size=2>=</FONT></FONT><FONT size=2>&#8220;</FONT><FONT color=#0000ff size=2><FONT<br />
color=#0000ff size=2>False</FONT></FONT><FONT size=2>&#8220;<BR></FONT><FONT<br />
color=#ff0000 size=2><FONT color=#ff0000<br />
size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
AlwaysForceInstall</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff<br />
size=2> =</FONT></FONT><FONT size=2>&#8220;</FONT><FONT color=#0000ff size=2><FONT<br />
color=#0000ff size=2>TRUE</FONT></FONT><FONT size=2>&#8220;<BR></FONT><FONT<br />
color=#ff0000 size=2><FONT color=#ff0000<br />
size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
ImageUrl</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2><br />
=</FONT></FONT><FONT size=2>&#8220;</FONT><FONT color=#0000ff size=2><FONT<br />
color=#0000ff size=2>MyCompany/sharePointSummitLogo.jpg</FONT></FONT><FONT<br />
size=2>&#8220;<BR></FONT><FONT color=#ff0000 size=2><FONT color=#ff0000<br />
size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
DefaultResourceFile</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff<br />
size=2>=</FONT></FONT><FONT size=2>&#8220;</FONT><FONT color=#0000ff size=2><FONT<br />
color=#0000ff size=2>core</FONT></FONT><FONT size=2>&#8220;</FONT><FONT color=#0000ff<br />
size=2><FONT color=#0000ff size=2> <BR></FONT></FONT><FONT color=#ff0000<br />
size=2><FONT color=#ff0000<br />
size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
xmlns</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff<br />
size=2>=</FONT></FONT><FONT size=2></FONT><FONT color=#0000ff size=2><FONT<br />
color=#0000ff size=2><A<br />
href="http://schemas.microsoft.com/sharepoint/">http://schemas.microsoft.com/sharepoint/</A></FONT></FONT><FONT<br />
size=2></FONT><FONT color=#0000ff size=2><FONT color=#0000ff<br />
size=2>&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;</FONT></FONT><FONT<br />
color=#a31515 size=2><FONT color=#a31515<br />
size=2>ElementManifests</FONT></FONT><FONT color=#0000ff size=2><FONT<br />
color=#0000ff<br />
size=2>&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff<br />
size=2>&lt;</FONT></FONT><FONT color=#a31515 size=2><FONT color=#a31515<br />
size=2>ElementManifest</FONT></FONT><FONT color=#0000ff size=2><FONT<br />
color=#0000ff size=2> </FONT></FONT><FONT color=#ff0000 size=2><FONT<br />
color=#ff0000 size=2>Location</FONT></FONT><FONT color=#0000ff size=2><FONT<br />
color=#0000ff size=2>=</FONT></FONT><FONT size=2>&#8220;</FONT><FONT color=#0000ff<br />
size=2><FONT color=#0000ff<br />
size=2>ListTemplates\DocumentLibrary.xml</FONT></FONT><FONT size=2>&#8220;</FONT><FONT<br />
color=#0000ff size=2><FONT color=#0000ff size=2><br />
/&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&lt;/</FONT></FONT><FONT color=#a31515 size=2><FONT color=#a31515<br />
size=2>ElementManifests</FONT></FONT><FONT color=#0000ff size=2><FONT<br />
color=#0000ff size=2>&gt;<BR>&lt;/</FONT></FONT><FONT color=#a31515 size=2><FONT<br />
color=#a31515 size=2>Feature</FONT></FONT><FONT color=#0000ff size=2><FONT<br />
color=#0000ff size=2>&gt;</P><br />
<P></FONT></FONT>&nbsp;</P><br />
<P<br />
style="PADDING-BOTTOM: 10px; MARGIN: 1px 0px; PADDING-LEFT: 26px; COLOR: #e9ab17; FONT-WEIGHT: normal; PADDING-TOP: 10px">3<br />
- Changing the attributes of the ListTemplate tag of the DocumentLibrary.xml<br />
file</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">Name<BR>This<br />
is the important key. This name and the name of the folder where the schema.xml<br />
file of the custom library is located MUST be the SAME !<BR>I use<br />
customdoclib1</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">Type<BR>As<br />
written before the new type will be 10001. The type can for example be used in a<br />
feature that will place a custom button in a document library ribbon so as when<br />
you activate the feature for the new button, only the document libraries with<br />
the 10001 type will have the new button. Changing the type is one of the good<br />
reasons to choose to create a custom document library rather to create a list<br />
instance. But it can also cause many problems later for example when migrating<br />
to a new version of SharePoint so be careful.<BR>The base type will not be<br />
changed, BaseType 1 means the list is a document library&#8230;</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">DisplayName<BR>This<br />
name will appear in your SharePoint site in the create page when you want to<br />
create a custom document library within your site.</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">Description<BR>The<br />
description will appear in your SharePoint site below the display name&nbsp;in<br />
the create page when you want to create a custom document library within your<br />
site.</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">Here<br />
is the new xml after the changes has been performed:</P><FONT color=#0000ff<br />
size=2><FONT color=#0000ff size=2><br />
<P>&lt;?</FONT></FONT><FONT color=#a31515 size=2><FONT color=#a31515<br />
size=2>xml</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2><br />
</FONT></FONT><FONT color=#ff0000 size=2><FONT color=#ff0000<br />
size=2>version</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff<br />
size=2>=</FONT></FONT><FONT size=2>&#8220;</FONT><FONT color=#0000ff size=2><FONT<br />
color=#0000ff size=2>1.0</FONT></FONT><FONT size=2>&#8220;</FONT><FONT color=#0000ff<br />
size=2><FONT color=#0000ff size=2> </FONT></FONT><FONT color=#ff0000<br />
size=2><FONT color=#ff0000 size=2>encoding</FONT></FONT><FONT color=#0000ff<br />
size=2><FONT color=#0000ff size=2>=</FONT></FONT><FONT size=2>&#8220;</FONT><FONT<br />
color=#0000ff size=2><FONT color=#0000ff size=2>utf-8</FONT></FONT><FONT<br />
size=2>&#8220;</FONT><FONT color=#0000ff size=2><FONT color=#0000ff<br />
size=2>?&gt;<BR>&lt;</FONT></FONT><FONT color=#a31515 size=2><FONT color=#a31515<br />
size=2>Elements</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff<br />
size=2> </FONT></FONT><FONT color=#ff0000 size=2><FONT color=#ff0000<br />
size=2>xmlns</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff<br />
size=2>=</FONT></FONT><FONT size=2>&#8220;</FONT><FONT color=#0000ff size=2><FONT<br />
color=#0000ff size=2>http://schemas.microsoft.com/sharepoint/</FONT></FONT><FONT<br />
size=2>&#8220;</FONT><FONT color=#0000ff size=2><FONT color=#0000ff<br />
size=2>&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;</FONT></FONT><FONT<br />
color=#a31515 size=2><FONT color=#a31515<br />
size=2>ListTemplate<BR></FONT></FONT><FONT color=#ff0000 size=2><FONT<br />
color=#ff0000 size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
Name</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff<br />
size=2>=</FONT></FONT><FONT size=2>&#8220;</FONT><FONT color=#0000ff size=2><FONT<br />
color=#0000ff size=2>customdoclib1</FONT></FONT><FONT size=2>&#8220;<BR></FONT><FONT<br />
color=#ff0000 size=2><FONT color=#ff0000<br />
size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
Type</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff<br />
size=2>=</FONT></FONT><FONT size=2>&#8220;</FONT><FONT color=#0000ff size=2><FONT<br />
color=#0000ff size=2>10001</FONT></FONT><FONT size=2>&#8220;<BR></FONT><FONT<br />
color=#ff0000 size=2><FONT color=#ff0000<br />
size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
BaseType</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff<br />
size=2>=</FONT></FONT><FONT size=2>&#8220;</FONT><FONT color=#0000ff size=2><FONT<br />
color=#0000ff size=2>1</FONT></FONT><FONT size=2>&#8220;<BR></FONT><FONT color=#ff0000<br />
size=2><FONT color=#ff0000<br />
size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
OnQuickLaunch</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff<br />
size=2>=</FONT></FONT><FONT size=2>&#8220;</FONT><FONT color=#0000ff size=2><FONT<br />
color=#0000ff size=2>TRUE</FONT></FONT><FONT size=2>&#8220;<BR></FONT><FONT<br />
color=#ff0000 size=2><FONT color=#ff0000<br />
size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
SecurityBits</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff<br />
size=2>=</FONT></FONT><FONT size=2>&#8220;</FONT><FONT color=#0000ff size=2><FONT<br />
color=#0000ff size=2>11</FONT></FONT><FONT size=2>&#8220;<BR></FONT><FONT<br />
color=#ff0000 size=2><FONT color=#ff0000<br />
size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
Sequence</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff<br />
size=2>=</FONT></FONT><FONT size=2>&#8220;</FONT><FONT color=#0000ff size=2><FONT<br />
color=#0000ff size=2>110</FONT></FONT><FONT size=2>&#8220;<BR></FONT><FONT<br />
color=#ff0000 size=2><FONT color=#ff0000<br />
size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
DisplayName</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff<br />
size=2>=</FONT></FONT><FONT size=2>&#8220;</FONT><FONT color=#0000ff size=2><FONT<br />
color=#0000ff size=2>My Company Document Library</FONT></FONT><FONT<br />
size=2>&#8220;<BR></FONT><FONT color=#ff0000 size=2><FONT color=#ff0000<br />
size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
Description</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff<br />
size=2>=</FONT></FONT><FONT size=2>&#8220;</FONT><FONT color=#0000ff size=2><FONT<br />
color=#0000ff size=2>Create a document library with xyz<br />
functionalities</FONT></FONT><FONT size=2>&#8220;<BR></FONT><FONT color=#ff0000<br />
size=2><FONT color=#ff0000<br />
size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
Image</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff<br />
size=2>=</FONT></FONT><FONT size=2>&#8220;</FONT><FONT color=#0000ff size=2><FONT<br />
color=#0000ff size=2>/_layouts/images/itdl.png</FONT></FONT><FONT<br />
size=2>&#8220;<BR></FONT><FONT color=#ff0000 size=2><FONT color=#ff0000<br />
size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
DocumentTemplate</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff<br />
size=2>=</FONT></FONT><FONT size=2>&#8220;</FONT><FONT color=#0000ff size=2><FONT<br />
color=#0000ff size=2>121</FONT></FONT><FONT size=2>&#8220;</FONT><FONT color=#0000ff<br />
size=2><FONT color=#0000ff size=2>/&gt;<BR>&lt;/</FONT></FONT><FONT<br />
color=#a31515 size=2><FONT color=#a31515 size=2>Elements</FONT></FONT><FONT<br />
color=#0000ff size=2><FONT color=#0000ff size=2>&gt;</P></FONT></FONT><br />
<P<br />
style="PADDING-BOTTOM: 10px; MARGIN: 1px 0px; PADDING-LEFT: 26px; COLOR: #e9ab17; FONT-WEIGHT: normal; PADDING-TOP: 10px">4<br />
- Renaming the DocLib folder located in the DocumentLibrary folder</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">As<br />
written before, the important key is now to rename the folder where the document<br />
library schema.xml file is located so as it has the same name&nbsp;than the name<br />
attribute of the custom document library template. </P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">So<br />
we rename the folder to customdoclib1</P><br />
<P>&nbsp;</P><br />
<P><A<br />
href="http://1.bp.blogspot.com/-kwfnBHOfghk/TqMBL6WQiCI/AAAAAAAAB3E/N3PyI4CfTF4/s1600/Creating%2Ba%2Bcustom%2Bdocument%2Blibrary%2Bfor%2Bsharepoint%2B2010%2B-%2B020%2B-%2Brenaming%2BDoclib%2Bfolder.jpg"><IMG<br />
style="WIDTH: 320px; HEIGHT: 199px; CURSOR: hand"<br />
id=BLOGGER_PHOTO_ID_5666374060315019298 border=0 alt=""<br />
src="http://1.bp.blogspot.com/-kwfnBHOfghk/TqMBL6WQiCI/AAAAAAAAB3E/N3PyI4CfTF4/s320/Creating%2Ba%2Bcustom%2Bdocument%2Blibrary%2Bfor%2Bsharepoint%2B2010%2B-%2B020%2B-%2Brenaming%2BDoclib%2Bfolder.jpg"></A><br />
</P><br />
<P>&nbsp;</P><br />
<P<br />
style="PADDING-BOTTOM: 10px; MARGIN: 1px 0px; PADDING-LEFT: 26px; COLOR: #e9ab17; FONT-WEIGHT: normal; PADDING-TOP: 10px">5<br />
- Installing the feature</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">Now,<br />
all we have to do is install the feature so open a command prompt and be sure to<br />
have the administrator permissions on the machine. If the stsadm.exe<br />
path&nbsp;is referenced in the system variables of the machine you just have to<br />
type the following:</P><br />
<P>stsadm -o installfeature -name MyCompany.MyCustomDocumentLibrary</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">In<br />
order to obtain this screen</P><br />
<P>&nbsp;</P><br />
<P><A<br />
href="http://1.bp.blogspot.com/-FonBawsLb6A/TqMBLYJqtcI/AAAAAAAAB24/xgXKqsPUfR4/s1600/Creating%2Ba%2Bcustom%2Bdocument%2Blibrary%2Bfor%2Bsharepoint%2B2010%2B-%2B030%2B-%2Binstalling%2Bthe%2Bfeature.jpg"><IMG<br />
style="WIDTH: 320px; HEIGHT: 160px; CURSOR: hand"<br />
id=BLOGGER_PHOTO_ID_5666374051135403458 border=0 alt=""<br />
src="http://1.bp.blogspot.com/-FonBawsLb6A/TqMBLYJqtcI/AAAAAAAAB24/xgXKqsPUfR4/s320/Creating%2Ba%2Bcustom%2Bdocument%2Blibrary%2Bfor%2Bsharepoint%2B2010%2B-%2B030%2B-%2Binstalling%2Bthe%2Bfeature.jpg"></A><br />
</P><br />
<P>&nbsp;</P><br />
<P<br />
style="PADDING-BOTTOM: 10px; MARGIN: 1px 0px; PADDING-LEFT: 26px; COLOR: #e9ab17; FONT-WEIGHT: normal; PADDING-TOP: 10px">6<br />
- Activating the feature for a specific site</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">So<br />
now, open a site and you should see your feature in the &#8220;Manage Site Features&#8221;<br />
page as shown in the next screen shot.</P><br />
<P>&nbsp;</P><br />
<P><A<br />
href="http://4.bp.blogspot.com/-X6OmAd1HUlE/TqMBLGvybRI/AAAAAAAAB2o/_f0sC5qdvpg/s1600/Creating%2Ba%2Bcustom%2Bdocument%2Blibrary%2Bfor%2Bsharepoint%2B2010%2B-%2B040%2B-%2Bfeature%2Binstalled.jpg"><IMG<br />
style="WIDTH: 320px; HEIGHT: 152px; CURSOR: hand"<br />
id=BLOGGER_PHOTO_ID_5666374046463454482 border=0 alt=""<br />
src="http://4.bp.blogspot.com/-X6OmAd1HUlE/TqMBLGvybRI/AAAAAAAAB2o/_f0sC5qdvpg/s320/Creating%2Ba%2Bcustom%2Bdocument%2Blibrary%2Bfor%2Bsharepoint%2B2010%2B-%2B040%2B-%2Bfeature%2Binstalled.jpg"></A><br />
</P><br />
<P>&nbsp;</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">Notice<br />
that the description filled in the feature.xml file is displayed on the<br />
page.<BR>Click the Activate button to enable the custom library creation within<br />
this site.</P><br />
<P>&nbsp;</P><br />
<P<br />
style="PADDING-BOTTOM: 10px; MARGIN: 1px 0px; PADDING-LEFT: 26px; COLOR: #e9ab17; FONT-WEIGHT: normal; PADDING-TOP: 10px">7<br />
-Testing</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">Now<br />
if you navigate to the SharePoint 2010 Create pop up using the &#8220;Site Actions&#8221;<br />
menu and clicking &#8220;More Options&#8230;&#8221; then selecting Library in the pop up you<br />
will notice that the references to the custom library are actually displayed by<br />
the pop up.</P><br />
<P><A<br />
href="http://2.bp.blogspot.com/-2uMYfyN_hAs/TqMBLIkQmxI/AAAAAAAAB2g/tTaWqz0b9ws/s1600/Creating%2Ba%2Bcustom%2Bdocument%2Blibrary%2Bfor%2Bsharepoint%2B2010%2B-%2B050%2B-%2Bcreating%2Bthe%2Bcustom%2Blibrary%2Bwithin%2Ba%2BSharePoint%2B2010%2Bsite.jpg"><IMG<br />
style="WIDTH: 320px; HEIGHT: 152px; CURSOR: hand"<br />
id=BLOGGER_PHOTO_ID_5666374046951971602 border=0 alt=""<br />
src="http://2.bp.blogspot.com/-2uMYfyN_hAs/TqMBLIkQmxI/AAAAAAAAB2g/tTaWqz0b9ws/s320/Creating%2Ba%2Bcustom%2Bdocument%2Blibrary%2Bfor%2Bsharepoint%2B2010%2B-%2B050%2B-%2Bcreating%2Bthe%2Bcustom%2Blibrary%2Bwithin%2Ba%2BSharePoint%2B2010%2Bsite.jpg"></A><br />
</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">Notice<br />
that the name and description typed previously in the documentlibrary.xml file<br />
are properly displayed. </P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">So<br />
type a name for your new custom document&nbsp;library for SharePoint<br />
2010&nbsp;and check it is correctly provisioned within your site. </P><br />
<P><A<br />
href="http://4.bp.blogspot.com/-oVC593mqXc0/TqMDxTAFHyI/AAAAAAAAB3c/galkDeP4FJc/s1600/Creating%2Ba%2Bcustom%2Bdocument%2Blibrary%2Bfor%2Bsharepoint%2B2010%2B-%2B060%2B-%2Bcustom%2Bdocument%2Blibrary%2Bwithin%2Ba%2BSharePoint%2B2010%2Bsite%2Bcreated.jpg"><IMG<br />
style="WIDTH: 320px; HEIGHT: 218px; CURSOR: hand"<br />
id=BLOGGER_PHOTO_ID_5666376901611298594 border=0 alt=""<br />
src="http://4.bp.blogspot.com/-oVC593mqXc0/TqMDxTAFHyI/AAAAAAAAB3c/galkDeP4FJc/s320/Creating%2Ba%2Bcustom%2Bdocument%2Blibrary%2Bfor%2Bsharepoint%2B2010%2B-%2B060%2B-%2Bcustom%2Bdocument%2Blibrary%2Bwithin%2Ba%2BSharePoint%2B2010%2Bsite%2Bcreated.jpg"></A><br />
</P><br />
<P>&nbsp;</P><br />
<P<br />
style="TEXT-ALIGN: justify; PADDING-BOTTOM: 18px; MARGIN: 1px 0px; PADDING-LEFT: 18px; PADDING-RIGHT: 5px; FONT-FAMILY: arial; COLOR: gray; FONT-SIZE: 10pt; FONT-WEIGHT: normal; PADDING-TOP: 5px">Well<br />
done !!!</P>
<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4357140756496246910-5879931963764413412?l=mosshowto.blogspot.com' alt='' /></div>
<p><small>Check it out:<a rel="nofollow" href="http://mosshowto.blogspot.com/2011/10/sharepoint-2010-custom-document-library.html">MOSS How to &#8230;</a></small> </p>
<div>    <h3>Related Posts:</h3><br><a href="http://computersplace.net/servers/populate-asp-net-treeview-sql-join-table.html" rel="bookmark" class="crp_title">Populate an ASP .Net Treeview from a SQL self-join table</a><span class="crp_excerpt"> I 
had last week an ASP .net TreeView control to fill from a self-join table. I 
looked on the Internet ...</span><br><a href="http://computersplace.net/servers/xpath-manage-data-returned-sharepoint-web-service.html" rel="bookmark" class="crp_title">Using XPath to manage data returned by a SharePoint Web Service</a><span class="crp_excerpt"> Topic:
Using 
XPath to navigate through elements and attributes in an XML document 
returned&nbsp; by a SharePoint Web Service.&nbsp;This article proposes ...</span><br><a href="http://computersplace.net/servers/linq-script-block-application-page-sharepoint-minimal-configuration-linq.html" rel="bookmark" class="crp_title">Use Linq inside a Script Block of an Application Page &#8211; SharePoint minimal configuration for Linq</a><span class="crp_excerpt"> 

When 
developing for SharePoint you maybe use Linq. Assume you are developing a new 
piece of code and to improve ...</span><br><a href="http://computersplace.net/servers/adding-custom-control-sharepoint-2010-team-site-wiki-page-template-wkpstd-aspx-programmatically.html" rel="bookmark" class="crp_title">Adding a custom control to the SharePoint 2010 Team Site Wiki Page Template ( wkpstd.aspx ) programmatically</a><span class="crp_excerpt"> Topic
This 
is maybe my last post&nbsp;about the Team Site Wiki Page&nbsp;customization with 
the aim of exceeding its limitations. This time ...</span><br><a href="http://computersplace.net/servers/adding-breadcrumb-navigation-sharepoint-application-pages-programmatically.html" rel="bookmark" class="crp_title">Adding Breadcrumb Navigation for SharePoint Application Pages Programmatically</a><span class="crp_excerpt"> 

When 
creating a new Application Page (an .aspx page&nbsp;deployed to the c:\program 
files\common files\microsoft shared\web server extensions\template\layouts 
directory) you can ...</span></div>]]></content:encoded>
			<wfw:commentRss>http://computersplace.net/microsoft-releated/creating-a-custom-document-library-for-sharepoint-2010.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I have a new copy of SharePoint Designer 2007 and am looking for a cheap server to experiment on. Any ideas?</title>
		<link>http://computersplace.net/servers/i-have-a-new-copy-of-sharepoint-designer-2007-and-am-looking-for-a-cheap-server-to-experiment-on-any-ideas.html</link>
		<comments>http://computersplace.net/servers/i-have-a-new-copy-of-sharepoint-designer-2007-and-am-looking-for-a-cheap-server-to-experiment-on-any-ideas.html#comments</comments>
		<pubDate>Wed, 16 Mar 2011 21:00:35 +0000</pubDate>
		<dc:creator>LickMyBifkin</dc:creator>
				<category><![CDATA[Servers]]></category>
		<category><![CDATA[2007]]></category>
		<category><![CDATA[cheap]]></category>
		<category><![CDATA[copy]]></category>
		<category><![CDATA[designer]]></category>
		<category><![CDATA[experiment]]></category>
		<category><![CDATA[ideas]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://computersplace.net/servers/i-have-a-new-copy-of-sharepoint-designer-2007-and-am-looking-for-a-cheap-server-to-experiment-on-any-ideas.html</guid>
		<description><![CDATA[I have access to a server at work but want a commercial internet server that I can use to experiment with my own personal page without anyone worrying if it doesn&#8217;t work correctly. Best answer: Answer by titus1971You might want to think about some type of virtual server. We use VM ware at my company [...]]]></description>
			<content:encoded><![CDATA[<p>I have access to a server at work but want a commercial internet server that I can use to experiment with my own personal page without anyone worrying if it doesn&#8217;t work correctly.</p>
<p><strong>Best answer:</strong></p>
<p><i>Answer by titus1971</i><br/>You might want to think about some type of virtual server. We use VM ware at my company and I think Microsoft has a version as well. Yuu can even create a virtual domain to test it on.</p>
<p><strong>What do you think? Answer below!</strong></p>
<div>    <h3>Related Posts:</h3><br><a href="http://computersplace.net/microsoft-releated/i-vmware-run-service-windows-2003.html" rel="bookmark" class="crp_title">How can I get VMware to run as a service on Windows 2003?</a><span class="crp_excerpt"> I've checked every google search and tried them all...the only thing that I want to be able to do is ...</span><br><a href="http://computersplace.net/servers/difference-between-virtual-dedicated-server-and-dedicated-server-with-recommendations-of-each.html" rel="bookmark" class="crp_title">Difference between Virtual Dedicated Server and Dedicated Server. With recommendations of each?</a><span class="crp_excerpt"> I am interested in purchasing a powerful server to use at my home for a variety of things. As I ...</span><br><a href="http://computersplace.net/servers/what-is-the-difference-between-virtual-and-dedicated-servers.html" rel="bookmark" class="crp_title">what is the difference between virtual and dedicated servers?</a><span class="crp_excerpt"> i have started my new business of domain name registration and hosting as a reseller. i went to google.com and ...</span><br><a href="http://computersplace.net/servers/wilcard-dns-similar-to-hosts-file-in-windows-without-a-local-dedicated-dns-server.html" rel="bookmark" class="crp_title">Wilcard DNS (similar to hosts file) in Windows without a local dedicated DNS server&#8230;?</a><span class="crp_excerpt"> I have a local test server running Apache2 with virtual hosting setup correctly. I'd like to set up a system ...</span><br><a href="http://computersplace.net/servers/how-to-create-virtual-servers.html" rel="bookmark" class="crp_title">How to Create Virtual servers ?</a><span class="crp_excerpt"> i bought a new Dell 1950 1U Server and want to create virtual servers , but have no idea how ...</span></div>]]></content:encoded>
			<wfw:commentRss>http://computersplace.net/servers/i-have-a-new-copy-of-sharepoint-designer-2007-and-am-looking-for-a-cheap-server-to-experiment-on-any-ideas.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SharePoint 2007 – associated lookup columns</title>
		<link>http://computersplace.net/articles-review/sharepoint-2007-%e2%80%93-lookup-columns.html</link>
		<comments>http://computersplace.net/articles-review/sharepoint-2007-%e2%80%93-lookup-columns.html#comments</comments>
		<pubDate>Tue, 30 Nov 2010 20:02:53 +0000</pubDate>
		<dc:creator>Gravy B</dc:creator>
				<category><![CDATA[Articles Review]]></category>
		<category><![CDATA[2007]]></category>
		<category><![CDATA[columns]]></category>
		<category><![CDATA[lookup]]></category>
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://computersplace.net/articles-review/sharepoint-2007-%e2%80%93-lookup-columns.html</guid>
		<description><![CDATA[No, this is not a mistake – we can also have associated lookup columns in SharePoint 2007, though not with the extended UI creation capabilities available in SharePoint 2010. Let’s first have a look at this new functionality in SharePoint 2010 (and define more accurately the terminology – I don’t think that there is a [...]]]></description>
			<content:encoded><![CDATA[<p>No, this is not a mistake – we can also have associated lookup columns in SharePoint 2007, though not with the extended UI creation capabilities available in SharePoint 2010. Let’s first have a look at this new functionality in SharePoint 2010 (and define more accurately the terminology – I don’t think that there is a specific term for this lookup field extension, but in this article I will call it as I did in the title of the posting):</p>
<p><a href="http://lh6.ggpht.com/_0eqZhh4i4yM/TPVPtUN3UJI/AAAAAAAAAG4/XFftpgMFjO0/s1600-h/image%5B3%5D.png"><img title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="349" alt="image" src="http://lh4.ggpht.com/_0eqZhh4i4yM/TPVPuKNitiI/AAAAAAAAAG8/WKywKAlpgsE/image_thumb%5B1%5D.png?imgmax=800" width="367" border="0" /></a> </p>
<p>So, as you can see from the screenshot (and probably tried that many times already yourself), when you create a new lookup column in a list, you have the option to select more than one column from the target lookup list (in SharePoint 2007 we had the option to select just one “show column”). Basically what SharePoint does when you create a lookup field from the UI is to create the “normal” lookup column as before and then create another read-only “associated” lookup column for every additional show field from the check-box list that you have selected. And this functions as follows – when you create a new item, or edit an existing one in the edit form you see only the “normal” lookup column there, but when you change it to point to another item in the lookup list, all “associated” lookup columns change their values so that they correspond to the related columns in the newly selected lookup item. The associated lookup columns are read-only but you can add them to the views of the list, so that you display all additional columns that you need from the lookup item. And since the main lookup and the auxiliary lookup fields are automatically synchronized (SharePoint does that for us), you don’t need any additional code in item event receivers for instance.</p>
<p>Let’s now have a look at the field schema of the “normal” and “associated” lookup columns:</p>
<div style="font-size: 10pt; background: white; color: black; font-family: courier new">
<p style="margin: 0px"><span style="color: blue">&lt;</span><span style="color: #a31515">Field</span><span style="color: blue"> </span><span style="color: red">Type</span><span style="color: blue">=</span>&quot;<span style="color: blue">Lookup</span>&quot;<span style="color: blue"> </span><span style="color: red">DisplayName</span><span style="color: blue">=</span>&quot;<span style="color: blue">Department</span>&quot;<span style="color: blue"> </span><span style="color: red">Required</span><span style="color: blue">=</span>&quot;<span style="color: blue">FALSE</span>&quot;<span style="color: blue"> </span><span style="color: red">EnforceUniqueValues</span><span style="color: blue">=</span>&quot;<span style="color: blue">FALSE</span>&quot;<span style="color: blue"> </span><span style="color: red">List</span><span style="color: blue">=</span>&quot;<span style="color: blue">{ceaf935e-b9c6-48a0-8c23-bcec58a24c91}</span>&quot;<span style="color: blue"> </span><span style="color: red">ShowField</span><span style="color: blue">=</span>&quot;<span style="color: blue">Title</span>&quot;<span style="color: blue"> </span><span style="color: red">UnlimitedLengthInDocumentLibrary</span><span style="color: blue">=</span>&quot;<span style="color: blue">FALSE</span>&quot;<span style="color: blue"> </span><span style="color: red">RelationshipDeleteBehavior</span><span style="color: blue">=</span>&quot;<span style="color: blue">None</span>&quot;<span style="color: blue"> </span><span style="color: red">ID</span><span style="color: blue">=</span>&quot;<span style="color: blue">{98948dfd-cea5-4d6c-ac47-25bafa5218de}</span>&quot;<span style="color: blue"> </span><span style="color: red">SourceID</span><span style="color: blue">=</span>&quot;<span style="color: blue">{bca1cd44-3822-49b6-b68c-2ff28ced1726}</span>&quot;<span style="color: blue"> </span><span style="color: red">StaticName</span><span style="color: blue">=</span>&quot;<span style="color: blue">Department</span>&quot;<span style="color: blue"> </span><span style="color: red">Name</span><span style="color: blue">=</span>&quot;<span style="color: blue">Department</span>&quot;<span style="color: blue"> </span><span style="color: red">ColName</span><span style="color: blue">=</span>&quot;<span style="color: blue">int1</span>&quot;<span style="color: blue"> </span><span style="color: red">RowOrdinal</span><span style="color: blue">=</span>&quot;<span style="color: blue">0</span>&quot;<span style="color: blue"> </span><span style="color: red">Group</span><span style="color: blue">=</span>&quot;&quot;<span style="color: blue"> /&gt;</span></p>
</p></div>
<p>This is the schema of the “normal” or main lookup column – as you see, there is nothing specific in its schema – it is just a regular lookup column. And this is the schema of one of the associated lookup columns that I created for the lookup column above:</p>
<div style="font-size: 10pt; background: white; color: black; font-family: courier new">
<p style="margin: 0px"><span style="color: blue">&lt;</span><span style="color: #a31515">Field</span><span style="color: blue"> </span><span style="color: red">Type</span><span style="color: blue">=</span>&quot;<span style="color: blue">Lookup</span>&quot;<span style="color: blue"> </span><span style="color: red">DisplayName</span><span style="color: blue">=</span>&quot;<span style="color: blue">Department:Code</span>&quot;<span style="color: blue"> </span><span style="color: red">List</span><span style="color: blue">=</span>&quot;<span style="color: blue">{ceaf935e-b9c6-48a0-8c23-bcec58a24c91}</span>&quot;<span style="color: blue"> </span><span style="color: red">WebId</span><span style="color: blue">=</span>&quot;<span style="color: blue">4ee36ddf-5b1b-470b-9f9a-fbd970edf5aa</span>&quot;<span style="color: blue"> </span><span style="color: red">ShowField</span><span style="color: blue">=</span>&quot;<span style="color: blue">Code</span>&quot;<span style="color: blue"> </span><span style="color: red">FieldRef</span><span style="color: blue">=</span>&quot;<span style="color: blue">98948dfd-cea5-4d6c-ac47-25bafa5218de</span>&quot;<span style="color: blue"> </span><span style="color: red">ReadOnly</span><span style="color: blue">=</span>&quot;<span style="color: blue">TRUE</span>&quot;<span style="color: blue"> </span><span style="color: red">UnlimitedLengthInDocumentLibrary</span><span style="color: blue">=</span>&quot;<span style="color: blue">FALSE</span>&quot;<span style="color: blue"> </span><span style="color: red">ID</span><span style="color: blue">=</span>&quot;<span style="color: blue">{cd2b77b9-6238-4e2e-99ee-826826dc09f2}</span>&quot;<span style="color: blue"> </span><span style="color: red">SourceID</span><span style="color: blue">=</span>&quot;<span style="color: blue">{bca1cd44-3822-49b6-b68c-2ff28ced1726}</span>&quot;<span style="color: blue"> </span><span style="color: red">StaticName</span><span style="color: blue">=</span>&quot;<span style="color: blue">Department_x003a_Code</span>&quot;<span style="color: blue"> </span><span style="color: red">Name</span><span style="color: blue">=</span>&quot;<span style="color: blue">Department_x003a_Code</span>&quot;<span style="color: blue"> </span><span style="color: red">Version</span><span style="color: blue">=</span>&quot;<span style="color: blue">1</span>&quot;<span style="color: blue"> /&gt;</span></p>
</p></div>
<p>So, as you see we have all attributes for a normal lookup column, but one extra attribute as well – “FieldRef”. The value of this attribute is a Guid and this is exactly the ID attribute of the main lookup column. So, obviously the “FieldRef” attribute is the one that defines this association between the main and the associated lookup columns. Notice also the “ReadOnly” attribite in the associated lookup field’s schema which is set to TRUE – this guarantees that the associated lookup column doesn’t appear in the new and edit forms of the SharePoint list (you don’t need it there anyway, since it is synchronized automatically).</p>
<p>This is indeed a very useful new functionality in SharePoint 2010, but you may already ask yourself what SharePoint 2007 has to do in the whole matter – we don’t have this functionality there. Well, it is true that SharePoint 2007 lacks the user interface for creating “associated” lookup columns but this doesn’t mean that we cannot create columns with code specifying the values for all attributes in their schema as we decide. And it turns out that when we create a lookup column in a list and set its “FieldRef” attribute to “point” to another lookup column in the same list (both columns should target one and the same lookup list) – the “associated” lookup functionality actually works – just like in SharePoint 2010 (note here – I tested this on SharePoint 2007 service pack 2). Another detail here is that you shouldn’t forget to set the “ReadOnly” attribute of the field to TRUE – otherwise the “associated” lookup column will appear in the edit form of the list and when you try to save the list item, the page will crush with a nasty error.</p>
<p>As to the question of how you can create a lookup column (an associated lookup column) with code (and set its FieldRef attribute) – probably the easiest way is to use the <strong>SPFieldCollection.AddFieldAsXml</strong> method, which accepts a string parameter containing the schema XML of the new field. Note that you will have to properly format the schema XML of the associated lookup field providing the correct values to its attributes (the final XML schema should look similar to the one above):</p>
<ul>
<li>in the <strong>ID</strong> attribute – a unique Guid value</li>
<li>in the <strong>Name</strong> and <strong>StaticName</strong> attributes – unique (within the SharePoint list) internal name of the field</li>
<li>in the <strong>List</strong> attribute – the ID of the lookup list</li>
<li>in the <strong>WebId</strong> attribute – the ID of the web containing the lookup list (in most cases this is the web of the current list)</li>
<li>in the <strong>FieldRef</strong> attribute – the ID of the main lookup field to which we want to associate the new lookup column</li>
<li>in the <strong>ShowField</strong> attribute – the internal name of the column in the lookup list whose value should be displayed in the new lookup column</li>
<li>in the <strong>ReadOnly</strong> attribute – this should be set to TRUE</li>
</ul>
<p>And the net result will look something similar to this:</p>
<p><a href="http://lh4.ggpht.com/_0eqZhh4i4yM/TPVPugbI6MI/AAAAAAAAAHA/JwVjqkV66J0/s1600-h/image%5B7%5D.png"><img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="179" alt="image" src="http://lh6.ggpht.com/_0eqZhh4i4yM/TPVPvKIIOnI/AAAAAAAAAHE/BSSnMxNdiek/image_thumb%5B3%5D.png?imgmax=800" width="567" border="0" /></a> </p>
<p>In the sample screenshot, the “Department” column is the main lookup column (displaying the “Title” column from the lookup list) and the “Department country” column is the associated lookup column (displaying the custom “Country” text column from the lookup list). Note also that the value displayed in the list view in the column of the associated lookup field is not rendered as a link, unlike the value in the column of the main lookup – actually this is exactly the same behavior as we have in SharePoint 2010. And most importantly again the same as in SharePoint 2010, the values of the associated lookup column or columns get automatically synchronized with the changes of the selected lookup item in the main lookup field.</p>
<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8257012011174718720-4946054411455354618?l=stefan-stanev-sharepoint-blog.blogspot.com' alt='' /></div>
<p><small>Check it out:<a rel="nofollow" href="http://stefan-stanev-sharepoint-blog.blogspot.com/2010/11/sharepoint-2007-associated-lookup.html">Stefan Stanev&#8217;s SharePoint blog</a></small> </p>
<div>    <h3>Related Posts:</h3><br><a href="http://computersplace.net/articles-review/sharepoint-2010-%e2%80%93-content-type-feature-upgrading.html" rel="bookmark" class="crp_title">SharePoint 2010 – content type feature upgrading</a><span class="crp_excerpt"> This is something that I had overlooked in my lengthy posting on SharePoint content types from a couple of months ...</span><br><a href="http://computersplace.net/articles-review/small-splistitem-extension-methods.html" rel="bookmark" class="crp_title">Two small SPListItem extension methods</a><span class="crp_excerpt"> So, it is about two small extension methods which do basically the same job – getting a specific field value ...</span><br><a href="http://computersplace.net/microsoft-releated/windows-server-howto/error-191-part-sql-statement-nested-deeply.html" rel="bookmark" class="crp_title">Error 191: Some part of your SQL statement is nested too deeply.</a><span class="crp_excerpt"> When inserting string into SQL Server table using the INSERT predicate that uses string concatenation there seems to be an ...</span><br><a href="http://computersplace.net/articles-review/how-to-display-all-versions-in-a-sharepoint-list-view-page-%e2%80%93-part-2.html" rel="bookmark" class="crp_title">How to display all versions in a SharePoint list view page – part 2</a><span class="crp_excerpt"> Several months ago I wrote a small posting describing how you can trick the standard list view web part to ...</span><br><a href="http://computersplace.net/microsoft-releated/windows-server-howto/tracking-dcsmultitrack-invalid-fields-client-side.html" rel="bookmark" class="crp_title">Tracking with dcsMultiTrack invalid fields on client side</a><span class="crp_excerpt">    dcsMultiTrack - is 3rd compoment. Instead of dcsMultiTrack you can use your own tracking tool or for ...</span></div>]]></content:encoded>
			<wfw:commentRss>http://computersplace.net/articles-review/sharepoint-2007-%e2%80%93-lookup-columns.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The SharePoint item being crawled returned an error when attempting to download the item.</title>
		<link>http://computersplace.net/articles-review/sharepoint-item-crawled-returned-error-attempting-download-item.html</link>
		<comments>http://computersplace.net/articles-review/sharepoint-item-crawled-returned-error-attempting-download-item.html#comments</comments>
		<pubDate>Tue, 30 Nov 2010 15:03:30 +0000</pubDate>
		<dc:creator>program_1357</dc:creator>
				<category><![CDATA[Articles Review]]></category>
		<category><![CDATA[attempting]]></category>
		<category><![CDATA[crawled]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[item]]></category>
		<category><![CDATA[returned]]></category>
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://computersplace.net/articles-review/sharepoint-item-crawled-returned-error-attempting-download-item.html</guid>
		<description><![CDATA[SharePoint Search error &#8211; &#8220;The SharePoint item being crawled returned an error when attempting to download the item.&#8221; If you are running a crawl and noticed that you are getting the above error on certain site or site collection.. you can correct it by one or combination of the following solutions Avoid placing core results [...]]]></description>
			<content:encoded><![CDATA[<h2>SharePoint Search error &#8211; &#8220;The SharePoint item being crawled returned an error when attempting to download the item.&#8221;</h2>
<p>
If you are running a crawl and noticed that you are getting the above error on certain site or site collection.. you can correct it by one or combination of the following solutions</p>
<ol>
<li>Avoid placing core results webpart on homepage.</li>
<li>Make sure that all custom webpages are checked in.</li>
<li>If you have any page other than the default.aspx as the hompage at the root site of the site collection, then set the default.aspx as homepage and run crawl. Once it is successful, you can go ahead and set the other page as your homepage.</li>
<li>Try installing Aug CUs. </li>
</ol>
<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5285230663251728127-7147598240343814021?l=howtosharepoint.blogspot.com' alt='' /></div>
<p><small>Check it out:<a rel="nofollow" href="http://howtosharepoint.blogspot.com/2010/11/sharepoint-item-being-crawled-returned.html">SharePoint 2010</a></small> </p>
<div>    <h3>Related Posts:</h3><br><a href="http://computersplace.net/articles-review/programatically-redirect-to-custom-error-page.html" rel="bookmark" class="crp_title">Programatically redirect to custom error page</a><span class="crp_excerpt"> programatically redirect to custom error page
To set a custom error page
const string CustomErrorPage = "/_layouts/CustomPageMappings/Error.aspx"; 

webApp.UpdateMappedPage(SPWebApplication.SPCustomPage.Error, CustomErrorPage);
ref:
http://todd-carter.com/post/2010/04/07/An-Expected-Error-Has-Occurred.aspx


To call the error ...</span><br><a href="http://computersplace.net/articles-review/capacity-planning-sharepoint-2010.html" rel="bookmark" class="crp_title">Capacity Planning for SharePoint 2010</a><span class="crp_excerpt"> Only references

1. What’s New in SharePoint 2010 Capacity Planning ( Joel Oleson )
Check it out:SharePoint 2010  </span><br><a href="http://computersplace.net/articles-review/branding-sharepoint-2010-site.html" rel="bookmark" class="crp_title">Branding your Sharepoint 2010 Site</a><span class="crp_excerpt"> Ref:
SharePoint 2010 Themes and Resources for Upgrading a Custom Master Page
SharePoint 2010 CSS references in Master Pages 
http://technet.microsoft.com/hi-in/library/cc263203(en-us,office.14).aspx
http://styledpoint.com/blog/ribbon-customization-changing-placement-look-and-behavior/
http://blog.drisgill.com/
http://www.nonlinearcreations.com/whitepaper/index.asp?id=17
http://sharepoint.microsoft.com/blogs/GetThePoint/Lists/Categories/Category.aspx?CategoryId=16&Name=Branding
Working with the ...</span><br><a href="http://computersplace.net/articles-review/hide-columns-sharepoint-edit-disp-forms.html" rel="bookmark" class="crp_title">Hide Columns in SharePoint New, Edit and Disp Forms</a><span class="crp_excerpt"> Hide Columns in SharePoint New, Edit and Disp Forms 
There are several ways you can achieve this.. choose the best ...</span><br><a href="http://computersplace.net/articles-review/sharepoint-2010-webpart-deployment-structure.html" rel="bookmark" class="crp_title">Sharepoint 2010 &#8211; WebPart deployment structure</a><span class="crp_excerpt"> This post is to put together the various files that is generated in Visual Studio 2010 like the manifest.xml, feature.xml, ...</span></div>]]></content:encoded>
			<wfw:commentRss>http://computersplace.net/articles-review/sharepoint-item-crawled-returned-error-attempting-download-item.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Real World SharePoint 2010 Released!</title>
		<link>http://computersplace.net/articles-review/real-world-sharepoint-2010-released.html</link>
		<comments>http://computersplace.net/articles-review/real-world-sharepoint-2010-released.html#comments</comments>
		<pubDate>Tue, 16 Nov 2010 11:03:06 +0000</pubDate>
		<dc:creator>BillGatesJr wizkid</dc:creator>
				<category><![CDATA[Articles Review]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[real]]></category>
		<category><![CDATA[released]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[world]]></category>

		<guid isPermaLink="false">http://computersplace.net/articles-review/real-world-sharepoint-2010-released.html</guid>
		<description><![CDATA[Today I got the great news that the Real World SharePoint 2010 book has finally been released! This is my first ever publication and I’m truly excited to see it finally available. To have my first publication be this particular book where so many stellar folks have contributed is just an incredible honor for me. [...]]]></description>
			<content:encoded><![CDATA[<div>
<div class="post-body entry-content" readability="27">
</p>
<p>Today I got the great news that the <a href="http://computersplace.net/go/Real_World_SharePoint_2010/7678/1" target="_blank">Real World SharePoint 2010</a> book has finally been released! This is my first ever publication and I’m truly excited to see it finally available. To have my first publication be this particular book where so many stellar folks have contributed is just an incredible honor for me. I was one of the few contributors that had a very early delivery date for their chapters and as such I  finished my chapter in December of 2009 so I’ve been waiting a long time (almost a full year) for this sucker to finally get out. Now I just have to get my second publication finished <img src='http://computersplace.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Thanks again to everyone who contributed or otherwise helped organize and make this book happen and a special thanks to all those who choose to purchase it <img src='http://computersplace.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
</div>
</div>
<p><small>Check it out:<a rel="nofollow" href="http://feedproxy.google.com/~r/StsadmCustomExtensions/~3/LZv0uIpJN7U/real-world-sharepoint-2010-released.html">SharePoint Automation</a></small> </p>
<div>    <h3>Related Posts:</h3><br><a href="http://computersplace.net/articles-review/msdn-visual-studio-ultimate-contest-winners.html" rel="bookmark" class="crp_title">MSDN Visual Studio Ultimate Contest Winners</a><span class="crp_excerpt"> 
I’m a little late in getting this post out due to getting a bit slammed last week with work, book ...</span><br><a href="http://computersplace.net/articles-review/november-2010-sharepoint-connections-decks-code.html" rel="bookmark" class="crp_title">November 2010 SharePoint Connections Decks and Code</a><span class="crp_excerpt"> 
The past few weeks have been very busy for me as I’ve just finished presenting at two different conferences, and ...</span><br><a href="http://computersplace.net/articles-review/sptechcon-decks.html" rel="bookmark" class="crp_title">SPTechCon Decks</a><span class="crp_excerpt"> 
I just wrapped up a couple of quick days at SPTechCon in Boston and had a great time! I don’t ...</span><br><a href="http://computersplace.net/articles-review/big.html" rel="bookmark" class="crp_title">Big Changes</a><span class="crp_excerpt"> 
Astute readers of my blog may have noticed that my blog header and byline have changed just a bit in ...</span><br><a href="http://computersplace.net/articles-review/listitemeditor-sharepoint-2010.html" rel="bookmark" class="crp_title">ListItemEditor for SharePoint 2010</a><span class="crp_excerpt"> The ListItemEditor tool is now available for SharePoint 2010 beta. I upgraded the tool’s solution with Visual Studio 2010 beta ...</span></div>]]></content:encoded>
			<wfw:commentRss>http://computersplace.net/articles-review/real-world-sharepoint-2010-released.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hide Columns in SharePoint New, Edit and Disp Forms</title>
		<link>http://computersplace.net/articles-review/hide-columns-sharepoint-edit-disp-forms.html</link>
		<comments>http://computersplace.net/articles-review/hide-columns-sharepoint-edit-disp-forms.html#comments</comments>
		<pubDate>Wed, 10 Nov 2010 20:02:53 +0000</pubDate>
		<dc:creator>freeyrmind</dc:creator>
				<category><![CDATA[Articles Review]]></category>
		<category><![CDATA[columns]]></category>
		<category><![CDATA[Disp]]></category>
		<category><![CDATA[edit]]></category>
		<category><![CDATA[forms]]></category>
		<category><![CDATA[hide]]></category>
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://computersplace.net/articles-review/hide-columns-sharepoint-edit-disp-forms.html</guid>
		<description><![CDATA[Hide Columns in SharePoint New, Edit and Disp Forms There are several ways you can achieve this.. choose the best that fits your need&#8230; 1. PowerShell 2. SharePoint Designer 3. ContentTypes 4. Programmatically 5. jQuery Ref: http://blog.qumsieh.ca/2010/02/16/hide-columns-in-sharepoint-new-edit-and-disp-forms/ Check it out:SharePoint 2010 Related Posts:Capacity Planning for SharePoint 2010 Only references 1. What’s New in SharePoint 2010 [...]]]></description>
			<content:encoded><![CDATA[<h3>Hide Columns in SharePoint New, Edit and Disp Forms </h3>
<p>
There are several ways you can achieve this.. choose the best that fits your need&#8230;</p>
<p>1. PowerShell<br />
2. SharePoint Designer<br />
3. ContentTypes<br />
4. Programmatically<br />
5. jQuery</p>
<p>
Ref:<br />
http://blog.qumsieh.ca/2010/02/16/hide-columns-in-sharepoint-new-edit-and-disp-forms/
<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5285230663251728127-5628005900649806628?l=howtosharepoint.blogspot.com' alt='' /></div>
<p><small>Check it out:<a rel="nofollow" href="http://howtosharepoint.blogspot.com/2010/11/hide-columns-in-sharepoint-new-edit-and.html">SharePoint 2010</a></small> </p>
<div>    <h3>Related Posts:</h3><br><a href="http://computersplace.net/articles-review/capacity-planning-sharepoint-2010.html" rel="bookmark" class="crp_title">Capacity Planning for SharePoint 2010</a><span class="crp_excerpt"> Only references

1. What’s New in SharePoint 2010 Capacity Planning ( Joel Oleson )
Check it out:SharePoint 2010  </span><br><a href="http://computersplace.net/articles-review/columns-display-search-results.html" rel="bookmark" class="crp_title">Get all columns used to display search results</a><span class="crp_excerpt"> &lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"&gt;
&lt;xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/&gt;
&lt;xsl:template match="/"&gt;
&lt;textarea rows="20" cols="100"&gt;
 &lt;xsl:copy-of select="*"/&gt;
&lt;/textarea&gt;
&lt;/xsl:template&gt;
&lt;/xsl:stylesheet&gt;

Check it out:SharePoint 2010  </span><br><a href="http://computersplace.net/articles-review/css-tips.html" rel="bookmark" class="crp_title">CSS Tips</a><span class="crp_excerpt"> SharePoint 2010 CSS Tips Compiled from various SharePoint experts like Randy Drisgill, Heather Solomon, etc.
Add this style statement to your ...</span><br><a href="http://computersplace.net/articles-review/listitemeditor-sharepoint-2010.html" rel="bookmark" class="crp_title">ListItemEditor for SharePoint 2010</a><span class="crp_excerpt"> The ListItemEditor tool is now available for SharePoint 2010 beta. I upgraded the tool’s solution with Visual Studio 2010 beta ...</span><br><a href="http://computersplace.net/articles-review/sharepoint-2010-webpart-deployment-structure.html" rel="bookmark" class="crp_title">Sharepoint 2010 &#8211; WebPart deployment structure</a><span class="crp_excerpt"> This post is to put together the various files that is generated in Visual Studio 2010 like the manifest.xml, feature.xml, ...</span></div>]]></content:encoded>
			<wfw:commentRss>http://computersplace.net/articles-review/hide-columns-sharepoint-edit-disp-forms.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>November 2010 SharePoint Connections Decks and Code</title>
		<link>http://computersplace.net/articles-review/november-2010-sharepoint-connections-decks-code.html</link>
		<comments>http://computersplace.net/articles-review/november-2010-sharepoint-connections-decks-code.html#comments</comments>
		<pubDate>Tue, 09 Nov 2010 04:03:15 +0000</pubDate>
		<dc:creator>m0sRucC</dc:creator>
				<category><![CDATA[Articles Review]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[Connections]]></category>
		<category><![CDATA[Decks]]></category>
		<category><![CDATA[November]]></category>
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://computersplace.net/articles-review/november-2010-sharepoint-connections-decks-code.html</guid>
		<description><![CDATA[The past few weeks have been very busy for me as I’ve just finished presenting at two different conferences, and as I don’t typically present at conferences this was kind of a big deal for me. You can get my slides for SPTechCon, the conference I spoke at in late October from my earlier post, [...]]]></description>
			<content:encoded><![CDATA[<div>
<div class="post-body entry-content" readability="33">
</p>
<p>The past few weeks have been very busy for me as I’ve just finished presenting at two different conferences, and as I don’t typically present at conferences this was kind of a big deal for me. You can get my slides for SPTechCon, the conference I spoke at in late October from <a href="http://stsadm.blogspot.com/2010/10/sptechcon-decks.html" target="_blank">my earlier post</a>, and if you’re looking for the slides and code from SharePoint Connections, which I just returned from you can find them below. I know I promised several folks that I’d have these available Friday but I decided to take some long overdue family time instead.</p>
<p>November 2010 SharePoint Connections Slide Decks:</p>
<ul>
<li><a title="HDEV16_SharePoint2010PowerShellForDevelopers.pdf" onclick="javascript:urchinTracker('/Presentations/SPConnections/HDEV16_SharePoint2010PowerShellForDevelopers.pdf');" href="http://www.thelapointes.com/blog/presentations/spConnections/HDEV16_SharePoint2010PowerShellForDevelopers.pdf" target="_blank">HDEV16 &#8211; SharePoint 2010 PowerShell for Developers</a> </li>
<li><a title="HDEV17_LeveragingTheSharePoint2010UserExperienceEnhancements.pdf" onclick="javascript:urchinTracker('/Presentations/SPConnections/HDEV17_LeveragingTheSharePoint2010UserExperienceEnhancements.pdf');" href="http://www.thelapointes.com/blog/presentations/spConnections/HDEV17_LeveragingTheSharePoint2010UserExperienceEnhancements.pdf" target="_blank">HDEV17 &#8211; Leveraging the SharePoint 2010 User Experience Enhancements</a> </li>
<li><a title="HDEV18_ExtendingTheSocialExperienceUsingTheSharePoint2010.pdf" onclick="javascript:urchinTracker('/Presentations/SPConnections/HDEV18_ExtendingTheSocialExperienceUsingTheSharePoint2010.pdf');" href="http://www.thelapointes.com/blog/presentations/spConnections/HDEV18_ExtendingTheSocialExperienceUsingTheSharePoint2010.pdf" target="_blank">HDEV18 &#8211; Extending the Social Experience Using the SharePoint 2010 Social Networking API</a> </li>
</ul>
<p>November 2010 SharePoint Connections Demo Code:</p>
<ul>
<li><a title="HDEV16_SharePoint2010PowerShellForDevelopers_Code.zip" onclick="javascript:urchinTracker('/Presentations/SPConnections/HDEV16_SharePoint2010PowerShellForDevelopers_Code.zip');" href="http://www.thelapointes.com/blog/presentations/spConnections/HDEV16_SharePoint2010PowerShellForDevelopers_Code.zip" target="_blank">HDEV16 &#8211; SharePoint 2010 PowerShell for Developers</a> </li>
<li><a title="HDEV17_LeveragingTheSharePoint2010UserExperienceEnhancements_Code.zip" onclick="javascript:urchinTracker('/Presentations/SPConnections/HDEV17_LeveragingTheSharePoint2010UserExperienceEnhancements_Code.zip');" href="http://www.thelapointes.com/blog/presentations/spConnections/HDEV17_LeveragingTheSharePoint2010UserExperienceEnhancements_Code.zip" target="_blank">HDEV17 &#8211; Leveraging the SharePoint 2010 User Experience Enhancements</a> </li>
<li><a title="HDEV18_ExtendingTheSocialExperienceUsingTheSharePoint2010_Code.zip" onclick="javascript:urchinTracker('/Presentations/SPConnections/HDEV18_ExtendingTheSocialExperienceUsingTheSharePoint2010_Code.zip');" href="http://www.thelapointes.com/blog/presentations/spConnections/HDEV18_ExtendingTheSocialExperienceUsingTheSharePoint2010_Code.zip" target="_blank">HDEV18 &#8211; Extending the Social Experience Using the SharePoint 2010 Social Networking API</a> </li>
</ul>
<p>Now that I’m done with conferences for the year I guess it’s time to get back to writing my book <img src='http://computersplace.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>-Gary</p>
</div>
</div>
<p><small>Check it out:<a rel="nofollow" href="http://feedproxy.google.com/~r/StsadmCustomExtensions/~3/aPSDlpwj2W8/november-2010-sharepoint-connections.html">SharePoint Automation</a></small> </p>
<div>    <h3>Related Posts:</h3><br><a href="http://computersplace.net/articles-review/sptechcon-decks.html" rel="bookmark" class="crp_title">SPTechCon Decks</a><span class="crp_excerpt"> 
I just wrapped up a couple of quick days at SPTechCon in Boston and had a great time! I don’t ...</span><br><a href="http://computersplace.net/articles-review/listitemeditor-sharepoint-2010.html" rel="bookmark" class="crp_title">ListItemEditor for SharePoint 2010</a><span class="crp_excerpt"> The ListItemEditor tool is now available for SharePoint 2010 beta. I upgraded the tool’s solution with Visual Studio 2010 beta ...</span><br><a href="http://computersplace.net/articles-review/real-world-sharepoint-2010-released.html" rel="bookmark" class="crp_title">Real World SharePoint 2010 Released!</a><span class="crp_excerpt"> 
  Today I got the great news that the Real World SharePoint 2010 book has finally been released! This ...</span><br><a href="http://computersplace.net/articles-review/msdn-visual-studio-ultimate-contest-winners.html" rel="bookmark" class="crp_title">MSDN Visual Studio Ultimate Contest Winners</a><span class="crp_excerpt"> 
I’m a little late in getting this post out due to getting a bit slammed last week with work, book ...</span><br><a href="http://computersplace.net/articles-review/sharepoint-2010-version-webpart-manager-tool.html" rel="bookmark" class="crp_title">SharePoint 2010 version of the WebPart Manager tool</a><span class="crp_excerpt"> I created a SharePoint 2010 version of the WinForm WebPart Manager tool that I demonstrated in my previous posting. Sources ...</span></div>]]></content:encoded>
			<wfw:commentRss>http://computersplace.net/articles-review/november-2010-sharepoint-connections-decks-code.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Service Accounts and Managed Service Accounts in SharePoint 2010</title>
		<link>http://computersplace.net/articles-review/service-accounts-managed-service-accounts-sharepoint-2010.html</link>
		<comments>http://computersplace.net/articles-review/service-accounts-managed-service-accounts-sharepoint-2010.html#comments</comments>
		<pubDate>Tue, 05 Oct 2010 19:03:33 +0000</pubDate>
		<dc:creator>Albie</dc:creator>
				<category><![CDATA[Articles Review]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[accounts]]></category>
		<category><![CDATA[Managed]]></category>
		<category><![CDATA[service]]></category>
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://computersplace.net/articles-review/service-accounts-managed-service-accounts-sharepoint-2010.html</guid>
		<description><![CDATA[With SharePoint 2010 we now have the ability to allow SharePoint to manage various service accounts thus foregoing the need to have IT administrators manually manage password changes. This new feature is a great benefit to SharePoint administrators and security conscious admins in general as it allows us to easily enforce our corporate security policies [...]]]></description>
			<content:encoded><![CDATA[<div>
<div class="post-body entry-content" readability="82">
</p>
<p>With SharePoint 2010 we now have the ability to allow SharePoint to manage various service accounts thus foregoing the need to have IT administrators manually manage password changes. This new feature is a great benefit to SharePoint administrators and security conscious admins in general as it allows us to easily enforce our corporate security policies by changing these passwords on a schedule, and the administrators don’t even know what the password is so the likelihood of a compromise due to a disgruntled admin, though not eliminated, is somewhat reduced. </p>
<p>But the introduction of this new feature isn’t all good. The complication comes from the fact that SharePoint 2010 doesn’t implement this capability consistently. So an account that is configured as a Managed Service Account and set to have its password changed automatically could also be used in certain places that don’t understand the managed account concept. When the managed account password is changed the feature that uses that account and only knows the username and password (so it does not use the managed account details) will effectively be broken. As an example, if you configure the Enterprise Search Service to use a managed account whose password is scheduled to be changed every 30 days and you use that same account for the content crawl account then when that password is changed the content crawl will cease to function as it will be unable to authenticate the account. It’s important to note, however, that this issue only comes to light when you configure the managed account to have it’s password changed automatically.</p>
<p>So what things can be managed accounts and what cannot? The following lists what I’ve come across so far (if I’ve missed anything please leave a comment so I can update these lists):</p>
<p><strong>Managed Service Accounts:</strong></p>
<ul>
<li>All Service Application Pool Accounts
<ul>
<li>Access Service Application </li>
<li>BCS Service Application </li>
<li>Excel Services Service Application </li>
<li>Metadata Service Application </li>
<li>PerformancePoint Service Application </li>
<li>Enterprise Search Service Application </li>
<li>Secure Store Service Application </li>
<li>Subscription Settings Service Application </li>
<li>User Profile Service Application </li>
<li>Visio Services Service Application </li>
<li>Web Analytics Service Application </li>
<li>Word Automation Service Application </li>
<li>Word Viewing Service Application </li>
<li>PowerPoint Viewing Service Application </li>
<li>Security Token Service Application </li>
</ul>
</li>
<li>All Content Web Application Pools </li>
<li>Service Instances
<ul>
<li>Claims to Windows Token Service </li>
<li>Document Conversion Launcher Service </li>
<li>Document Conversion Load Balancer Service </li>
<li>Microsoft SharePoint Foundation Sandboxed Code Service </li>
<li>SharePoint Foundation Help Search </li>
<li>SharePoint Server Search (Enterprise Search) </li>
<li>Web Analytics Data Processing Service </li>
</ul>
</li>
</ul>
<p><strong>Service Accounts (should not be managed):</strong></p>
<ul>
<li>Search Crawl Accounts
<ul>
<li>For Foundation Search and Server (Enterprise) Search </li>
</ul>
</li>
<li>Unattended User Accounts
<ul>
<li>Excel Services Service Application </li>
<li>Visio Services Service Application </li>
<li>PerformancePoint Service Application </li>
<li>(in general, any Secure Store application credentials) </li>
</ul>
</li>
<li>Object Cache Portal Accounts
<ul>
<li>Super User Account </li>
<li>Super Reader Account </li>
</ul>
</li>
<li>User Profile
<ul>
<li>Synchronization Service Account (listed incorrectly on the FarmCredentialManagement.aspx page) </li>
<li>Synchronization Connection Account </li>
</ul>
</li>
<li>Server Search Custom Crawl Rule Accounts
<ul>
<li>Any crawl rule that specifies an account other than the default crawl account </li>
</ul>
</li>
</ul>
<p>Again, these are just the accounts that I’ve personally bumped up against so it may not be a complete listing.</p>
<h2>Viewing and Creating Managed Accounts</h2>
<p>To see the current list of Managed Service Accounts using Central Admin go to <strong>Security –&gt; Configure managed accounts</strong>:</p>
<p><a href="http://lh5.ggpht.com/_j7MF_mMbiII/TKpF9_D7rgI/AAAAAAAAAMI/8iLJK39FytU/s1600-h/image%5B11%5D.png"><img title="Configure Managed Accounts" border="0" alt="Configure Managed Accounts" src="http://lh3.ggpht.com/_j7MF_mMbiII/TKpF-qYOdkI/AAAAAAAAAMM/8tTY6IZgEyA/image_thumb%5B5%5D.png?imgmax=800" width="644" height="424" /></a></p>
<p>You can edit the settings for any managed account by simply clicking the edit icon associated with the account you wish to modify. Once on the <strong>Manage Account</strong> screen you can configure the automatic password change settings:</p>
<p><a href="http://lh5.ggpht.com/_j7MF_mMbiII/TKpTdGSK55I/AAAAAAAAANc/9GtgvAhKMqU/s1600-h/image%5B2%5D.png"><img title="Configure Managed Account" border="0" alt="Configure Managed Account" src="http://lh3.ggpht.com/_j7MF_mMbiII/TKpTd3MBhFI/AAAAAAAAANg/BnTU3bIKi8Q/image_thumb.png?imgmax=800" width="600" height="484" /></a></p>
<p>To perform the same tasks using Windows PowerShell we can use the <em>Get-SPManagedAccount</em> cmdlet to retrieve the list of managed accounts:</p>
<p><img title="Get-SPManagedAccount" border="0" alt="Get-SPManagedAccount" src="http://lh4.ggpht.com/_j7MF_mMbiII/TKpF_ysWqnI/AAAAAAAAAMY/QFFejcJQbOM/image%5B17%5D.png?imgmax=800" width="672" height="359" /></p>
<p>Or we can retrieve a specific account using the <em>-Identity </em>parameter or by passing in a Web Application or Service:</p>
<p><img title="Get-SPManagedAccount -Identity &quot;localdev\spfarm&quot;" border="0" alt="Get-SPManagedAccount -Identity &quot;localdev\spfarm&quot;" src="http://lh5.ggpht.com/_j7MF_mMbiII/TKpGARL9CeI/AAAAAAAAAMc/R8RM2SCjkMc/image%5B22%5D.png?imgmax=800" width="672" height="263" /></p>
<p>clTo change the settings for a Managed Account we can use the <em>Set-SPManagedAccount</em> cmdlet:</p>
<p><a href="http://lh3.ggpht.com/_j7MF_mMbiII/TKpTeEgc9sI/AAAAAAAAANk/k1xotDR_2RA/s1600-h/image%5B6%5D.png"><img title="Set-SPManagedAccount" border="0" alt="Set-SPManagedAccount" src="http://lh6.ggpht.com/_j7MF_mMbiII/TKpTesmlDsI/AAAAAAAAANo/j5hHtMHSUlc/image_thumb%5B2%5D.png?imgmax=800" width="672" height="239" /></a></p>
<p>To create a new Managed Account we use the <em>New-SPManagedAccount</em> cmdlet. In the example below I’m manually creating a <em>PSCredential</em> object so that I can specify my password (pa$$w0rd) in script (very useful for building out dev or test environments – otherwise you should use <em>Get-Credential</em> to prompt for the password so that it is not hard coded anywhere):</p>
<p><img title="New-SPManagedAccount" border="0" alt="New-SPManagedAccount" src="http://lh4.ggpht.com/_j7MF_mMbiII/TKpGA4kCk9I/AAAAAAAAAMk/Ef2Uxf2b6lA/image%5B32%5D.png?imgmax=800" width="672" height="215" /></p>
<h2>Applying Managed Accounts</h2>
<p>Once you have your Managed Accounts created you can begin to use them for things such as Service Instances and Service and Content Application Pools. To associate a managed account with a specific Service Instance using Central Admin you can go to <strong>Security –&gt; Configure service accounts</strong>. On the <strong>Service Accounts</strong> page you can set the account used for the Farm Account, Service Instances, Web Content Application Pools, and Service Application Pools. The Service Instances are highlighted in the following image:</p>
<p><a href="http://lh4.ggpht.com/_j7MF_mMbiII/TKpGBUnkA4I/AAAAAAAAAMo/JaEYRasSS-g/s1600-h/image%5B35%5D.png"><img title="Configure Service Accounts" border="0" alt="Configure Service Accounts" src="http://lh3.ggpht.com/_j7MF_mMbiII/TKpGBxyV0iI/AAAAAAAAAMs/VxGzNXbbya8/image_thumb%5B15%5D.png?imgmax=800" width="644" height="324" /></a></p>
<h3></h3>
<h3>Service Instances</h3>
<p>To set the account associated with a particular Service Instance using Windows PowerShell we simply get the <em>ProcessIdentity</em> property of the Service Instance and set its <em>Username</em> property. Once set we call <em>Update()</em> to update the Configuration Database and then <em>Deploy()</em> to push the change out to all Service Instances. To make this easier I put this code in a function that I can call by passing in the Service Instance and credentials to use:</p>
<p><span>function</span><span> </span><span>Set-ServiceIdentity</span><span>(</span><span>$svc</span><span>, </span><span>$username</span><span>)      <br />{       <br />   </span><span>$pi</span><span> </span><span>=</span><span> </span><span>$svc</span><span>.Service.ProcessIdentity      <br />   </span><span>if</span><span> (</span><span>$pi</span><span>.Username</span><span>-ne</span><span> </span><span>$username</span><span>) {      <br />       </span><span>$pi</span><span>.Username</span><span>=</span><span> </span><span>$username</span><span>      <br />       </span><span>$pi</span><span>.Update()      <br />       </span><span>$pi</span><span>.Deploy()      <br />    }       <br />}</span></p>
<p><span>Here’s an example of how you can call this function:</span></p>
<p><img title="Set-ServiceIdentity" border="0" alt="Set-ServiceIdentity" src="http://lh5.ggpht.com/_j7MF_mMbiII/TKpGCC3CZ7I/AAAAAAAAAMw/SUnsZOVH3Us/image%5B40%5D.png?imgmax=800" width="672" height="503" /></p>
<h3>Service Application Pools</h3>
<p>To create a new Service Application pool we use the <em>New-SPServiceApplicationPool</em> cmdlet and pass in the name of the Application Pool to create and the Managed Account to assign as the Application Pool identity:</p>
<p><img title="New-SPServiceApplicationPool" border="0" alt="New-SPServiceApplicationPool" src="http://lh3.ggpht.com/_j7MF_mMbiII/TKpGCm1-t-I/AAAAAAAAAM0/vtytWMA6qVo/image%5B45%5D.png?imgmax=800" width="672" height="191" /></p>
<p>It’s extremely important to note that the application pool that you create using the <em>New-ServiceApplicationPool</em> cmdlet cannot be used for your content Web Applications. Unfortunately there is no out-of-the-box equivalent for creating Application Pools for Web Applications.</p>
<h3>Web Application Pools</h3>
<p>As previously noted there is no cmdlet for creating Application Pools for Web Applications. Instead what you need to do is first check if the Application Pool you need already exists by using the <em>SPWebService</em>’s <em>ContentService</em> static property. If it exists then pass in just the name of the Application Pool to the <em>New-SPWebApplication</em> cmdlet, otherwise pass in the name and the Managed Account to use as the Application Pool’s identity:</p>
<p><img title="New-SPWebApplication" border="0" alt="New-SPWebApplication" src="http://lh6.ggpht.com/_j7MF_mMbiII/TKpGCwk8DYI/AAAAAAAAAM4/PrYY5L9wAsA/image%5B50%5D.png?imgmax=800" width="672" height="479" /></p>
<h2>Applying Service Accounts</h2>
<p>When it comes to applying non-managed accounts to the various features things get a little more complicated. Let’s start with the Crawl Accounts.</p>
<h3>SharePoint Foundation Search Service</h3>
<p>For SharePoint Foundation Search we can set the crawl account (or content access account) using Central Admin by navigating to the <strong>Services on Server</strong> page and clicking the <strong>SharePoint Foundation [Help] Search</strong> link which takes you to the settings page where we can set the crawl account:</p>
<p><a href="http://lh6.ggpht.com/_j7MF_mMbiII/TKpGDShuPUI/AAAAAAAAAM8/1FxBd2Ed-iQ/s1600-h/SNAGHTMLb3ff48%5B4%5D.png"><img title="SharePoint Foundation Search Settings" border="0" alt="SharePoint Foundation Search Settings" src="http://lh3.ggpht.com/_j7MF_mMbiII/TKpGEJqUL0I/AAAAAAAAANA/5UVgLV2ss8Q/SNAGHTMLb3ff48_thumb%5B1%5D.png?imgmax=800" width="640" height="294" /></a></p>
<p>To set the same information using Windows PowerShell we actually have to go old-school and use STSADM as there’s no PowerShell equivalent cmdlet. Here’s a snippet of PowerShell code that I use to accomplish this:</p>
<pre><span>function</span><span> </span><span>ConvertTo-UnsecureString</span><span>([</span><span>System.Security.SecureString</span><span>]</span><span>$string</span><span>)
{
    </span><span>$unmanagedString</span><span> </span><span>=</span><span> [</span><span>System.Runtime.InteropServices.Marshal</span><span>]::</span><span>SecureStringToGlobalAllocUnicode</span><span>(</span><span>$string</span><span>)
    </span><span>$unsecureString</span><span> </span><span>=</span><span> [</span><span>System.Runtime.InteropServices.Marshal</span><span>]::</span><span>PtrToStringUni</span><span>(</span><span>$unmanagedString</span><span>)
    [</span><span>System.Runtime.InteropServices.Marshal</span><span>]::</span><span>ZeroFreeGlobalAllocUnicode</span><span>(</span><span>$unmanagedString</span><span>)

    </span><span>return</span><span> </span><span>$unsecureString</span><span>
}

</span><span>$searchSvcAccount</span><span> </span><span>=</span><span> </span><span>Get-Credential</span><span> </span><span>"</span><span>localdev\spsearchsvc</span><span>"</span><span>
</span><span>$crawlAccount</span><span> </span><span>=</span><span> </span><span>Get-Credential</span><span> </span><span>"</span><span>localdev\spcrawl</span><span>"</span><span>

</span><span>$stsadmArgs</span><span> </span><span>=</span><span> </span><span>"</span><span>-o spsearch -action start </span><span>"</span><span> </span><span>+</span><span> </span><span>`</span><span>
    </span><span>"</span><span>-farmserviceaccount `"$($searchSvcAccount.Username)`" </span><span>"</span><span> </span><span>+</span><span> </span><span>`</span><span>
    </span><span>"</span><span>-farmservicepassword `"$(ConvertTo-UnsecureString $searchSvcAccount.Password)`" </span><span>"</span><span> </span><span>+</span><span> </span><span>`</span><span>
    </span><span>"</span><span>-farmcontentaccessaccount `"$($crawlAccount.Username)`" </span><span>"</span><span> </span><span>+</span><span> </span><span>`</span><span>
    </span><span>"</span><span>-farmcontentaccesspassword `"$(ConvertTo-UnsecureString $crawlAccount.Password)`" </span><span>"</span><span> </span><span>+</span><span> </span><span>`</span><span>
    </span><span>"</span><span>-databaseserver `"spsql1`" </span><span>"</span><span> </span><span>+</span><span>  </span><span>`</span><span>
    </span><span>"</span><span>-databasename `"SharePoint_FoundationSearch`"</span><span>"</span><span>

</span><span>Write-Host</span><span> </span><span>"</span><span>Running: stsadm $stsadmArgs</span><span>"</span><span>
</span><span>$stsadmoutput</span><span> </span><span>=</span><span> cmd /c </span><span>"</span><span>stsadm $stsadmArgs</span><span>"</span><span> </span><span>2</span><span>&gt;&amp;</span><span>1</span><span>
</span><span>if</span><span> (</span><span>$lastexitcode</span><span> </span><span>-ne</span><span> </span><span>0</span><span>) {
    </span><span>throw</span><span> </span><span>"</span><span>Unable to start Foundation Search Service.`n$stsadmoutput</span><span>"</span><span>
}</span></pre>
<p>Note that I’m using a helper function to convert the secure password to a static string which I can then pass to the STSADM spsearch command.</p>
<h3>SharePoint Server Search Service</h3>
<p>To manage the crawl account for the SharePoint Server Search Service (also known as the Enterprise Search Service) using Central Admin we simply need to navigate to the <strong>Search Administration</strong> page of the Service Application that we wish to modify and click the link for the <strong>Default content access account</strong>. This will bring up the following screen:</p>
<p><a href="http://lh6.ggpht.com/_j7MF_mMbiII/TKpGEmMVxvI/AAAAAAAAANE/OfgoPG3QOYU/s1600-h/image%5B53%5D.png"><img title="Default content access account" border="0" alt="Default content access account" src="http://lh3.ggpht.com/_j7MF_mMbiII/TKpGFNH4eJI/AAAAAAAAANI/0OGjTLX_0Kc/image_thumb%5B22%5D.png?imgmax=800" width="644" height="324" /></a></p>
<p>Note that by default this account will be set to be the same account you used for the Search Service Instance which is a Managed Account. If you do not change this account and you have configured SharePoint to manage the account password then your crawls will fail when the password changes. To make this change using Windows PowerShell we use the <em>Set-SPEnterpriseSearchServiceApplication</em> cmdlet:</p>
<p><span>$crawlAccount</span><span> </span><span>=</span><span> </span><span>Get-Credential</span><span> </span><span>&#8220;</span><span>localdev\spcrawl</span><span>&#8220;</span><span><br />
    <br /></span><span>$searchApp</span><span> | </span><span>Set-SPEnterpriseSearchServiceApplication</span><span> </span><span>-DefaultContentAccessAccountPassword</span><span> </span><span>$crawlAccount</span><span>.Password </span><span>-DefaultContentAccessAccountName</span><span> </span><span>$crawlAccount</span><span>.Username</span></p>
<p><span>Remember not to do this step until after you have provisioned the Administration Component.</span></p>
<h3><span>Object Cache Accounts</span></h3>
<p><span>Many administrators when they first configure SharePoint 2010 and hit a Web Application for the first time are likely to see a recurring event in the event log stating that the object cache has not been configured correctly. The specific error is as follows:</span></p>
<blockquote readability="2">
<p><em>Object Cache: The super user account utilized by the cache is not configured. This can increase the number of cache misses, which causes the page requests to consume unneccesary system resources.<br />
      <br /></em></p>
</blockquote>
<p><span>This is essentially telling you that you have missed a manual configuration step in which you need to run some PowerShell to set two accounts for SharePoint to use to access the object cache:</span></p>
<pre><span>function</span><span> </span><span>Set-WebAppUserPolicy</span><span>(</span><span>$webApp</span><span>, </span><span>$userName</span><span>, </span><span>$userDisplayName</span><span>, </span><span>$perm</span><span>) {
    [</span><span>Microsoft.SharePoint.Administration.SPPolicyCollection</span><span>]</span><span>$policies</span><span> </span><span>=</span><span> </span><span>$webApp</span><span>.Policies
    [</span><span>Microsoft.SharePoint.Administration.SPPolicy</span><span>]</span><span>$policy</span><span> </span><span>=</span><span> </span><span>$policies</span><span>.Add(</span><span>$userName</span><span>, </span><span>$userDisplayName</span><span>)
    [</span><span>Microsoft.SharePoint.Administration.SPPolicyRole</span><span>]</span><span>$policyRole</span><span> </span><span>=</span><span> </span><span>$webApp</span><span>.PolicyRoles | </span><span>where</span><span> {</span><span>$_</span><span>.Name </span><span>-eq</span><span> </span><span>$perm</span><span>}
    </span><span>if</span><span> (</span><span>$policyRole</span><span> </span><span>-ne</span><span> </span><span>$null</span><span>) {
        </span><span>$policy</span><span>.PolicyRoleBindings.Add(</span><span>$policyRole</span><span>)
    }
    </span><span>$webApp</span><span>.Update()
}
</span><span>$webApp</span><span> </span><span>=</span><span> </span><span>Get-SPWebApplication</span><span> </span><span>"</span><span>http://content</span><span>"</span><span>
</span><span>$portalSuperUserAccount</span><span> </span><span>=</span><span> </span><span>Get-Credential</span><span> </span><span>"</span><span>localdev\SPSuperUser</span><span>"</span><span>
</span><span>$webApp</span><span>.Properties[</span><span>"</span><span>portalsuperuseraccount</span><span>"</span><span>] </span><span>=</span><span> </span><span>$portalSuperUserAccount</span><span>.UserName
</span><span>Set-WebAppUserPolicy</span><span> </span><span>$webApp</span><span> </span><span>$portalSuperUserAccount</span><span>.UserName </span><span>$portalSuperUserAccount</span><span>.UserName </span><span>"</span><span>Full Control</span><span>"</span><span>

</span><span>$portalSuperReaderAccount</span><span> </span><span>=</span><span> </span><span>Get-Credential</span><span> </span><span>"</span><span>localdev\SPSuperReader</span><span>"</span><span>
</span><span>$webApp</span><span>.Properties[</span><span>"</span><span>portalsuperreaderaccount</span><span>"</span><span>] </span><span>=</span><span> </span><span>$portalSuperReaderAccount</span><span>.UserName
</span><span>Set-WebAppUserPolicy</span><span> </span><span>$webApp</span><span> </span><span>$portalSuperReaderAccount</span><span>.UserName </span><span>$portalSuperReaderAccount</span><span>.UserName </span><span>"</span><span>Full Read</span><span>"</span><span>
</span></pre>
<p><span>Make sure that you do not use the same account for both the super user and super reader. (And of course make sure you change the URL and account names to match your environment). For more information about these settings see the following TechNet article: <a title="http://technet.microsoft.com/en-us/library/ff758656.aspx" href="http://technet.microsoft.com/en-us/library/ff758656.aspx">http://technet.microsoft.com/en-us/library/ff758656.aspx</a></span></p>
<h3><span>Unattended Accounts</span></h3>
<p><span>There are some services, specifically the Visio Services Service Application, the Excel Services Service Application, and the PerformancePoint Service Application, that allow us to set an account that we can use for access data sources behind the scenes. These are called unattended access accounts. To set these accounts we must create a new target application in the Secure Store Service Application and associate the target application’s ID with the appropriate Service Application. The following PowerShell code demonstrates how to do this for the Visio Services Service Application (the Excel Services Service Application is virtually identical and just uses cmdlets specific to Excel rather than Visio; PerformancePoint is a lot simpler):</span></p>
<pre><span>#</span><span>Get the Visio Service App</span><span>
</span><span>$svcApp</span><span> </span><span>=</span><span> </span><span>Get-SPServiceApplication</span><span> | </span><span>where</span><span> {</span><span>$_</span><span>.TypeName </span><span>-like</span><span> </span><span>"</span><span>*Visio*</span><span>"</span><span>}
</span><span>#</span><span>Get the existing unattended account app ID</span><span>
</span><span>$unattendedServiceAccountApplicationID</span><span> </span><span>=</span><span> (</span><span>$svcApp</span><span> | </span><span>Get-SPVisioExternalData</span><span>).UnattendedServiceAccountApplicationID
</span><span>#</span><span>If the account isn't already set then set it</span><span>
</span><span>if</span><span> ([</span><span>string</span><span>]::</span><span>IsNullOrEmpty</span><span>(</span><span>$unattendedServiceAccountApplicationID</span><span>)) {
    </span><span>#</span><span>Get our credentials</span><span>
</span><span>    </span><span>$unattendedAccount</span><span> </span><span>=</span><span> </span><span>Get-Credential</span><span> </span><span>"</span><span>localdev\SPUnattended</span><span>"</span><span>

    </span><span>#</span><span>Set the Target App Name and create the Target App</span><span>
</span><span>    </span><span>$name</span><span> </span><span>=</span><span> </span><span>"</span><span>$($svcApp.ID)-VisioUnattendedAccount</span><span>"</span><span>
    </span><span>Write-Host</span><span> </span><span>"</span><span>Creating Secure Store Target Application $name...</span><span>"</span><span>
    </span><span>$secureStoreTargetApp</span><span> </span><span>=</span><span> </span><span>New-SPSecureStoreTargetApplication</span><span> </span><span>-Name</span><span> </span><span>$name</span><span> </span><span>`</span><span>
        </span><span>-FriendlyName</span><span> </span><span>"</span><span>Visio Services Unattended Account Target App</span><span>"</span><span> </span><span>`</span><span>
        </span><span>-ApplicationType</span><span> </span><span>Group</span><span> </span><span>`</span><span>
        </span><span>-TimeoutInMinutes</span><span> </span><span>3</span><span>

    </span><span>#</span><span>Set the group claim and admin principals</span><span>
</span><span>    </span><span>$groupClaim</span><span> </span><span>=</span><span> </span><span>New-SPClaimsPrincipal</span><span> </span><span>-Identity</span><span> </span><span>$svcApp</span><span>.ApplicationPool.ProcessAccount.Name </span><span>-IdentityType</span><span> </span><span>WindowsSamAccountName</span><span>
    </span><span>$adminPrincipal</span><span> </span><span>=</span><span> </span><span>New-SPClaimsPrincipal</span><span> </span><span>-Identity</span><span> </span><span>"</span><span>$($env:userdomain)$($env:username)</span><span>"</span><span> </span><span>-IdentityType</span><span> </span><span>WindowsSamAccountName</span><span>

    </span><span>#</span><span>Set the account fields</span><span>
</span><span>    </span><span>$usernameField</span><span> </span><span>=</span><span> </span><span>New-SPSecureStoreApplicationField</span><span> </span><span>-Name</span><span> </span><span>"</span><span>User Name</span><span>"</span><span> </span><span>-Type</span><span> </span><span>WindowsUserName</span><span> </span><span>-Masked</span><span>:</span><span>$false</span><span>
    </span><span>$passwordField</span><span> </span><span>=</span><span> </span><span>New-SPSecureStoreApplicationField</span><span> </span><span>-Name</span><span> </span><span>"</span><span>Password</span><span>"</span><span> </span><span>-Type</span><span> </span><span>WindowsPassword</span><span> </span><span>-Masked</span><span>:</span><span>$false</span><span>
    </span><span>$fields</span><span> </span><span>=</span><span> </span><span>$usernameField</span><span>, </span><span>$passwordField</span><span>

    </span><span>#</span><span>Set the field values</span><span>
</span><span>    </span><span>$secureUserName</span><span> </span><span>=</span><span> </span><span>ConvertTo-SecureString</span><span> </span><span>$unattendedAccount</span><span>.UserName </span><span>-AsPlainText</span><span> </span><span>-Force</span><span>
    </span><span>$securePassword</span><span> </span><span>=</span><span> </span><span>$unattendedAccount</span><span>.Password
    </span><span>$credentialValues</span><span> </span><span>=</span><span> </span><span>$secureUserName</span><span>, </span><span>$securePassword</span><span>

    </span><span>#</span><span>Get the service context</span><span>
</span><span>    </span><span>$subId</span><span> </span><span>=</span><span> [</span><span>Microsoft.SharePoint.SPSiteSubscriptionIdentifier</span><span>]::</span><span>Default</span><span>
    </span><span>$context</span><span> </span><span>=</span><span> [</span><span>Microsoft.SharePoint.SPServiceContext</span><span>]::</span><span>GetContext</span><span>(</span><span>$svcApp</span><span>.ServiceApplicationProxyGroup, </span><span>$subId</span><span>)

    </span><span>#</span><span>Check to see if the Secure Store App already exists</span><span>
</span><span>    </span><span>$secureStoreApp</span><span> </span><span>=</span><span> </span><span>Get-SPSecureStoreApplication</span><span> </span><span>-ServiceContext</span><span> </span><span>$context</span><span> </span><span>-Name</span><span> </span><span>$name</span><span> </span><span>-ErrorAction</span><span> </span><span>SilentlyContinue</span><span>
    </span><span>if</span><span> (</span><span>$secureStoreApp</span><span> </span><span>-eq</span><span> </span><span>$null</span><span>) {
        </span><span>#</span><span>Doesn't exist so create.</span><span>
</span><span>        </span><span>Write-Host</span><span> </span><span>"</span><span>Creating Secure Store Application...</span><span>"</span><span>
        </span><span>$secureStoreApp</span><span> </span><span>=</span><span> </span><span>New-SPSecureStoreApplication</span><span> </span><span>-ServiceContext</span><span> </span><span>$context</span><span> </span><span>`</span><span>
            </span><span>-TargetApplication</span><span> </span><span>$secureStoreTargetApp</span><span> </span><span>`</span><span>
            </span><span>-Administrator</span><span> </span><span>$adminPrincipal</span><span> </span><span>`</span><span>
            </span><span>-CredentialsOwnerGroup</span><span> </span><span>$groupClaim</span><span> </span><span>`</span><span>
            -Fields </span><span>$fields</span><span>
    }
    </span><span>#</span><span>Update the field values</span><span>
</span><span>    </span><span>Write-Host</span><span> </span><span>"</span><span>Updating Secure Store Group Credential Mapping...</span><span>"</span><span>
    </span><span>Update-SPSecureStoreGroupCredentialMapping</span><span> </span><span>-Identity</span><span> </span><span>$secureStoreApp</span><span> </span><span>-Values</span><span> </span><span>$credentialValues</span><span> 

    </span><span>#</span><span>Set the unattended service account application ID</span><span>
</span><span>    </span><span>$svcApp</span><span> | </span><span>Set-SPVisioExternalData</span><span> </span><span>-UnattendedServiceAccountApplicationID</span><span> </span><span>$name</span><span>
}</span></pre>
<p><span>When it comes to PerformancePoint we have a lot less work we need to do as the product team was nice enough to make it so that the<em> Set-SPPerformancePointSecureDataValues</em> does all the work of setting up the target application for us (note though that they did screw up how the Service Application is passed into the cmdlet requiring you to pass in the ID of the Service Application rather than the actual Service Application object):</span></p>
<pre><span>$unattendedAccount</span><span> </span><span>=</span><span> </span><span>Get-Credential</span><span> </span><span>"</span><span>localdev\SPUnattended</span><span>"</span><span>
</span><span>$secureValues</span><span> </span><span>=</span><span> </span><span>Get-SPPerformancePointSecureDataValues</span><span> </span><span>-ServiceApplication</span><span> </span><span>$svcApp</span><span>.Id
</span><span>if</span><span> (</span><span>$secureValues</span><span>.DataSourceUnattendedServiceAccount </span><span>-ne</span><span> </span><span>$unattendedServiceAccount</span><span>.UserName) {
    </span><span>Write-Host</span><span> </span><span>"</span><span>Setting unattended service account $($unattendedServiceAccount.UserName)...</span><span>"</span><span>
    </span><span>$svcApp</span><span>.Id | </span><span>Set-SPPerformancePointSecureDataValues</span><span> </span><span>-DataSourceUnattendedServiceAccount</span><span> </span><span>$unattendedServiceAccount</span><span>
}</span></pre>
<p><span></span></p>
<h3><span>User Profile Synchronization Service Identity</span></h3>
<p>One thing to watch out for is when setting the account for the User Profile Synchronization Service. This service wants you to use the Farm Account as the identity. This means that your Farm Admin account cannot have it’s password managed by SharePoint if you intend to use this service (or at least, it shouldn’t be unless you don’t mind manually fixing this service every time your password changes – good luck with that BTW). Your Farm Admin account will always be a Managed Account (you can’t change that) so be extra careful when changing this accounts password (either manually or automatically). To set this account using Central Admin you can click <strong>Start</strong> next to the <em>User Profile Synchronization Service</em> entry on the <strong>Services on Server</strong> page.</p>
<p><a href="http://lh5.ggpht.com/_j7MF_mMbiII/TKpNN7IHc5I/AAAAAAAAANQ/tz2TRR7Zm50/s1600-h/image%5B56%5D.png"><img title="User Profile Synchronization Service" border="0" alt="User Profile Synchronization Service" src="http://lh6.ggpht.com/_j7MF_mMbiII/TKpNOLzXUeI/AAAAAAAAANY/m8TlceSAArM/image_thumb%5B23%5D.png?imgmax=800" width="644" height="395" /></a></p>
<p>To accomplish the same thing using PowerShell we need to get an instance of the Synchronization Service and set a few properties and call the <em>SetSynchronizationMachine</em> method passing in the username and password of the Farm Admin account (note that it requires the password be passed in as a standard string and not a secure string so I use my previously defined <em>ConvertTo-UnsecureString</em> function):</p>
<pre><span>$syncMachine</span><span> </span><span>=</span><span> </span><span>Get-SPServer</span><span> </span><span>"</span><span>sp2010dev</span><span>"</span><span>
</span><span>$profApp</span><span> </span><span>=</span><span> </span><span>Get-SPServiceApplication</span><span> | </span><span>where</span><span> {</span><span>$_</span><span>.Name </span><span>-eq</span><span> </span><span>"</span><span>User Profile Service Application 1</span><span>"</span><span>}
</span><span>$account</span><span> </span><span>=</span><span> </span><span>Get-Credential <span>"</span><span>localdev\spfarm</span><span>"</span></span><span>
</span><span>if</span><span> (</span><span>$syncMachine</span><span>.Address </span><span>-eq</span><span> </span><span>$env:ComputerName</span><span>) {
    </span><span>$syncSvc</span><span> </span><span>=</span><span> </span><span>Get-SPServiceInstance</span><span> </span><span>-Server</span><span> </span><span>$env:ComputerName</span><span> | </span><span>where</span><span> {</span><span>$_</span><span>.TypeName </span><span>-eq</span><span> </span><span>"</span><span>User Profile Synchronization Service</span><span>"</span><span>}
    </span><span>$syncSvc</span><span>.Status </span><span>=</span><span> [</span><span>Microsoft.SharePoint.Administration.SPObjectStatus</span><span>]::</span><span>Provisioning</span><span>
    </span><span>$syncSvc</span><span>.IsProvisioned </span><span>=</span><span> </span><span>$false</span><span>
    </span><span>$syncSvc</span><span>.UserProfileApplicationGuid </span><span>=</span><span> </span><span>$profApp</span><span>.Id
    </span><span>$syncSvc</span><span>.Update()
    </span><span>$profApp</span><span>.SetSynchronizationMachine(</span><span>$syncMachine</span><span>.Address, </span><span>$syncSvc</span><span>.Id, </span><span>$account</span><span>.UserName, (ConvertTo-UnsecureString </span><span>$account</span><span>.Password))
}

</span><span>if</span><span> (</span><span>$syncSvc</span><span>.Status </span><span>-eq</span><span> </span><span>"</span><span>Disabled</span><span>"</span><span>) {
    </span><span>Write-Host</span><span> </span><span>"</span><span>Starting User Profile Synchronization Service...</span><span>"</span><span>
    </span><span>Start-SPServiceInstance</span><span> </span><span>$syncSvc</span><span>
}
</span><span>do</span><span> {</span><span>Start-Sleep</span><span> </span><span>2</span><span>} </span><span>while</span><span> ((</span><span>Get-SPServiceInstance</span><span> </span><span>-Server</span><span> </span><span>$env:ComputerName</span><span> | </span><span>where</span><span> {</span><span>$_</span><span>.TypeName </span><span>-eq</span><span> </span><span>"</span><span>User Profile Synchronization Service</span><span>"</span><span>}).Status </span><span>-eq</span><span> </span><span>"</span><span>Provisioning</span><span>"</span><span>)</span></pre>
<h2><span></span></h2>
<h2><span>Summary</span></h2>
<p><span>As you can see setting the accounts that are used throughout SharePoint 2010 is anything but consistent and in some cases a real pain in the a$$. I know I didn’t cover how to set every account (custom crawl rule accounts, user profile sync connection accounts, others?) but hopefully someone out there has already documented these, or if not perhaps they’d be nice enough to post a comment here for others benefit from (maybe one day I’ll add them myself but for now I think this post is quite long enough). As always, please let me know if I’ve missed something or otherwise got something wrong as I certainly don’t claim to have all the answers. </span></p>
<p><span>Happy PowerShelling <img class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://lh4.ggpht.com/_j7MF_mMbiII/TKpGF3cesVI/AAAAAAAAANM/2CCnppKrkaQ/wlEmoticon-smile%5B2%5D.png?imgmax=800" /></span></p>
</div>
</div>
<p><small>Check it out:<a rel="nofollow" href="http://feedproxy.google.com/~r/StsadmCustomExtensions/~3/nTiB2jGTscE/service-accounts-and-managed-service.html">SharePoint Automation</a></small> </p>
<div>    <h3>Related Posts:</h3><br><a href="http://computersplace.net/articles-review/inventory-sharepoint-documents-windows-powershell.html" rel="bookmark" class="crp_title">Getting an Inventory of All SharePoint Documents Using Windows PowerShell</a><span class="crp_excerpt"> 
I got an email today asking if I had anything that would generate a report detailing all the documents throughout ...</span><br><a href="http://computersplace.net/microsoft-releated/windows-server-howto/error-191-part-sql-statement-nested-deeply.html" rel="bookmark" class="crp_title">Error 191: Some part of your SQL statement is nested too deeply.</a><span class="crp_excerpt"> When inserting string into SQL Server table using the INSERT predicate that uses string concatenation there seems to be an ...</span><br><a href="http://computersplace.net/drive-data-recovery/backup-recovery/convert-daa-files-iso-linux-poweriso.html" rel="bookmark" class="crp_title">Convert .DAA files to .ISO in Linux with Poweriso</a><span class="crp_excerpt"> 


Convert .DAA files to .ISO in Linux with Poweriso

 
	  Posted in 
Labels:
Ubuntu
 | 
	  
Friday, July 23, ...</span><br><a href="http://computersplace.net/articles-review/deploying-sharepoint-2010-solution-packages-using-powershell.html" rel="bookmark" class="crp_title">Deploying SharePoint 2010 Solution Packages Using PowerShell</a><span class="crp_excerpt"> 
With SharePoint 2010 we can now deploy our Solution Packages using PowerShell. What’s cool about this is that it’s a ...</span><br><a href="http://computersplace.net/drive-data-recovery/backup-recovery/restrict-number-active-sessions-remote-desktop-services-manager.html" rel="bookmark" class="crp_title">How to restrict the number of active sessions in Remote Desktop Services Manager</a><span class="crp_excerpt"> Question After the Remote Desktop Session Host server (Terminal Server) runs for a while, there are many sessions marked as active ...</span></div>]]></content:encoded>
			<wfw:commentRss>http://computersplace.net/articles-review/service-accounts-managed-service-accounts-sharepoint-2010.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (enhanced)
Database Caching 8/120 queries in 2.437 seconds using apc

Served from: computersplace.net @ 2012-02-07 14:33:55 -->
