<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Ken Price's Business Productivity Blog</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/ken_prices_sharepoint_blog/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/ken_prices_sharepoint_blog/feed.xml</link>
    <description>A SharePoint consultant&amp;#039;s findings on the topic of collaboration and other Microsoft technologies</description>
    <lastBuildDate>Wed, 17 Apr 2019 03:37:23 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>The Basics of Creating a SharePoint 2013 Farm in Azure</title>
      <link>https://docs.microsoft.com/archive/blogs/ken_prices_sharepoint_blog/the-basics-of-creating-a-sharepoint-2013-farm-in-azure</link>
      <pubDate>Thu, 24 Dec 2015 16:00:00 GMT</pubDate>
      <dc:creator><![CDATA[Kenneth Price]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/ken_prices_sharepoint_blog/2015/12/24/the-basics-of-creating-a-sharepoint-2013-farm-in-azure/</guid>
      <description><![CDATA[One of the tools that SharePoint developers and administrators have now is the ability to create...]]></description>
      <content:encoded><![CDATA[<p>One of the tools that SharePoint developers and administrators have now is the ability to create SharePoint test farms in Azure. The ability to connect seamlessly from any device is one of the great features of the cloud platform. If there’s a need to create a temporary SharePoint 2013 farm with three servers, then it’s a matter of planning. </p> <p>Azure will help you run a SharePoint farm that you can access any browser and Remote Desktop, versus having to lug around a super-beefy laptop. This cloud-first strategy also allows me to test various versions of a product or multiple products without having to worry about hardware requirements or storage space on my laptop.</p> <p>Here are some tips when starting the process of creating Azure VMs for SharePoint:</p> <ul> <li><strong>Create a different subnet for SQL and App servers</strong>. I created three subnets, one for DNS, one for SQL and one for Apps (where WFEs and APP servers live). This is not a requirement, but is a good way to separate roles and keep IPs in a certain subnet.  </li><li><strong>Remember that the first 3 IP addresses are kept for the host</strong> in an Azure VM so do not try to reserve an .1, .2, or .3 address. It will cause an error at best.  </li><li><strong>Change the settings in Edge/Internet Explorer</strong> so you can log into your MSDN Subscription and download files or use a blob storage account to keep your binaries in one location.  </li><li>To <strong>enable file downloads</strong>:</li></ul> <blockquote> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/image_4877173B.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/image_5F00_4877173B.png"><img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/image_thumb_55075508.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/image_5F00_thumb_5F00_55075508.png" width="159" height="69" /></a></p></blockquote> <ul> <li>To <strong>enable scripting</strong> to login to your MSDN account:</li></ul> <blockquote> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/image_24E00A45.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/image_5F00_24E00A45.png"><img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/image_thumb_4B447E41.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/image_5F00_thumb_5F00_4B447E41.png" width="231" height="150" /></a></p></blockquote> <ul> <li>If you have access issues from other VMs, <em>temporarily</em> shut off Windows Firewall on servers, get connectivity and then go back and troubleshoot public, private files. Most recommend that you can shut off Windows Firewall if you are using VMs for test boxes only. <strong>NEVER</strong> shut off Windows Firewall for staging or production servers.&nbsp; Search for the “Windows Firewall with Advanced Security” shortcut.  </li><li>Then click the “Windows Firewall Properties” link and turn off the appropriate profiles to temporarily disable. If you have access to other VMs and can add them to your domain, then this step is not needed.  </li><li>Set up the Domain Controller VM first.  </li><li>Build a process with on Azure PowerShell scripts to shutdown your VMs when not in use. This will save you money or credit.  </li><li>Find a mobile application that will help you shutdown your VM’s if you do not have access to another device. Each platform has their own and it comes in handy when you are not able to log in to a PC to make this happen. There are multiple on each mobile platform (Windows Phone, iOS and Android)  </li><li>Set a <strong>static IP address</strong> for your VM by using <a href="https://msdn.microsoft.com/en-us/library/azure/dn722490.aspx?f=255&amp;MSPPError=-2147217396" target="_blank">Set-AzureStaticVNetIP</a>, here’s a reference… <a title="http://windowsitpro.com/windows-azure/set-azure-vm-static-ip-address" href="http://windowsitpro.com/windows-azure/set-azure-vm-static-ip-address">http://windowsitpro.com/windows-azure/set-azure-vm-static-ip-address</a>  </li><li><strong>Configure an endpoint to remotely access SharePoint URL remotely</strong>.  <ul> <li>Select the VM hosting the CA/WFE role, then go to Endpoints &gt; Add an endpoint with a public and private port of 80. You can also add a custom domain for the farm, if you choose.</li></ul><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/image_1391C411.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/image_5F00_1391C411.png"><img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/image_thumb_5121B28B.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/image_5F00_thumb_5F00_5121B28B.png" width="675" height="123" /></a>  <ul> <li>Add a Alternate Access Mapping (Central Administration &gt; System Settings &gt; Configure alternate access mappings), usually the name of your cloud service with a .cloudapp.net domain name for the “Internet” zone. This action will allow SharePoint accept requests for this URL.</li></ul> </li><li>Setting up your SharePoint farm depends on your version and your requirements, so from here it’s a matter of planning how to install SharePoint the way you need to test your system.</li></ul> <p>I have found selecting “D” series Virtual Machines will work well, but prefer to have more memory than recommended. For a domain controller and WFEs, I use a D2 with 2 cores and 7GB of memory. For SQL. a D3 with 4 cores and 14GB of memory do the trick.</p> <p>This will get your started with Azure and SharePoint.</p>]]></content:encoded>
    </item>
    <item>
      <title>Access Requests Explained for SharePoint 2013 – With a Script to Assign Default Groups</title>
      <link>https://docs.microsoft.com/archive/blogs/ken_prices_sharepoint_blog/access-requests-explained-for-sharepoint-2013-with-a-script-to-assign-default-groups</link>
      <pubDate>Tue, 07 Oct 2014 12:00:00 GMT</pubDate>
      <dc:creator><![CDATA[Kenneth Price]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/ken_prices_sharepoint_blog/2014/10/07/access-requests-explained-for-sharepoint-2013-with-a-script-to-assign-default-groups/</guid>
      <description><![CDATA[One of the features of SharePoint that has been around is the ability for users that need access to...]]></description>
      <content:encoded><![CDATA[<p>One of the features of SharePoint that has been around is the ability for users that need access to a site, and are denied access, through the “Request Access” process. It’s a simple and straightforward.</p> <p>To enable or review these settings, go to “<em>Settings</em>” &gt; “<em>Site Settings</em>” &gt; “<em>User and Permissions</em>” and click “<em>Access Request Settings</em>”. In the “<em>Access Request Settings</em>” dialog box, select the check box next to “<em>Allow access requests</em>” then provide an email address of the individual you’d like to manage this feature.</p> <p>If a site has multiple groups with the same permission levels (Owners, Members and Viewers) but there is not an assigned default group, then you will see the problem where access requests will either not display for the impacted user or an owner will not be able to approve requests.</p> <p>Here’s a Windows PowerShell script to change each of the groups for a site so that each is identified as the default group for Members, Owners and Visitors </p> <p>You’ll need to a the “Microsoft.SharePoint.PowerShell” add-in at the top of the script to get the SharePoint references. <p><font face="Consolas">#Members Group<br />$web = Get-SPWeb &quot;</font><a href="https://sharepoint.contoso.com"><font face="Consolas">https://sharepoint.contoso.com</font></a><font face="Consolas">&quot;<br />$groupToMakeDefaultMembersGroup = $web.Groups | ? { $_.Name -eq &quot;Team Site Members&quot; }<br />$web.AssociatedMemberGroup = $groupToMakeDefaultMembersGroup<br />$web.Update()</font>  <p><font face="Consolas">#Owners Group<br />$web = Get-SPWeb &quot;</font><a href="https://sharepoint.contoso.com"><font face="Consolas">https://sharepoint.contoso.com</font></a><font face="Consolas">&quot;<br />$groupToMakeDefaultOwnersGroup = $web.Groups | ? { $_.Name -eq &quot;Team Site Owners&quot; }<br />$web.AssociatedOwnerGroup = $groupToMakeDefaultOwnersGroup<br />$web.Update()</font>  <p><font face="Consolas">#Visitors Group<br />$web = Get-SPWeb &quot;</font><a href="https://sharepoint.contoso.com"><font face="Consolas">https://sharepoint.contoso.com</font></a><font face="Consolas">&quot;<br />$groupToMakeDefaultVisitorsGroup = $web.Groups | ? { $_.Name -eq &quot;Team Site Visitors&quot; }<br />$web.AssociatedVisitorGroup = $groupToMakeDefaultMembersGroup<br />$web.Update()</font></p> <p>#Enable Access Requests after it was disabled<br />$web.RequestAccessEmail = &quot;<a href="mailto:user@mydomain.g">user@mydomain.</a>com&quot;<br />$web.Update() <p>If you turn off the feature, you will can re-enable the feature by adding an email address to the “RequestAccessEmail” property.</p> <p>Hope this helps solving the problem around assigning default groups and enabling the Request Access feature in SharePoint 2013.</p></p></p></p></p>]]></content:encoded>
    </item>
    <item>
      <title>Explaining the Use of Internal and External WOPI Zones for Office Web Apps</title>
      <link>https://docs.microsoft.com/archive/blogs/ken_prices_sharepoint_blog/explaining-the-use-of-internal-and-external-wopi-zones-for-office-web-apps</link>
      <pubDate>Wed, 15 Jan 2014 16:30:00 GMT</pubDate>
      <dc:creator><![CDATA[Kenneth Price]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/ken_prices_sharepoint_blog/2014/01/15/explaining-the-use-of-internal-and-external-wopi-zones-for-office-web-apps/</guid>
      <description><![CDATA[Last week, I had learned about an issue that popped up in a SharePoint 2013 farm where the WOPI Zone...]]></description>
      <content:encoded><![CDATA[<p>Last week, I had learned about an issue that popped up in a SharePoint 2013 farm where the WOPI Zone that had a reference to a Fully-Qualified Domain (FQDN) in the internal zone caused an issue after the installation of monthly security patches. It seems that the farm, which had the FQDN internal zone configured since the farm was commissioned, was looking for a NETBIOS name. So what had to be done was to change the “EXTERNAL HTTPS” WOPI zone to have a FQDN (URL) and then make the “EXTERNAL HTTPS” WOPI Zone to be the default zone. Ideally, you would want to set the “INTERNAL” HTTP/HTTPS zone to a NETBIOS value (ex. <a href="http://contoso.com">WEBSVR1</a>) and then the have both the FQDN and the NETBIOS name in the certificate so that if you need to refer to the either, you do not need to go back and cut a new certificate in your farm.</p> <p>I am still in the process of reproducing the issue to see what caused this value to cause a problem within the farm, but when you see where the OWA servers cannot render documents, this would be a good start to review. I have provided a link to the complete instructions on how to configure Office Web Apps so that you can fully understand some of the requirements needed to make OWA perform as you expect.</p> <p>Remember, Internal HTTP/HTTPS = NetBIOS, External HTTP/HTTPS = FQDN, very important in the configuration of this SharePoint component. Also, as you will see in Steve’s article, all this is done through Windows PowerShell and is not exposed through a UI.</p> <p><strong>Reference to process to “</strong><a href="http://blogs.technet.com/b/speschka/archive/2012/07/23/configuring-office-web-apps-in-sharepoint-2013.aspx"><strong>Configuring Office Web Apps</strong></a><strong>” by </strong><a href="http://social.technet.microsoft.com/profile/steve%20peschka/"><strong>Steve Peschka</strong></a></p>]]></content:encoded>
    </item>
    <item>
      <title>SharePoint Health Analyzer–Understand the Fixes for Your Environment</title>
      <link>https://docs.microsoft.com/archive/blogs/ken_prices_sharepoint_blog/sharepoint-health-analyzerunderstand-the-fixes-for-your-environment</link>
      <pubDate>Thu, 16 Feb 2012 16:01:17 GMT</pubDate>
      <dc:creator><![CDATA[Kenneth Price]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/ken_prices_sharepoint_blog/2012/02/16/sharepoint-health-analyzerunderstand-the-fixes-for-your-environment/</guid>
      <description><![CDATA[Entering Central Administration (CA) can be a daunting experience for Administrators whom are...]]></description>
      <content:encoded><![CDATA[<p>Entering Central Administration (CA) can be a daunting experience for Administrators whom are looking at the area for the first time or have a little experience, or become too comfortable and maybe overlook the issues that might impact their SharePoint server’s health. Let look at the basic process of understanding what we can do to resolve the problems when they pop-up in our environment. </p>  <p>Here’s the screen, we all have seen it before and might know why it’s there, or might not and do not know how to fix problems. There are a couple of banners colors that will display; Red or Yellow. Red is bad, yellow might be bad and still need to be viewed (and fixed) quickly. In most cases, the red warnings are rules that impact direct health or security of for the production environment.</p>  <p>When you seen the SP Health Analyzer banner with this type of information, click the “View these issues” link to see what’s going on.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/4431.Critical-Issues-Banner_7ACCB93F.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/4431.Critical_2D00_Issues_2D00_Banner_5F00_7ACCB93F.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Critical Issues Banner" border="0" alt="Critical Issues Banner" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/3056.Critical-Issues-Banner_thumb_7DFEA127.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/3056.Critical_2D00_Issues_2D00_Banner_5F00_thumb_5F00_7DFEA127.png" width="669" height="113" /></a></p>  <p>In this case, I have a test environment on an external drive that I allotted only 60GB (not in compliance with Microsoft’s <a href="http://technet.microsoft.com/en-us/library/cc262485.aspx#section2" target="_blank">Hardware and Software Boundaries</a>) and now I’m being told that my drives are running out of space (see below).</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/1781.Health-Rule---Running-out-of-free-space_440F5E3B.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/1781.Health_2D00_Rule_2D002D002D00_Running_2D00_out_2D00_of_2D00_free_2D00_space_5F00_440F5E3B.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Health Rule - Running out of free space" border="0" alt="Health Rule - Running out of free space" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/0724.Health-Rule---Running-out-of-free-space_thumb_6A714186.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/0724.Health_2D00_Rule_2D002D002D00_Running_2D00_out_2D00_of_2D00_free_2D00_space_5F00_thumb_5F00_6A714186.png" width="767" height="127" /></a></p>  <p>From this message, I can see the category (Availability), which servers are failing, which service told SharePoint about the issue and when it was first reported.</p>  <p><strong>Rules within Health Analyzer</strong></p>  <p>There are multiple categories of rules that you can use or disable, control the schedule or allow the process to automatically repair. It’s important to understand what they do and how they can impact the health of your SharePoint environment. Running out of space is something that SharePoint cannot fix itself, so you’ll have to develop a plan of attack to ensure these architectural items are addressed.</p>  <p>The rules defined in SharePoint cover a broad range and in the following cases identify security and performance issues that can plague various use cases. Review them and understand what the rules are evaluating to keep your environment strong.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/0218.Health-Analyzer-Rule-Definitions_42CAC55C.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/0218.Health_2D00_Analyzer_2D00_Rule_2D00_Definitions_5F00_42CAC55C.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Health Analyzer Rule Definitions" border="0" alt="Health Analyzer Rule Definitions" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/1768.Health-Analyzer-Rule-Definitions_thumb_08DB8270.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/1768.Health_2D00_Analyzer_2D00_Rule_2D00_Definitions_5F00_thumb_5F00_08DB8270.png" width="756" height="361" /></a></p>  <p><strong>Editing a Health Analyzer Rule Definition</strong></p>  <p>Once you receive this screen, there a couple ways to approach the way you resolve the identified issues. Let’s talk about the fields in the screens and see how we can modify the rules to our needs.</p>  <p><strong>Title: </strong>Text that will be shown when the rule is implemented.     <br /><strong>Scope: </strong>This can be “<em>All Servers” </em>or “<em>Any Servers</em>”, as the rule shows, it will try all servers with a specific server or any server on the first available server.&#160; <br /><strong>Schedule: </strong>Choices are “Hourly”, “Daily”, “Weekly”, “Monthly” or “OnDemandOnly”.     <br /><strong>Enabled: </strong>This rule is a “Yes” or “No” option, and is the ideal way to manage rules. I <em>would recommend against</em> explicitly deleting rules.     <br /><strong>Repair Automatically: </strong>SharePoint will attempt to fix the issue automatically if this is selected. My recommendation is to deselect this to ensure you understand what is being done to fix the problem.     <br /><strong>Version: </strong>Version number.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/7536.Rule-Definition---Edit-Mode_2ED132C6.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/7536.Rule_2D00_Definition_2D002D002D00_Edit_2D00_Mode_5F00_2ED132C6.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Rule Definition - Edit Mode" border="0" alt="Rule Definition - Edit Mode" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/4174.Rule-Definition---Edit-Mode_thumb_7F9F472E.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/4174.Rule_2D00_Definition_2D002D002D00_Edit_2D00_Mode_5F00_thumb_5F00_7F9F472E.png" width="642" height="476" /></a></p>  <p>In the next article, we’ll talk about creating your own rule so that you or your team will be alerted if your environment is hitting a rule that you put in place to monitor a best practice or standard you have in your farm.</p>]]></content:encoded>
    </item>
    <item>
      <title>How it works: SharePoint’s Site Use Confirm and Deletion</title>
      <link>https://docs.microsoft.com/archive/blogs/ken_prices_sharepoint_blog/how-it-works-sharepoints-site-use-confirm-and-deletion</link>
      <pubDate>Thu, 09 Feb 2012 16:16:49 GMT</pubDate>
      <dc:creator><![CDATA[Kenneth Price]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/ken_prices_sharepoint_blog/2012/02/09/how-it-works-sharepoints-site-use-confirm-and-deletion/</guid>
      <description><![CDATA[Recently, I was asked exactly how the Site Confirmation and Deletion feature works in SharePoint?...]]></description>
      <content:encoded><![CDATA[<div class="ExternalClass33289AB3169D4E229D7BAA1BE1E4F0E5">   <p>Recently, I was asked exactly how the Site Confirmation and Deletion feature works in SharePoint? Does the timer restart when a user visits the site? Does the feature look at the some field and then reset the value in a service? It was a simple question that made me think about how the process worked from an Administrator point-of-view.</p>    <p>The simple answer is that once a user adds content to a site, a field in a content database is updated and then when a timer job is run, it will review that field and notify site owners appropriately to ensure that they are notified that their site is on “the chopping block”. Based on your configuration, it will notify you after 90 days (by default) of site collection creation or confirmed use. You can change the amount of notifications sent or you can automatically delete the site collection if use is not confirmed after 28 notices. </p>    <p>To access this feature, go to <strong>Central Administration &gt; Site Collections &gt; Site Use Confirm and Deletion</strong> option.</p>    <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/7026.Site-Use-Confirmation-and-Deletion_44C55CCA.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/7026.Site_2D00_Use_2D00_Confirmation_2D00_and_2D00_Deletion_5F00_44C55CCA.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Site Use Confirmation and Deletion" border="0" alt="Site Use Confirmation and Deletion" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/3718.Site-Use-Confirmation-and-Deletion_thumb_639BD0A8.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/3718.Site_2D00_Use_2D00_Confirmation_2D00_and_2D00_Deletion_5F00_thumb_5F00_639BD0A8.png" width="834" height="393" /></a></p>    <p>Some administrators or business users do not like to use this feature, but you can see that you have to make a very big effort to not confirm your site’s usage before it magically vanish. Also, this can provide a great deal of efficiency for the removal of sites that are just not used anymore.</p>    <p>That’s the Executive Summary of how it works, let look at the details.</p>    <p>There are three database fields that play a part in the process and they are:</p>    <ul>     <li>“DeadWebNotifyCount” </li>      <li>“CertificationDate” </li>      <li>“LastContentChange” </li>   </ul>    <p><em>DeadWebNotifyCount</em> and <em>CertificationDate</em> are used to keep track of the date that a site owner verifies the use of the site. These fields are reset when the user verifies usage through the email sent. Do not modify the values in the SharePoint database, as <a href="http://support.microsoft.com/kb/841057" target="_blank">this is not supported by Microsoft</a>. The <em>LastContentChange </em>field keeps record of the last time a document or list item (or any content) changes on the site. This feature does not use the last time a user visited the site, only when content changes.</p>    <p>This feature is misunderstood, but a very valuable tool to manage storage space and helps provide governance within your environment, use it or not, but keeping sites that are timely and relevant is always important and having a tool to help administrator’s is a plus.</p> </div>]]></content:encoded>
    </item>
    <item>
      <title>SharePoint 2010’s Chart Web Part</title>
      <link>https://docs.microsoft.com/archive/blogs/ken_prices_sharepoint_blog/sharepoint-2010s-chart-web-part</link>
      <pubDate>Wed, 08 Feb 2012 16:11:00 GMT</pubDate>
      <dc:creator><![CDATA[Kenneth Price]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/ken_prices_sharepoint_blog/2012/02/08/sharepoint-2010s-chart-web-part/</guid>
      <description><![CDATA[One of the new additions to Microsoft's SharePoint Server 2010 platform is the Chart Web Part...]]></description>
      <content:encoded><![CDATA[<div class="ExternalClass6BD61A95C13C4CADB1B3D4C8B27AD17C">
<div class="ExternalClass3DDC1F27C1A744C3A04E8EC6A12D3BA6 ms-rteThemeFontFace-1 ms-rteFontSize-2">
<p><span>One of the new additions to Microsoft's SharePoint Server 2010 platform is the Chart Web Part (CWP), which allows you to create static and dynamic charts for your site without a line a code. One of the complaints from MOSS 2007 was that users wanted to be able to drop a chart onto their site to create dashboard or display information from Excel documents, or provide metrics to other users in a graphical way. </span></p>
<p><span>So now that the Chart Web Part is available, let see how we can use it. To drop a Chart Web Part on your page, go to Site Actions &gt; Edit Page. From there, click "Insert" from the Editing Tools menu. The "Chart Web Part" is available under the "Business Data" category, then you can click on the CWP option and add to a content area. </span></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/1588.Chart_Web_Part_lg_thumb_0985E939_6D96C5CB.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/1588.Chart_5F00_Web_5F00_Part_5F00_lg_5F00_thumb_5F00_0985E939_5F00_6D96C5CB.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="Chart_Web_Part_lg_thumb_0985E939" border="0" alt="Chart_Web_Part_lg_thumb_0985E939" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/3250.Chart_Web_Part_lg_thumb_0985E939_thumb_4C37202F.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/3250.Chart_5F00_Web_5F00_Part_5F00_lg_5F00_thumb_5F00_0985E939_5F00_thumb_5F00_4C37202F.png" width="656" height="287" /></a></p>
<p><span>Once added to the page, you will see "Data &amp; Appearance" and "Advance Properties" options. </span></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/4130.Chart_Output_thumb_0985E939_11DBAA4E.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/4130.Chart_5F00_Output_5F00_thumb_5F00_0985E939_5F00_11DBAA4E.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="Chart_Output_thumb_0985E939" border="0" alt="Chart_Output_thumb_0985E939" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/1172.Chart_Output_thumb_0985E939_thumb_6315F1AB.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/1172.Chart_5F00_Output_5F00_thumb_5F00_0985E939_5F00_thumb_5F00_6315F1AB.png" width="347" height="381" /></a></p>
<p><span>There are a couple of ways you can go once you click the "Data &amp; Appearance" link. You can change the way that the chart will display under "Customize Your Chart" or change the data connection the chart by selecting "Connect Chart to Data" link. </span></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/1184.Customize_Connect_thumb_0985E939_623D8BC1.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/1184.Customize_5F00_Connect_5F00_thumb_5F00_0985E939_5F00_623D8BC1.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="Customize_Connect_thumb_0985E939" border="0" alt="Customize_Connect_thumb_0985E939" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/2086.Customize_Connect_thumb_0985E939_thumb_08333C18.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/2086.Customize_5F00_Connect_5F00_thumb_5F00_0985E939_5F00_thumb_5F00_08333C18.png" width="505" height="185" /></a></p>
<p><span>The "Customize Your Chart" options will start with selecting the type of chart you'd like to have display your information. There are 2D and 3D chart types you can select and various sub-types of chart types to choose from. </span></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/8030.Chart_Types_thumb_0985E939_395276B8.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/8030.Chart_5F00_Types_5F00_thumb_5F00_0985E939_5F00_395276B8.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="Chart_Types_thumb_0985E939" border="0" alt="Chart_Types_thumb_0985E939" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/2260.Chart_Types_thumb_0985E939_thumb_4573F0DF.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/2260.Chart_5F00_Types_5F00_thumb_5F00_0985E939_5F00_thumb_5F00_4573F0DF.png" width="640" height="287" /></a></p>
<p>&nbsp;&nbsp;</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/3755.Appearance_Properties_thumb_749466C5_23A8184E.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/3755.Appearance_5F00_Properties_5F00_thumb_5F00_749466C5_5F00_23A8184E.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="Appearance_Properties_thumb_749466C5" border="0" alt="Appearance_Properties_thumb_749466C5" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/0028.Appearance_Properties_thumb_749466C5_thumb_74762CB6.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/0028.Appearance_5F00_Properties_5F00_thumb_5F00_749466C5_5F00_thumb_5F00_74762CB6.png" width="640" height="231" /></a></p>
<p>&nbsp;&nbsp;</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/6886.Chart_Element_Properties_thumb_749466C5_2C4870DA.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/6886.Chart_5F00_Element_5F00_Properties_5F00_thumb_5F00_749466C5_5F00_2C4870DA.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="Chart_Element_Properties_thumb_749466C5" border="0" alt="Chart_Element_Properties_thumb_749466C5" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/5226.Chart_Element_Properties_thumb_749466C5_thumb_2B03D7FB.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/5226.Chart_5F00_Element_5F00_Properties_5F00_thumb_5F00_749466C5_5F00_thumb_5F00_2B03D7FB.png" width="640" height="322" /></a></p>
<p><span>Then click "Finish" and you have a web part on your page, but now we need to decide which data to use now that we've make look the way we want. To change the data source, click "Connect Chart to Data" and we'll review the options available. </span></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/0842.Data_Connection_Wizard_thumb_749466C5_3EB0C18F.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/0842.Data_5F00_Connection_5F00_Wizard_5F00_thumb_5F00_749466C5_5F00_3EB0C18F.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="Data_Connection_Wizard_thumb_749466C5" border="0" alt="Data_Connection_Wizard_thumb_749466C5" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/0451.Data_Connection_Wizard_thumb_749466C5_thumb_64A671E5.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/0451.Data_5F00_Connection_5F00_Wizard_5F00_thumb_5F00_749466C5_5F00_thumb_5F00_64A671E5.png" width="669" height="410" /></a></p>
<p><span>We can connect to another web part that has information that we need, maybe from another SharePoint list. We can connect directly to a list, the Business Data Catalog that contains your business system's data or to Excel Services that has a spreadsheet you'd like to dynamically update in one location and pull into a dashboard. For this exercise, I will connect to a List, in this case, I'm going to select my "Help Desk Tickets" list. </span></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/0447.Connect_To_List_thumb_749466C5_5C429C8E.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/0447.Connect_5F00_To_5F00_List_5F00_thumb_5F00_749466C5_5F00_5C429C8E.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="Connect_To_List_thumb_749466C5" border="0" alt="Connect_To_List_thumb_749466C5" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/1425.Connect_To_List_thumb_749466C5_thumb_1414E0B2.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/1425.Connect_5F00_To_5F00_List_5F00_thumb_5F00_749466C5_5F00_thumb_5F00_1414E0B2.png" width="640" height="355" /></a></p>
<p><span>Here is the information that is going to be contained in my chart: </span></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/4744.Retrieve_And_Filter_Data_thumb_749466C5_79D4778D.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/4744.Retrieve_5F00_And_5F00_Filter_5F00_Data_5F00_thumb_5F00_749466C5_5F00_79D4778D.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="Retrieve_And_Filter_Data_thumb_749466C5" border="0" alt="Retrieve_And_Filter_Data_thumb_749466C5" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/4251.Retrieve_And_Filter_Data_thumb_749466C5_thumb_51C1C86E.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/4251.Retrieve_5F00_And_5F00_Filter_5F00_Data_5F00_thumb_5F00_749466C5_5F00_thumb_5F00_51C1C86E.png" width="640" height="185" /></a></p>
<p><span>I provide some information to enhance how the chart will display the data and by which fields the data could be grouped by. </span></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/0044.Bind_Chart_To_Data_thumb_749466C5_579C6C07.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/0044.Bind_5F00_Chart_5F00_To_5F00_Data_5F00_thumb_5F00_749466C5_5F00_579C6C07.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="Bind_Chart_To_Data_thumb_749466C5" border="0" alt="Bind_Chart_To_Data_thumb_749466C5" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/7384.Bind_Chart_To_Data_thumb_749466C5_thumb_7D921C5D.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/7384.Bind_5F00_Chart_5F00_To_5F00_Data_5F00_thumb_5F00_749466C5_5F00_thumb_5F00_7D921C5D.png" width="640" height="208" /></a></p>
<p><span>The final result looks like this: </span></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/2514.Chart_Final_Result_thumb_749466C5_3C839CF9.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/2514.Chart_5F00_Final_5F00_Result_5F00_thumb_5F00_749466C5_5F00_3C839CF9.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="Chart_Final_Result_thumb_749466C5" border="0" alt="Chart_Final_Result_thumb_749466C5" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/2514.Chart_Final_Result_thumb_749466C5_thumb_3F4951EC.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/2514.Chart_5F00_Final_5F00_Result_5F00_thumb_5F00_749466C5_5F00_thumb_5F00_3F4951EC.png" width="640" height="455" /></a></p>
<p><span>You can change some of the properties or styles to get the result you'd like, but you can see it's pretty easy to add a chart (or charts) to your site with a little configuration. We could look at Excel Services or BDC data in the future, but the concept is the same.</span></p>
</div>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Regulate Branding, Master Pages and SharePoint Designer in SharePoint 2010</title>
      <link>https://docs.microsoft.com/archive/blogs/ken_prices_sharepoint_blog/regulate-branding-master-pages-and-sharepoint-designer-in-sharepoint-2010</link>
      <pubDate>Wed, 08 Feb 2012 14:24:40 GMT</pubDate>
      <dc:creator><![CDATA[Kenneth Price]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/ken_prices_sharepoint_blog/2012/02/08/regulate-branding-master-pages-and-sharepoint-designer-in-sharepoint-2010/</guid>
      <description><![CDATA[Let’s start off the article by saying that I am a very big proponent of Microsoft’s SharePoint...]]></description>
      <content:encoded><![CDATA[<div class="ExternalClassF92298D10F314AFB870E1527125FAA3C">   <p>Let’s start off the article by saying that I am a very big proponent of Microsoft’s SharePoint Designer (SPD) product because it allows end users, administrators, designers and developers the opportunity to make changes that can directly impact productivity without the introduction of managed code. That being said, there are some issues that come with providing the freedom to do what is needed to maintain a SharePoint site, especially if someone else is on the hook if a person deletes a site, rebrands a page or causes other acts of madness with SPD.</p>    <p>One of the great features of Microsoft SharePoint Server (MSS) 2010 is that as a Farm Administrator I can check a couple of boxes and access to my farm’s site with SPD and other types of changes is DENIED! But let’s try to be a little more open-minded than taking the easy way out and just shutting everyone out of the fun.</p>    <p>Before we look at the code, let’s figure out what we want to do. The options are as follows:</p>    <ul>     <li>Allow the use of SPD </li>      <li>Allow Master Page editing </li>      <li>Allow users to Revert from Template </li>      <li>Show URL Structure </li>   </ul>    <p>The following lines of code can help you implement one measure of Governance, and some sense of sanity, within your SharePoint farm.</p>    <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:e6af99de-b3f4-447e-b376-70f6a21a540d" class="wlWriterSmartContent">     <div style="border-bottom: #000080 1px solid; border-left: #000080 1px solid; font-family: &quot;courier new&quot;, courier, monospace; color: #000; font-size: 10pt; border-top: #000080 1px solid; border-right: #000080 1px solid">       <div style="padding-bottom: 2px; padding-left: 5px; padding-right: 5px; font-family: verdana, tahoma, arial, sans-serif; background: #000080; color: #fff; font-weight: bold; padding-top: 2px">Code Snippet</div>        <div style="background: #ddd; max-height: 300px; overflow: auto">         <ol style="padding-bottom: 0px; margin: 0px 0px 0px 2em; padding-left: 5px; padding-right: 0px; background: #ffffff; padding-top: 0px">           <li>SPSite site = SPContext.Current.Site; </li>            <li style="background: #f3f3f3">// Check to see if the properties have been previously set by Admin and if so, retain those values </li>            <li>// These properties change the settings in Site Collection Administration for the SharePoint Designer Settings </li>            <li style="background: #f3f3f3">site.AllowUnsafeUpdates = true; </li>            <li>site.AllowDesigner = IsSiteDesignerAllowed(site); </li>            <li style="background: #f3f3f3">site.AllowMasterPageEditing = IsMasterPageEditingAllowed(site); </li>            <li>site.AllowRevertFromTemplate = IsRevertFromTemplateAllowed(site); </li>            <li style="background: #f3f3f3">site.ShowURLStructure = ShowSiteURLStructure(site); </li>            <li>site.Dispose(); </li>         </ol>       </div>     </div>   </div>    <p>&#160;</p>    <p>The code above is reflected in the UI within SharePoint’s Central Administration:</p>    <p>&#160;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/3010.CA_Control_SharePoint_Designer_thumb_41CFA7D6_2BCB2DA5.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/3010.CA_5F00_Control_5F00_SharePoint_5F00_Designer_5F00_thumb_5F00_41CFA7D6_5F00_2BCB2DA5.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="CA_Control_SharePoint_Designer_thumb_41CFA7D6" border="0" alt="CA_Control_SharePoint_Designer_thumb_41CFA7D6" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/2330.CA_Control_SharePoint_Designer_thumb_41CFA7D6_thumb_118AC481.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/2330.CA_5F00_Control_5F00_SharePoint_5F00_Designer_5F00_thumb_5F00_41CFA7D6_5F00_thumb_5F00_118AC481.png" width="640" height="214" /></a></p>    <p>Let me try to explain what each option allows you to limit. First we have to the ability to limit SPD. In this case, we’re allowing the site administrators to edit sites with SPD. This is also scoped at the SPSite level, as well. deselecting this option will deny users to make changes via SPD.</p>    <p>Next is the “Detach Pages from Site Template”, which allows users to create their own design based off a template. It’s the equivalent of copying a template so it can be available in a stand-alone fashion.</p>    <p>“Allow Site Collection Administrators to Customize Master Pages and Layout Pages” enables changes to be made to those specific pages. This would significantly impact branding if you let users change the Master Page at will.</p>    <p>Finally, we have the ability to let users see (and manage) URL Structure. Moving pages, see which folders and files exist are just some of the examples. </p>    <p>So the purpose of showing the images is not for the code, but to show the potential flexibility that you have within your farm to allow some site collection administrators access to the tools needed, or restrict the use of those same tools to others. </p>    <p>As far as the code, a developer could continue with this and develop a feature where an administrator could turn on or turn off access on each Site Collection (<strong>SPSite</strong>) as needed. I like the fact that this solution is flexible and helps you govern your environment and the choices can be tuned on an as-needed basis</p> </div>]]></content:encoded>
    </item>
    <item>
      <title>Managing Your Web Applications by Applying User Policies and Custom Permission Levels</title>
      <link>https://docs.microsoft.com/archive/blogs/ken_prices_sharepoint_blog/managing-your-web-applications-by-applying-user-policies-and-custom-permission-levels</link>
      <pubDate>Sun, 05 Feb 2012 14:26:52 GMT</pubDate>
      <dc:creator><![CDATA[Kenneth Price]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/ken_prices_sharepoint_blog/2012/02/05/managing-your-web-applications-by-applying-user-policies-and-custom-permission-levels/</guid>
      <description><![CDATA[If you are trying to control how certain users or groups can manipulate objects within your Web...]]></description>
      <content:encoded><![CDATA[<p>If you are trying to control how certain users or groups can manipulate objects within your Web Application, creating custom permission levels are the way to do it. There a couple of different ways to accomplish this, but the most flexible is to create a custom Permission Policy and in this case, I am limiting a specific user and a security group from creating subsites. Creating subsites impacts the obvious new site creation on a collaboration site, but also can limit creating subsites under a My site, a great governance tool if you have limited space or need to apply other rules to the process.</p>  <p>Let’s start the process.</p>  <p>First, go to <em><strong>Central Administration</strong></em>, then <strong>Application Management</strong> &gt; <strong>Web Applications</strong> &gt; <strong>Manage Web Applications</strong>. Below is a list of my Web Applications that I can apply to my policy. Select “User Policy” for the appropriate Web App (I selected “SharePoint – 80”).</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/7215.Web-App-User-Perms_498762CE.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/7215.Web_2D00_App_2D00_User_2D00_Perms_5F00_498762CE.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Web App User Perms" border="0" alt="Web App User Perms" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/1832.Web-App-User-Perms_thumb_418FC06C.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/1832.Web_2D00_App_2D00_User_2D00_Perms_5F00_thumb_5F00_418FC06C.png" width="680" height="270" /></a></p>  <p>Before I start, the default users and permissions are listed below, but I want to add my own permission so that I can limit the creation of sub-sites for a specific user (and security group). I select the “Permission Policy” button, then I get this screen to create my own permission policy. Click “Add Permission Policy Level” to start the process.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/6131.Manage-Permission-Levels_39981E0A.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/6131.Manage_2D00_Permission_2D00_Levels_5F00_39981E0A.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Manage Permission Levels" border="0" alt="Manage Permission Levels" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/7711.Manage-Permission-Levels_thumb_34B56A4E.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/7711.Manage_2D00_Permission_2D00_Levels_5F00_thumb_5F00_34B56A4E.png" width="516" height="283" /></a></p>  <p>The first screen I see to build my permission level asks me to create a Name and Description. The “Site Collection Administrator” and “Site Collection Auditor” provides a method to elevate permissions and let the user or group identified in this policy. As the creator of the permission level, there’s a granular control over what level of access I will let this group have in this web application.</p>  <p>&#160;</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/2437.Add-Permission-Level_58025EF3.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/2437.Add_2D00_Permission_2D00_Level_5F00_58025EF3.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Add Permission Level" border="0" alt="Add Permission Level" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/5076.Add-Permission-Level_thumb_5C9869AD.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/5076.Add_2D00_Permission_2D00_Level_5F00_thumb_5F00_5C9869AD.png" width="512" height="863" /></a></p>  <p>After I select “Grant All”, I can go back in and change individual permissions. In this case, I have denied the ability to create subsites. This is a helpful permission level if you have users that constantly delete sites. </p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/4118.Site-Permission---Create-Site_7B6EDD8B.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/4118.Site_2D00_Permission_2D002D002D00_Create_2D00_Site_5F00_7B6EDD8B.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Site Permission - Create Site" border="0" alt="Site Permission - Create Site" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/6646.Site-Permission---Create-Site_thumb_53C86161.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/6646.Site_2D00_Permission_2D002D002D00_Create_2D00_Site_5F00_thumb_5F00_53C86161.png" width="309" height="263" /></a></p>  <p>After I’ve finished, my permission level is available to be utilized in my web application.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/5078.Permission-policy-result_67E17DEA.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/5078.Permission_2D00_policy_2D00_result_5F00_67E17DEA.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Permission policy result" border="0" alt="Permission policy result" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/0876.Permission-policy-result_thumb_5217958D.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/0876.Permission_2D00_policy_2D00_result_5F00_thumb_5F00_5217958D.png" width="513" height="312" /></a></p>  <p>When I finish, I am going back to click “Add Users”…</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/8637.Users-and-Add-User-Start_182852A1.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/8637.Users_2D00_and_2D00_Add_2D00_User_2D00_Start_5F00_182852A1.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Users and Add User Start" border="0" alt="Users and Add User Start" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/8712.Users-and-Add-User-Start_thumb_5066C9B9.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/8712.Users_2D00_and_2D00_Add_2D00_User_2D00_Start_5F00_thumb_5F00_5066C9B9.png" width="533" height="297" /></a></p>  <p>This screen will pop-up and now you can select a zone to restrict. In this case, I’m going to restrict all zones within this web application.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/1307.Security---Select-Zones_167786CD.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/1307.Security_2D002D002D00_Select_2D00_Zones_5F00_167786CD.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Security - Select Zones" border="0" alt="Security - Select Zones" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/1781.Security---Select-Zones_thumb_5C8843E0.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/1781.Security_2D002D002D00_Select_2D00_Zones_5F00_thumb_5F00_5C8843E0.png" width="513" height="257" /></a></p>  <p>Then select a user (DEMO\price) and a Security Group (DEMO\SharePoint Admins) and apply the “Deny Site Creation” permission level. Notice that I could apply the “Account operates as System” bit and that will record actions as a system account versus an individual account.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/6746.Add-Users-and-Apply-Permission-Level_14C6BAF9.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/6746.Add_2D00_Users_2D00_and_2D00_Apply_2D00_Permission_2D00_Level_5F00_14C6BAF9.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Add Users and Apply Permission Level" border="0" alt="Add Users and Apply Permission Level" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/5504.Add-Users-and-Apply-Permission-Level_thumb_21C09B0A.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/5504.Add_2D00_Users_2D00_and_2D00_Apply_2D00_Permission_2D00_Level_5F00_thumb_5F00_21C09B0A.png" width="612" height="695" /></a></p>  <p>I finish this and now I am ready to test by logging in a “DEMO\price” and then try to create a site by clicking “Site Actions”. If you notice the option is trimmed so that the user does not see the option.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/0726.No-Create-Site-Option_79ADEBEA.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/0726.No_2D00_Create_2D00_Site_2D00_Option_5F00_79ADEBEA.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="No Create Site Option" border="0" alt="No Create Site Option" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/5428.No-Create-Site-Option_thumb_58BA7943.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/5428.No_2D00_Create_2D00_Site_2D00_Option_5F00_thumb_5F00_58BA7943.png" width="311" height="392" /></a></p>  <p>I had to test this a couple times to make sure the permission level was acting as expected, but it works as advertised and now I can apply different policies for Lists, Libraries, Site Management, Personal View or Alert actions.</p>  <p>That’s pretty much it and I like this way to manage my policies instead of applying them across my entire web application because I can go back in and add another user or uncheck a box, or create a new permission level that only applies to another set of users.</p>]]></content:encoded>
    </item>
    <item>
      <title>An Introduction To My TechNet Blog</title>
      <link>https://docs.microsoft.com/archive/blogs/ken_prices_sharepoint_blog/an-introduction-to-my-technet-blog</link>
      <pubDate>Tue, 31 Jan 2012 18:48:32 GMT</pubDate>
      <dc:creator><![CDATA[Kenneth Price]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/ken_prices_sharepoint_blog/2012/01/31/an-introduction-to-my-technet-blog/</guid>
      <description><![CDATA[As an Microsoft employee for over a year, I have been trying to get ahead of the learning curve on...]]></description>
      <content:encoded><![CDATA[<p>As an Microsoft employee for over a year, I have been trying to get ahead of the learning curve on many different aspects of my position as a Premier Field Engineer (PFE). Now that I have been able to get ahead of the various aspects of my job and my workplace, I am going to start providing my experiences in SharePoint and any technologies that directly impact the product in the hopes that I can help others that have some of the same questions that I might face in my daily interaction with customers and peers.</p>  <p>Like anyone else who is trying to explain technical information, my goal is to be concise and accurate, so please leave comments, ask questions or email me to continue the conversation that we start here. I hope I do well and for you to enjoy and learn from my small contribution to this large Microsoft community.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/6471.ken_sign_2D2D7A59.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/6471.ken_5F00_sign_5F00_2D2D7A59.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="ken_sign" border="0" alt="ken_sign" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/51/metablogapi/1261.ken_sign_thumb_0C3A07B2.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-51-metablogapi/1261.ken_5F00_sign_5F00_thumb_5F00_0C3A07B2.png" width="189" height="86" /></a></p>]]></content:encoded>
    </item>
  </channel>
</rss>