<?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>David&#039;s technobabble &#187; SharePoint 2007</title>
	<atom:link href="http://bable.cybermarshall.com/tag/sharepoint-2007/feed/" rel="self" type="application/rss+xml" />
	<link>http://bable.cybermarshall.com</link>
	<description>David&#039;s thoughts about this and that</description>
	<lastBuildDate>Fri, 22 Jan 2010 18:29:56 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Browser and wiki workflow independence with Liferay the open source &#8220;SharePoint&#8221;</title>
		<link>http://bable.cybermarshall.com/2009/07/04/browser-and-wiki-workflow-independence-with-liferay-the-open-source-sharepoint/</link>
		<comments>http://bable.cybermarshall.com/2009/07/04/browser-and-wiki-workflow-independence-with-liferay-the-open-source-sharepoint/#comments</comments>
		<pubDate>Sun, 05 Jul 2009 04:44:06 +0000</pubDate>
		<dc:creator>david</dc:creator>
				<category><![CDATA[JAVA]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[liferay]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[SharePoint 2007]]></category>
		<category><![CDATA[wiki]]></category>

		<guid isPermaLink="false">http://bable.cybermarshall.com/?p=775</guid>
		<description><![CDATA[July 4th, 2009; today is the US independence day. This has put me in a reflective mood. As I was thinking about the current projects that I&#8217;m working on, I thought about this&#8230;
SharePoint 2007 is a great improvement over its ancestors: SharePoint 2003 and SharePoint 2001. The capabilities in document management make the old shared [...]]]></description>
			<content:encoded><![CDATA[<p>July 4<sup>th</sup>, 2009; today is the US independence day. This has put me in a reflective mood. As I was thinking about the current projects that I&#8217;m working on, I thought about this&#8230;</p>
<hr />SharePoint 2007 is a great improvement over its ancestors: SharePoint 2003 and SharePoint 2001. The capabilities in document management make the old shared file systems obsolete. This is especially true for Microsoft Office products that integrate with SharePoint. I&#8217;m waiting for SharePoint 2010 to hopefully resolve some of the issues that the blog and wiki tools have. In the meantime, we have wiki and blog requirements that need to be met. In our search for a top flight wiki that was easy to learn and use by users; we discovered <a href="http://www.liferay.com" onclick="pageTracker._trackPageview('/outgoing/www.liferay.com?referer=');">Liferay</a>.<span id="more-775"></span></p>
<ul><em>Actually we rediscovered it <img src='http://bable.cybermarshall.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> . I had looked at Liferay in August 2008, to establish a community for another company; however they decided, that they could not provide the resources to host an &#8220;active&#8221; community. Part of providing a community is the nurturing and feeding of the community by providing content on a &#8220;regular&#8221; basis and responding to comments.</em></ul>
<p>From 100,000 feet, Liferay is essentially an open source version of SharePoint written in Java. Liferay embraces document collaboration, Web 2.0 and social collaboration. A Liferay portal provides one or more organizations with one or more communities. Each community and user has public and private pages.  Users can be assigned roles within multiple organizations and communities. Liferay plugins, portlets, can be added to any page by any user based on their &#8220;scoped&#8221; role. Liferay themes and layouts can be established at the community level or applied to each page.</p>
<p>Liferay provides wiki and blogging editors that can be configured to support either the FCKeditor or TinyMCE.  This allows users that are already familiar with other Social media tools to be immediately productive. One of our litmus tests for wiki and blog usability is: <em>can a user &#8220;easily&#8221; learn to how create an attractive blog or wiki that is media and content rich without having to result to editing raw HTML?</em> This should be possible without formal training. Yeah, I expect the user would read some documentation and view some training videos; however, since more and more users are using social media sites, they are looking for their corporate tools to resemble their other tools. The workflow in these tools should allow the user to work top-down as they are thinking. Although not perfect, we find that Liferay passes this test.</p>
<ul><em>One of the disruptive behaviors of internet-based systems and web 2.0 is that corporate systems and vendor applications lag many internet applications in technological advances. This means that users are often waiting for the applications that they use at work to catch up with the ones they use personally.</em></ul>
<p>Liferay allows the use of existing content or the dynamic upload of content while you are are writing. SharePoint 2007 only supports use of previously stored content while editing.</p>
<ul><em>Okay, I know that you can open another browser window; upload some content; and then switch back to your wiki/blog window to complete the wiki or blog entry. However you cannot imagine how many users do not think of this or understand this. I been around long enough to realize that means that there is likely a disconnect between the user&#8217;s desired workflow and the product workflow.</em></ul>
<p>The Liferay wiki and blog editors work equally as well with Internet Explorer,IE, and FireFox. SharePoint 2007 provides a more robust experience to IE users. With SharePoint, in my opinion, wiki and blog editing in FireFox feels like an &#8220;unwanted disease&#8221;. This is unfortunate. There are standard JavaScript libraries that abstract browser dependencies. There is simply no technical reason that SharePoint can&#8217;t provide a first class experience to most browsers.  The Liferay content portlet can contain javascript, this allows easy integration with a plethora of other social media and web-based applications. Ironically, I placed my Windows Live status with a button into a Liferay content portlet and it behaves correctly. I could not do this with SharePoint. The SharePoint editors deleted the javascript code. The Liferay Wiki can be configured to support Creole or Camel-case wiki editing.</p>
<p>You know, SharePoint could learn a lot from Liferay.</p>
]]></content:encoded>
			<wfw:commentRss>http://bable.cybermarshall.com/2009/07/04/browser-and-wiki-workflow-independence-with-liferay-the-open-source-sharepoint/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Using PowerShell to activate a feature across all Sharepoint 2007/WSS 3.0 sites and subsites</title>
		<link>http://bable.cybermarshall.com/2009/01/17/using-powershell-to-activate-a-feature-across-all-sharepoint-2007wss-30-sites-and-subsites/</link>
		<comments>http://bable.cybermarshall.com/2009/01/17/using-powershell-to-activate-a-feature-across-all-sharepoint-2007wss-30-sites-and-subsites/#comments</comments>
		<pubDate>Sat, 17 Jan 2009 18:57:35 +0000</pubDate>
		<dc:creator>david</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[WSS]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[SharePoint 2007]]></category>
		<category><![CDATA[WSS 3.0]]></category>

		<guid isPermaLink="false">http://bable.cybermarshall.com/?p=338</guid>
		<description><![CDATA[Recently, I was deploying a new feature to a WSS 3.0 site and needed to activate the feature on roughly 100 subsites. I did not want to do this manually with the web interface. I knew that I could write a C# program to do this, but I&#8217;d read a lot about the capabilities of [...]]]></description>
			<content:encoded><![CDATA[<p>Recently, I was deploying a new feature to a WSS 3.0 site and needed to activate the feature on roughly 100 subsites. I did not want to do this manually with the web interface. I knew that I could write a C# program to do this, but I&#8217;d read a lot about the capabilities of PowerShell and decided to see how this could be done with PowerShell.<br />
<span id="more-338"></span><br />
After downloading and installing PowerShell 1.0 on my Windows 2003 test server, I spent some time getting familiar with PowerShell and reading what others had done. I found a very helpful site to be <a href="http://sharepoint.microsoft.com/blogs/zach" onclick="pageTracker._trackPageview('/outgoing/sharepoint.microsoft.com/blogs/zach?referer=');">Zach Rosenfield&#8217;s blog</a> and the <a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.aspx" onclick="pageTracker._trackPageview('/outgoing/msdn.microsoft.com/en-us/library/microsoft.sharepoint.aspx?referer=');">Microsoft.SharePoint class reference on msdn</a>. Based on my experience building custom workflows for sharepoint, I knew that if could obtain the list of website urls for a sharepoint site, then I could then call the STSADM program to activate the feature by name for the site by URL</p>
<ul> stsadm -o activatefeature -name <em>feature-name</em> -url <em>websiteurl</em> -force</ul>
<p>The synopsis of the <a href="#fullcode">code</a> is:</p>
<ul>
<li>Start with the sharepoint site object.</li>
<li>Loop through all of the sub-sites.
<ul>
<li>Get the website url for the sub-site.</li>
<li>Call stsadm to activate the feature for the sub-site.</li>
</ul>
</li>
</ul>
<p><a id="fullcode" name="fullcode"></a><br />
<strong>The PowerShell code</strong></p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p338code2'); return false;">View Code</a> POWERSHELL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p3382"><td class="code" id="p338code2"><pre class="powershell" style="font-family:monospace;"><span style="color: #008000;">## Reference to SharePoint DLL</span>
<span style="color: #000000;">&#91;</span>void<span style="color: #000000;">&#93;</span><span style="color: #000000;">&#91;</span><span style="color: #008080;">System.Reflection.Assembly</span><span style="color: #000000;">&#93;</span>::<span style="color: #800000;">LoadWithPartialName</span><span style="color: #000000;">&#40;</span><span style="color: #800000;">&quot;Microsoft.SharePoint&quot;</span><span style="color: #000000;">&#41;</span>
<span style="color: #008000;">## Probable location of sharepoint STSADM utility program</span>
<span style="color: #800080;">$stsadm</span> <span style="color: pink;">=</span> <span style="color: #800000;">&quot;$env:programfiles\Common Files\Microsoft Shared\Web Server Extensions\12\BIN\STSADM.EXE&quot;</span> 
&nbsp;
<span style="color: #008000;">############################################</span>
<span style="color: #008000;"># Activate-feature-onSite [-feature  |-url  ]</span>
<span style="color: #008000;">############################################</span>
<span style="color: #0000FF;">function</span> global:Activate<span style="color: pink;">-</span>feature<span style="color: pink;">-</span>onSite<span style="color: #000000;">&#40;</span><span style="color: #800080;">$feature</span><span style="color: pink;">,</span> <span style="color: #800080;">$url</span><span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
<span style="color: #800080;">$spsite</span><span style="color: pink;">=</span><span style="color: #008080; font-weight: bold;">new-object</span> Microsoft.SharePoint.SPSite<span style="color: #000000;">&#40;</span><span style="color: #800080;">$url</span><span style="color: #000000;">&#41;</span>; 
&nbsp;
<span style="color: #0000FF;">for</span><span style="color: #000000;">&#40;</span><span style="color: #800080;">$i</span><span style="color: pink;">=</span><span style="color: #804000;">0</span>; <span style="color: #800080;">$i</span> <span style="color: #FF0000;">-lt</span> <span style="color: #800080;">$spsite</span>.AllWebs.Count;$i<span style="color: pink;">++</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#123;</span>
   <span style="color: #800080;">$websiteurl</span><span style="color: pink;">=</span>  <span style="color: #800080;">$spsite</span>.AllWebs<span style="color: #000000;">&#91;</span><span style="color: #800080;">$i</span><span style="color: #000000;">&#93;</span>.url;
   <span style="color: #800080;">$sResult</span> <span style="color: pink;">=</span> <span style="color: pink;">&amp;</span>stsadm <span style="color: pink;">-</span>o activatefeature <span style="color: #008080; font-style: italic;">-name</span> <span style="color: #800080;">$feature</span> <span style="color: pink;">-</span>url <span style="color: #800080;">$websiteurl</span> <span style="color: #008080; font-style: italic;">-force</span>
   <span style="color: #0000FF;">if</span><span style="color: #000000;">&#40;</span><span style="color: pink;">!</span><span style="color: #000000;">&#40;</span><span style="color: #800080;">$sResult</span> <span style="color: #FF0000;">-like</span> <span style="color: #800000;">&quot;*Operation completed successfully*&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#123;</span>
      <span style="color: #008080; font-weight: bold;">Write-Host</span> <span style="color: #008080; font-style: italic;">-ForegroundColor</span> <span style="color: #800000;">&quot;red&quot;</span> <span style="color: #008080; font-style: italic;">-BackgroundColor</span> <span style="color: #800000;">&quot;white&quot;</span> <span style="color: #800000;">&quot;Activate of feature '$feature' for '$websiteurl' Failed! <span style="color: #008080; font-weight: bold;">`n</span> $sResult&quot;</span>
     <span style="color: #000000;">&#125;</span>
   <span style="color: #000000;">&#125;</span>
<span style="color: #800080;">$spsite</span>.Dispose<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #000000;">&#125;</span> 
&nbsp;
<span style="color: #008000;"># to call</span>
Activate<span style="color: pink;">-</span>feature<span style="color: pink;">-</span>onSite <span style="color: #800000;">&quot;feature&quot;</span> <span style="color: #800000;">&quot;http://site&quot;</span></pre></td></tr></table></div>

<p><center><script type="text/javascript"><!--
google_ad_client = "pub-5633552336244805";
google_ad_slot = "5649858591";
google_ad_width = 468;
google_ad_height = 60;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</center></p>
]]></content:encoded>
			<wfw:commentRss>http://bable.cybermarshall.com/2009/01/17/using-powershell-to-activate-a-feature-across-all-sharepoint-2007wss-30-sites-and-subsites/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Creating and registering a sitemap to Google for a WSS 3.0/SharePoint 2007 site.</title>
		<link>http://bable.cybermarshall.com/2009/01/10/creating-and-registering-a-sitemap-to-google-for-a-wss-30sharepoint-2007-site/</link>
		<comments>http://bable.cybermarshall.com/2009/01/10/creating-and-registering-a-sitemap-to-google-for-a-wss-30sharepoint-2007-site/#comments</comments>
		<pubDate>Sat, 10 Jan 2009 17:05:04 +0000</pubDate>
		<dc:creator>david</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[WSS]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[SharePoint 2007]]></category>
		<category><![CDATA[WSS 3.0]]></category>

		<guid isPermaLink="false">http://bable.cybermarshall.com/?p=320</guid>
		<description><![CDATA[If you develop or maintain internet facing websites, then you already know what a sitemap is and does. I create and maintain site maps for several sites. I recently added a sitemap to my WSS 3.0 site. With other web technologies this can be a 10 minute process. With SharePoint this turned out to have [...]]]></description>
			<content:encoded><![CDATA[<p>If you develop or maintain internet facing websites, then you already know what a sitemap is and does. I create and maintain site maps for several sites. I recently added a sitemap to my WSS 3.0 site. With other web technologies this can be a 10 minute process. With SharePoint this turned out to have a few wrinkles.<br />
<span id="more-320"></span><br />
The 1<sup>st</sup> thing that I did was generate a sitemap of my SharePoint site using a free <a href="http://www.xml-sitemaps.com" onclick="pageTracker._trackPageview('/outgoing/www.xml-sitemaps.com?referer=');">Sitemap Generator</a>. Then I logged into my Google account to access my webmaster tools. The 1st challenge was to <a href="#verify">verify</a> my site, the next challenge would be to get Google to download the <a href="#sitemap">sitemap</a> from my site.<br />
<a id="verify" name="verify"></a><br />
<strong>Verifying my site</strong><br />
This is Google&#8217;s way of making sure that you are authorized to manage the site. Currently, Google lets you do this 2 ways:</p>
<ul>
<li>This first way, involves placing an HTML file on your site using an Google generated HTML file name.<br />
This must be placed in the root directory of you site.</li>
<li>The 2<sup>nd</sup> way involves placing a Google generated meta tag in your site&#8217;s default webpage.</li>
</ul>
<p>Based upon my previous experience with SharePoint, I tried the HTML file first. Using Internet Services Manager I determined the physical directory that was mapped to the virtual directory for my SharePoint site. Next, I created an HTML file in that directory using the name that Google provided and &#8220;viola&#8221;, I figured that I was done.  Unfortunately, the way SharePoint sites are registered into IIS, a SharePoint site would not render my HTML file from this location. This results in a 404 error. On to the meta tag option.</p>
<p>My 1<sup>st</sup> attempt at the meta tag option was to create a hidden &#8220;Content Editor Webpart&#8221; on my site&#8217;s home page and place the meta code in it. I suspected that this would not work as the meta tag needs to go into the head section of the HTML page before the body section. Sure enough, it did not work.</p>
<p>My next approach was to determine which file that I could modify to place my meta tag in.<br />
<em>I&#8217;m sure that there is a SharePoint Designer way to do this. However, if you are using the free version of SharePoint 2007, then I figure you may not want to buy SharePoint Designer.</em></p>
<p>SharePoint sites open with a default.aspx file that is based on the site type. There is are seperate default.aspx for Team Sites, Blog Sites, etc. Each of these default.aspx files include a default.master.  The default master can be overridden on a site by site basis by editing the default.master in your site&#8217;s &#8220;Master Page Gallery&#8221; by accessing &#8220;Site Actions&#8221; &#8211;&gt; &#8220;Site Settings&#8221; and then selecting the &#8220;Master Pages&#8221; Link in the &#8220;Galleries&#8221; section. Rather than change the default.aspx which would affect all sites of a type running on my server, I decided to change the default master for my site.</p>
<p>To change the default.master, you will:</p>
<ul>
<li> check it out.</li>
<li> download a copy</li>
<li> edit it with notepad (or some other text editor) and place your meta tag<br />
I chose to place my Google meta tag just below the<br />
&lt;META HTTP-EQUIV=&#8221;Expires&#8221; content=&#8221;0&#8243;&gt;</li>
<li>upload the update</li>
<li>check-in the file</li>
</ul>
<p>You can verify that this is correct by visiting your site&#8217;s homepage and then viewing the page source via your Web Browser. If you can see your verify code, you are ready to verify your site with Google and move to publishing your sitemap.<br />
<a id="sitemap" name="sitemap"></a><br />
<strong>Getting my sitemap into google</strong><br />
In order to get Google to download my sitemap, the sitemap file, sitemap.xml in my case, would need to be anonymously accessible form a url on your site that Google lets you specify. I already knew that I could not simply place the sitemap file into the root directory of my website. My solution was to create a SharePoint document library in my site, provide anonymous read access and upload the sitemap.xml file to that library.<br />
Then I entered the sitemap url into Google.</p>
<p><center><script type="text/javascript"><!--
google_ad_client = "pub-5633552336244805";
google_ad_slot = "5649858591";
google_ad_width = 468;
google_ad_height = 60;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</center></p>
]]></content:encoded>
			<wfw:commentRss>http://bable.cybermarshall.com/2009/01/10/creating-and-registering-a-sitemap-to-google-for-a-wss-30sharepoint-2007-site/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Customizing and enhancing the security of a WSS 3.0/SharePoint 2007 site</title>
		<link>http://bable.cybermarshall.com/2009/01/08/customizing-and-enhancing-the-security-of-a-wss-30sharepoint-2007-site/</link>
		<comments>http://bable.cybermarshall.com/2009/01/08/customizing-and-enhancing-the-security-of-a-wss-30sharepoint-2007-site/#comments</comments>
		<pubDate>Fri, 09 Jan 2009 04:00:14 +0000</pubDate>
		<dc:creator>david</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[WSS]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[conditional]]></category>
		<category><![CDATA[rendering]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[SharePoint 2007]]></category>
		<category><![CDATA[WSS 3.0]]></category>

		<guid isPermaLink="false">http://bable.cybermarshall.com/?p=272</guid>
		<description><![CDATA[I wanted to compare the capabilities of WSS 3.0 (Sharepoint 2007) to host forum-like discussions, blogs and wiki&#8217;s. After I&#8217;d developed my site, there were items that were visible to anonymous and standard users that I felt were inappropriate. I wanted information to be visible or not based upon the users role. Such as the [...]]]></description>
			<content:encoded><![CDATA[<p>I wanted to compare the capabilities of WSS 3.0 (Sharepoint 2007) to host forum-like discussions, blogs and wiki&#8217;s. After I&#8217;d developed my site, there were items that were visible to anonymous and standard users that I felt were inappropriate. I wanted information to be visible or not based upon the users role. Such as the ability to view lists of People and Groups.  I&#8217;ve worked in several businesses where exposing customer names to all users is a violation of customer agreements. IMHO, this is a serious oversight in Microsoft&#8217;s implementation.<br />
<span id="more-272"></span><br />
After I did a good bit of research, experimentation and learning I was able to change the security using the SPSecurityTrimmedControl. Here is how I restricted access to some portions on my Sharepoint Site.</p>
<p>WSS 3.0 provides a control <a href="#spstrim">SPSecurityTrimmedControl</a> that allows the conditional rendering of content based on a users permission. Using this control, I was able to restrict who would be shown People and Groups on my site.  To do this I modified the <a href="#people">people.aspx</a> and the <a href="#groups">groups.aspx</a> files for my site.</p>
<p><em>A word of caution: I have no doubt that when applying a future service pack, Microsoft will overwrite my changes. Therefore I&#8217;m managing my changes externally from the Microsoft SharePoint directory. This will allow me to difference new code from Microsoft and reapply my changes.</em></p>
<p><a id="people" name="people"></a><br />
<strong>people.aspx</strong><br />
The file people.aspx resides in the <span style="text-decoration: underline;"><em>\Program Files\Common Files\Microsoft Shared\web server  extensions\12\TEMPLATE\LAYOUTS</em></span> folder. It lists the persons in the site. After I made a backup copy, I opened the file in a text editor and located the start of the &#8220;PlaceHolderMain&#8221; asp:Content section and added the start of my permission change</p>
<p>before</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p272code8'); return false;">View Code</a> XML</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p2728"><td class="code" id="p272code8"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;asp:Content</span> <span style="color: #000066;">contentplaceholderid</span>=<span style="color: #ff0000;">&quot;PlaceHolderMain&quot;</span> <span style="color: #000066;">runat</span>=<span style="color: #ff0000;">&quot;server&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;asp:PlaceHolder</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;PanelAllPeople&quot;</span> <span style="color: #000066;">runat</span>=<span style="color: #ff0000;">&quot;server&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
	 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;div</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;ms-listdescription&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span></pre></td></tr></table></div>

<p>after</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p272code9'); return false;">View Code</a> XML</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p2729"><td class="code" id="p272code9"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;asp:Content</span> <span style="color: #000066;">contentplaceholderid</span>=<span style="color: #ff0000;">&quot;PlaceHolderMain&quot;</span> <span style="color: #000066;">runat</span>=<span style="color: #ff0000;">&quot;server&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;SharePoint:SPSecurityTrimmedControl</span> <span style="color: #000066;">runat</span>=<span style="color: #ff0000;">&quot;server&quot;</span> <span style="color: #000066;">PermissionsString</span>=<span style="color: #ff0000;">&quot;ManagePermissions&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;asp:PlaceHolder</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;PanelAllPeople&quot;</span> <span style="color: #000066;">runat</span>=<span style="color: #ff0000;">&quot;server&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
	 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;div</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;ms-listdescription&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span></pre></td></tr></table></div>

<p>I located the end of the &#8220;PlaceHolderMain&#8221; asp:Content section and completed my permission change.</p>
<p>before</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p272code10'); return false;">View Code</a> XML</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p27210"><td class="code" id="p272code10"><pre class="xml" style="font-family:monospace;">	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;asp:HyperLink</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;LnkCallTo&quot;</span> <span style="color: #000066;">runat</span>=<span style="color: #ff0000;">&quot;server&quot;</span></span>
<span style="color: #009900;">		<span style="color: #000066;">Text</span>=<span style="color: #ff0000;">&quot;&lt;%$SPHtmlEncodedResources:wss,people_callbuttontext%&gt;</span></span>&quot;
		style=&quot;visibility:hidden;display:none&quot;
		NavigateUrl=&quot;callto:&quot; /&gt;
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/asp:Content<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<p>after</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p272code11'); return false;">View Code</a> XML</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p27211"><td class="code" id="p272code11"><pre class="xml" style="font-family:monospace;">	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;asp:HyperLink</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;LnkCallTo&quot;</span> <span style="color: #000066;">runat</span>=<span style="color: #ff0000;">&quot;server&quot;</span></span>
<span style="color: #009900;">		<span style="color: #000066;">Text</span>=<span style="color: #ff0000;">&quot;&lt;%$SPHtmlEncodedResources:wss,people_callbuttontext%&gt;</span></span>&quot;
		style=&quot;visibility:hidden;display:none&quot;
		NavigateUrl=&quot;callto:&quot; /&gt;
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/SharePoint:SPSecurityTrimmedControl<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/asp:Content<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<p>I also located the modifed the &#8220;PlaceHolderLeftNavBar&#8221; asp:Content and made the similar changes as above to require the user to have ManagePermissions as well.</p>
<p><a id="groups" name="groups"></a><br />
<strong>groups.aspx</strong><br />
The file group.aspx resides in the<span style="text-decoration: underline;"><em> \Program Files\Common Files\Microsoft Shared\web server  extensions\12\TEMPLATE\LAYOUTS</em></span> folder. It lists the groups in the site.  After I made a backup copy, I opened the file in a text editor and made the same &#8220;PlaceHolderMain&#8221; asp:Content section changes as I had to <a href="#people">people.aspx</a>.</p>
<p><a id="spstrim" name="spstrim"></a><br />
<strong>Overview of SPSecurityTrimmedControl</strong></p>
<p>The SPSecurityTrimmedControl conditionally renders the included contents only when the current user has the permissions defined by the PemissionsString.<br />
An example requiring the user to have &#8220;ManagePermissions&#8221;:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?" onclick="pageTracker._trackPageview('/outgoing/www.ericbess.com/ericblog/2008/03/03/wp-codebox/_examples?referer=');"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p272code12'); return false;">View Code</a> XML</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p27212"><td class="code" id="p272code12"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Sharepoint:SPSecurityTrimmedControl</span> <span style="color: #000066;">runat</span>=<span style="color: #ff0000;">&quot;server&quot;</span> <span style="color: #000066;">PermissionsString</span>=<span style="color: #ff0000;">&quot;ManagePermissions&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
<span style="color: #808080; font-style: italic;">&lt;!--</span>
<span style="color: #808080; font-style: italic;">...</span>
<span style="color: #808080; font-style: italic;">... code being managed ...</span>
<span style="color: #808080; font-style: italic;">...</span>
<span style="color: #808080; font-style: italic;">--&gt;</span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/SharePoint:SPSecurityTrimmedControl<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<p>Here are some of the values for the PermissionsString</p>
<table border="0">
<tbody>
<tr>
<td><em><strong>Permissions String</strong></em></td>
<td><em><strong>Description</strong></em></td>
</tr>
<tr>
<td>AddAndCustomizePages</td>
<td>Add, change, or delete HTML pages or Web Part Pages, and edit the Web site using a Windows SharePoint Services–compatible editor.</td>
</tr>
<tr>
<td>AddDelPrivateWebParts</td>
<td>Add or remove personal Web Parts on a Web Part Page.</td>
</tr>
<tr>
<td>AddListItems</td>
<td>Add items to lists, add documents to document libraries, and add Web discussion comments.</td>
</tr>
<tr>
<td>ApproveItems</td>
<td>Approve a minor version of a list item or document.</td>
</tr>
<tr>
<td>BrowseDirectories</td>
<td>Enumerate files and folders in a Web site using Microsoft Office SharePoint Designer 2007 and WebDAV interfaces.</td>
</tr>
<tr>
<td>BrowseUserInfo</td>
<td>View information about users of the Web site.</td>
</tr>
<tr>
<td>CancelCheckout</td>
<td>Discard or check in a document which is checked out to another user.</td>
</tr>
<tr>
<td>CreateAlerts</td>
<td>Create e-mail alerts.</td>
</tr>
<tr>
<td>CreateGroups</td>
<td>Create a group of users that can be used anywhere within the site collection.</td>
</tr>
<tr>
<td>DeleteListItems</td>
<td>Delete items from a list, documents from a document library, and Web discussion comments in documents.</td>
</tr>
<tr>
<td>DeleteVersions</td>
<td>Delete past versions of a list item or document.</td>
</tr>
<tr>
<td>EditListItems</td>
<td>Edit items in lists, edit documents in document libraries, edit Web discussion comments in documents, and customize Web Part Pages in document libraries.</td>
</tr>
<tr>
<td>EditMyUserInfo</td>
<td>Allows a user to change his or her user information, such as adding a picture.</td>
</tr>
<tr>
<td>EnumeratePermissions</td>
<td>Enumerate permissions on the Web site, list, folder, document, or list item.</td>
</tr>
<tr>
<td>ManageAlerts</td>
<td>Manage alerts for all users of the Web site.</td>
</tr>
<tr>
<td>ManageLists</td>
<td>Create and delete lists, add or remove columns in a list, and add or remove public views of a list.</td>
</tr>
<tr>
<td>ManagePermissions</td>
<td>Create and change permission levels on the Web site and assign permissions to users and groups.</td>
</tr>
<tr>
<td>ManagePersonalViews</td>
<td>Create, change, and delete personal views of lists.</td>
</tr>
<tr>
<td>Open</td>
<td>Allow users to open a Web site, list, or folder to access items inside that container.</td>
</tr>
<tr>
<td>OpenItems</td>
<td>View the source of documents with server-side file handlers.</td>
</tr>
<tr>
<td>UpdatePersonalWebParts</td>
<td>Update Web Parts to display personalized information.</td>
</tr>
<tr>
<td>ViewFormPages</td>
<td>View forms, views, and application pages, and enumerate lists.</td>
</tr>
<tr>
<td>ViewListItems</td>
<td>View items in lists, documents in document libraries, and view Web discussion comments.</td>
</tr>
<tr>
<td>ViewPages</td>
<td>View pages in a Web site.</td>
</tr>
<tr>
<td>ViewUsageData</td>
<td>View reports on Web site usage.</td>
</tr>
<tr>
<td>ViewVersions</td>
<td>View past versions of a list item or document.</td>
</tr>
</tbody>
</table>
<p>The full list is on <a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spbasepermissions.aspx" onclick="pageTracker._trackPageview('/outgoing/msdn.microsoft.com/en-us/library/microsoft.sharepoint.spbasepermissions.aspx?referer=');">msdn</a>.</p>
<p><center><script type="text/javascript"><!--
google_ad_client = "pub-5633552336244805";
google_ad_slot = "5649858591";
google_ad_width = 468;
google_ad_height = 60;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</center></p>
]]></content:encoded>
			<wfw:commentRss>http://bable.cybermarshall.com/2009/01/08/customizing-and-enhancing-the-security-of-a-wss-30sharepoint-2007-site/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Adding SSL support to an existing WSS 3.0 (SharePoint 2007) site</title>
		<link>http://bable.cybermarshall.com/2009/01/06/adding-ssl-support-to-an-existing-wss-30-sharepoint-2007-site/</link>
		<comments>http://bable.cybermarshall.com/2009/01/06/adding-ssl-support-to-an-existing-wss-30-sharepoint-2007-site/#comments</comments>
		<pubDate>Tue, 06 Jan 2009 20:59:58 +0000</pubDate>
		<dc:creator>david</dc:creator>
				<category><![CDATA[SSL Certificates]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[WSS]]></category>
		<category><![CDATA[SharePoint 2007]]></category>
		<category><![CDATA[SSL]]></category>
		<category><![CDATA[WSS 3.0]]></category>

		<guid isPermaLink="false">http://bable.cybermarshall.com/?p=217</guid>
		<description><![CDATA[I developed and configured a WSS 3.0 (Sharepoint 2007) Team discussion site. My initial goal was to compare the capabilities of WSS 3.0 to host forum-like discussions. After I had a firmer grasp of the capabilities of SharePoint 2007 with respect to hosting discussions and AAA security ( Authentication, Authorization and Accounting); I wanted to [...]]]></description>
			<content:encoded><![CDATA[<p>I developed and configured a WSS 3.0 (Sharepoint 2007) Team discussion site. My initial goal was to compare the capabilities of WSS 3.0 to host forum-like discussions. After I had a firmer grasp of the capabilities of SharePoint 2007 with respect to hosting discussions and AAA security ( Authentication, Authorization and Accounting); I wanted to support SSL. As you might guess, this involved more than simply installing an SSL certificate on my IIS website</p>
<p><span id="more-217"></span></p>
<p>The 1<sup>st</sup> thing that I did was to create and install an SSL certificate for my web site. Afterwards, I went to configure SharePoint.</p>
<p>Most of the published information on this topic has you start with SSL when you Create a Website or Extend a website by publishing the information to a new website within the SharePoint farm. I&#8217;d already created the site so I was hoping to avoid this.</p>
<p>After checking through the site settings and then Central Administration settings, I found the Alternate Access Mappings in Central Administration.</p>
<ul>
<li>Open up the Central Administration site</li>
<li>Select Operations</li>
<li>click  Alternate Access Mappings under the Global Configuration section.</li>
</ul>
<p>The alternate access mappings defines internal URLS, zones and Public URLS that a site will respond to. In my case I wanted my site to be open to port 80 to Office 2007 and IE on the Intranet and use SSL on the internet. After some investigation, I set my mapping as follows:</p>
<ul>
<li>Default zone  &#8212; https and the FQDN of my website and SSL certificate.</li>
<li>Intranet zone &#8212; http and my webserver&#8217;s computername.</li>
<li>Internet zone &#8212; http and the FQDN of my website site.</li>
</ul>
<p>These seem to be working pretty well, I&#8217;ll update this post if I learn anything more.</p>
<p>It appears, that if your webserver server hosts multiple SharePoint sites, then you would need to supply alternative mappings for any additional sites that you want to respond to SSL.</p>
<p><center><script type="text/javascript"><!--
google_ad_client = "pub-5633552336244805";
google_ad_slot = "5649858591";
google_ad_width = 468;
google_ad_height = 60;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</center></p>
]]></content:encoded>
			<wfw:commentRss>http://bable.cybermarshall.com/2009/01/06/adding-ssl-support-to-an-existing-wss-30-sharepoint-2007-site/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
