How to Configure the Recycle Bin and Save the Sanity of Every SharePoint Admin

SharePoint Recycle BinIssue: You’ve just been notified by one of your users that the super important document that keeps your company running is now missing and may very likely have been deleted.

What do you do now?

Solution: Well, the good news is – it can be recovered! This blog will discuss a couple document restore options and hopefully help you save the day and get the promotion (or at least a free lunch).

If you’re new to SharePoint administration or maybe just forgot about this built-in feature, SharePoint has a Recycle Bin. A few years ago, we explained how to empty the recycle bin in SharePoint. And while you probably don’t want to delete at this time, the Recycle Bin feature can easily save you a lot of time and effort by just a click of a button. Keep in mind, SharePoint’s default settings will save deleted items for 30 days, but this value can be adjusted, see below.

Recover Document or Backup/Restore SharePoint Recycle Bin

To access the SharePoint Recycle Bin:

  1. Log onto the SharePoint site
  2. Site Actions >> Site Settings
  3. Under the group “Site Collection Administration”  select Recycle Bin
  4. Site Collection Administration Recycle Bin
  5. You will be presented with a list of items that have been deleted within the last 30 days
  6. End User Recycle Bin Items
  7. If the document you’re looking for is not there, be sure to check the second layer of the SharePoint Recycle bin: “Deleted from end user Recycle Bin”
  8. Deleted from End User Recycle Bin
  9. Hopefully, this recovers your deleted item and saves the day.

Configuring SharePoint Recycle Bin Settings at Web Application Level

This affects all sites hosted by that Web Application. (The instructions below work for both SharePoint 2010 and SharePoint 2013.) To configure Recycle Bin settings at the Web application level:

  1. On the Quick Launch, Click Application Management
  2. Under Web Applications >> Manage Web Applications
  3. Select the Web Application you wish to adjust the Recycle Bin settings. On the SharePoint Ribbon select General Settings >> General Settings
  4. SharePoint Ribbon General Settings
  5. Under the Web Application General Settings navigate to the Recycle Bin section and follow the guidelines below the image to configure to your liking.
  6. Web Application General Settings Recycle Bin

Recycle Bin Status:

  • On or Off

Delete Items in the Recycle Bin:

  • You can adjust the Recycle Bin retention period ( the amount of days items will be saved into the Recycle bin)
  • Default days = 30
  • Example: With the default value of 30 days, if item never deleted by the user in the first recycle bin, it will be automatically deleted permanently from the first and second recycle bin after 30 days. If item is deleted from the first recycle bin after 10 days, item will be permanently deleted from the second stage recycle bin after 20 days.

Second State Recycle Bin:

  • Select Add, and then type the number that is the percentage that you want to increase a site’s quota for Recycle Bin items. Otherwise, select Off to disable second-stage Recycle Bins
  • You can completely turn off the second-stage recycle bin which will disable the second-stage recycle bin.
  • Keep in mind that first stage of the recycle bin counts towards your site collection quota but Second stage of recycle bin has its own quota defined by these settings.
  • Example: If you define 100 GB site quota per site collection in the web application and allocate 50% quota for the second stage recycle bin, SharePoint will allocate 50 GB storage quota to the second-stage recycle bin making it 150 GB storage quota per site collection on the web application in the content database. This may have large implication of content database sizing and SQL Server storage requirements.
  • Here is most important and potentially scary nature of 2nd stage recycle bin => If site quota is not configured at the site collection level then recycle bin quota is unlimited.

That’s it! Click OK at the end of the configuration window to save changes

Pro Tip: To protect yourself against data loss please review all Managed Backup options available by Every business is different and we can work with you to find a Business Continuity Plan that fits your needs. Also, for further protection for your SharePoint documents, check out our Managed Backups and Recovery options.

Read More
Tagged under


(If you haven’t already, feel free to check out our Partner post “Adding Hoozin to’s Private Cloud”)

Recently we’ve been working closely with our ISV partners to learn more about their products and the great benefits they add to dedicated SharePoint environments hosted at  Today, I would like to highlight the social collaboration platform by Hoozin.

One of the great things about this platform is that it can be installed, completely controlled, and customized on your hosted SharePoint servers.  It provides many similar functionalities as Yammer; however, Yammer is only available as a public cloud service offered by Microsoft.  Utilizing Hoozin with gives you full control of the configuration and customization of the application and its powerful social capabilities.

Implementing Hoozin in your hosted SharePoint environment allows your users to immediately take full advantage of the social features in SharePoint Server 2013 in a beautiful interface that fosters collaboration. It is an easy-to-use experience that allows your internal users (and external partners but more on that later) to configure their user account and start posting, liking, and following away.

Custom branded Hoozin intranet landing page

Currently, there are four types of application template extensions for the communities which you can utilize to increase your employee productivity, interaction, and platform adoption: Help desk, Project, Scheduler, and Document Management. This app store includes an SDK that allows you or your partners to build additional application templates to suit your business requirements.

Available apps in the Hoozin app store

Lets’s take a brief look at what you get with each of these apps.

Document Management

Hoozin document management app interface

The Document Management app allows you to easily upload, tag, and view your documents.  There are a few different views which allow you to visualize your documents and folders with in a similar fashion to Windows Explorer.


Hoozin Help Desk applicationHoozin scheduler apps allows you to propose event times

This application allows your users to post events and solicit votings for dates and times for the event.


Hoozin Help Desk application

The Help Desk application allows the quick deployment of an issue and bug tracking system.  As a helpdesk team member, you can filter the bugs/issues communicate with the customer and eventually close the issue.


Hoozin Project management application

The Project app allows you to create a simple project management system complete with task management, milestones, and reports. You can export and import Microsoft Project (mpp) files.

Collaborate with External Users

Hoozin makes it easy to invite external users to the conversation. The external user is sent an email invitation with a hyperlink and temporary password. Once the user logs in, they are walked through a wizard to change their password, create a profile, and start socializing.  These users are stored in Active Directory Lightweight Directory Services which means you don’t need to create an Active Directory account on your network!

Invite external users to join the conversation!

User Profile complete with achievements!


These are just example out-of-the-box applications and Hoozin is currently building many more. By utilizing the Hoozin SDK and the sample application code provided, your developers can build some amazing plug in applications that are tailored to your specific business requirements as well!


Read More
Tagged under



There are many differences between SharePoint 2010 and SharePoint 2013, not only an end user perspective, but also from administrator and developer perspectives as well. Let’s focus on one important administrative difference: Search Service Application.

So, for all of you SharePoint Administrators out there, we all know that Search is very simple – doesn’t use a lot of resources and once it’s provisioned, it just works, right? WRONG! Search is a beast; we all know that. But it gives us all job security, and if money wasn’t an issue, even the smallest organizations would have multiple servers just running Search.

Now, assume you have multiple application servers to run your Search Service Application. How do you move the search components to the application server(s)? With SharePoint 2010, you could do it through the Central Administration GUI. In SharePoint 2013? Not so much.

How do you modify the Search topology in SharePoint 2013?

Now, you now must use PowerShell. You can either use the SharePoint Management Shell or ISE. I prefer to use PowerShell ISE. It’s more colorful and much easier on the eyes. I’m going to walk you through the entire process.

The first thing I do is make sure the Index location is on the correct drive. It is always best practice to place the SharePoint bits, log files, and index files on a separate partition from the Operating System.

Step 1: Check Index File Location

  1. From the server that is currently running the Search Service, open PowerShell ISE.
  2. First and foremost, add the SharePoint Snapin in order to run the proper cmdlets. From the command line in ISE, type the following command. Press Enter.

    SharePoint Snapin
  1. Now, we can properly run the following commands using the script window in ISE. Type the following command, and click Run Script, as shown below.
    $ssi = Get-SPEnterpriseSearchServiceInstance

    Use Script Window in ISE
  1. This will display the following data. Note that both locations are located on the “S” drive, which is NOT the same drive that contains the Operating System.
  2. Located on the S Drive

Before we can start modifying the topology, we need to ensure that the Search Index is empty and that no crawls are currently running or scheduled to run during our modifications.

Step 2: Ensure Search Index is Empty and No Crawls are Running

  1. From the server that is currently running the Search Service, browse to Central Administration.
  2. From the Application Management section, click Manage Service Applications.
  3. Manage Service Applications
  4. Locate and click the Search Service Application.
  5. Search Service Application
  6. From the Search Service Application: Search Administration page, ensure that the Searchable Items shows “0
  7. Searchable Items
  8. Next, while still on the Search Administration page, select Content Sources from the Crawling section in the quick launch area.
  9. Content Sources
  10. On the Manage Content Sources page, verify that the status shows “Idle” and no crawls are scheduled to run in the near future.
  11. Idle Status

Now we can finally begin modifying the topology of the Search Service Application.

Step 3: Modify Search Topology

As stated above, you can either use PowerShell ISE, or the SharePoint Management Shell to perform the below functions. I prefer to use PowerShell ISE, so the screenshots shown below will be taken from it.

  1. From the server that is currently running the Search Service Application, open PowerShell ISE.
  2. The first thing we need to do is add a few variables in PowerShell. Use the following commands to specify each server you would like to add search components to. In this particular scenario, I have two Web Front End Servers and two Application servers. I will choose to run the Search components on both Application Servers. If you have more than two servers, the below script can be modified to add additional hosts.
    $hostA = Get-SPEnterpriseSearchServiceInstance -Identity "Server1"
    $hostB = Get-SPEnterpriseSearchServiceInstance -Identity "Server2"
    Start-SPEnterpriseSearchServiceInstance -Identity $hostA
    Start-SPEnterpriseSearchServiceInstance -Identity $hostB
  3. Once the above commands are ready (don’t forget to change the server names), select Run Script to input those variables.
  4. Run Script
  5. These commands will also start the SharePoint Server Search and Search Host Controller Service on each server you added. You need to ensure these services are Started before continuing. You can check by browsing to Central Administration > System Settings > Manage Services on Server. Be sure to have the correct server selected at the top of the page.
    Manage Services on Server
  6. You can also use the following commands and keep running them until each host Status displays “Online”.
    Get-SPEnterpriseSearchServiceInstance -Identity $hostA
    Get-SPEnterpriseSearchServiceInstance -Identity $hostB
  7. I prefer to keep all my commands on the page while performing this work. If you do the same, you will need to highlight the two new commands and use the Run Selection button instead of the Run Script button, as shown below.
    Run Selection
  8. Running the two above commands will display the following. Continue to run this command until all servers show “Status: Online”.
    Status Online
  9. You will now need to create an entirely new Search Topology. Using PowerShell ISE, type and run the following commands:
    $ssa = Get-SPEnterpriseSearchServiceApplication
    $newTopology = New-SPEnterpriseSearchTopology -SearchApplication $ssa
    new Search Topology
  10. Now it is time to choose which search components you want to run on what servers. In this example, as I only have two application servers, I am going to split each component and have each server run all components. As you can see in the following commands, each server will host the same six components.
    New-SPEnterpriseSearchAdminComponent -SearchTopology $newTopology -SearchServiceInstance $hostA
    New-SPEnterpriseSearchCrawlComponent -SearchTopology $newTopology -SearchServiceInstance $hostA
    New-SPEnterpriseSearchContentProcessingComponent -SearchTopology $newTopology -SearchServiceInstance $hostA
    New-SPEnterpriseSearchAnalyticsProcessingComponent -SearchTopology $newTopology -SearchServiceInstance $hostA
    New-SPEnterpriseSearchQueryProcessingComponent -SearchTopology $newTopology -SearchServiceInstance $hostA
    New-SPEnterpriseSearchIndexComponent -SearchTopology $newTopology -SearchServiceInstance $hostA -IndexPartition 0
    New-SPEnterpriseSearchAdminComponent -SearchTopology $newTopology -SearchServiceInstance $hostB
    New-SPEnterpriseSearchCrawlComponent -SearchTopology $newTopology -SearchServiceInstance $hostB
    New-SPEnterpriseSearchContentProcessingComponent -SearchTopology $newTopology -SearchServiceInstance $hostB
    New-SPEnterpriseSearchAnalyticsProcessingComponent -SearchTopology $newTopology -SearchServiceInstance $hostB
    New-SPEnterpriseSearchQueryProcessingComponent -SearchTopology $newTopology -SearchServiceInstance $hostB
    New-SPEnterpriseSearchIndexComponent -SearchTopology $newTopology -SearchServiceInstance $hostB -IndexPartition 0

    host the same six components
  11. The above command essentially created the new topology. Now that it is created, we must activate this topology for the farm to use. Run the following command to active the topology.
    Set-SPEnterpriseSearchTopology -Identity $newTopology
  12. activate this topology
    This command could take a few minutes to run. The best way to tell when the command is complete is by watching the tool bar at the top. The red square indicates the command is still running. When the arrow switches back to green, the command has completed. Now that the new topology is activated, we can verify.
  13. Run the following command to verify the active topology.
    Get-SPEnterpriseSearchTopology -SearchApplication $ssa
  14. verify the active topology
  15. Use the command output to verify that the new topology is the active one. It should be the one with the most recent Creation Date, but you can also verify by using the Topology ID and match it up with the command output from step 9 above.Match Topology ID with the command output
  16. The following command can be used to verify each component of the search topology.
    Get-SPEnterpriseSearchStatus -SearchApplication $ssa -Text

Your output should be similar to the following:

Your Output

And there you have it! Your SharePoint’s Search Service topology is now configured in the proper way. Note that all the server names above contain the letters “AP” which refer to the Application Servers. No search component is running on either of the Web Front Ends.

Read More
Tagged under


Where to Find Usage Reports for SharePoint 2013

There is much confusion around the SharePoint community on whether or not web analytics works in SharePoint Foundation 2013.

After working on numerous SharePoint 2013 environments, I can confirm that SharePoint Foundation is lacking this feature. I came across this technet article discussing if the Foundation version of SharePoint 2013 has web analytics or not, and the top response is from a SharePoint MVP and stating in short that Foundation does not have analytics.

If you’ve used SharePoint 2013 you may have ran into this issue when clicking the Site Web Analytics Reports.

You likely encountered this SharePoint Error Message:

Site Web Analytics Reports


The error message’s ambiguous language will make it seem like the feature isn’t turned on or perhaps broken: “A web analytics report is not available for this site.  Usage processing may be disabled on tis server or the usage data for this site has not been processed yet.” Let me assure you, however, that this link will never return any data.

Why? Because the Site Web Analytics Report page doesn’t work in any version of SharePoint 2013. And this, of course, leads us all to ask the question:

Why did Microsoft leave the “Site Web Analytics reports” link if it’s broken?

Well, portions of the analytics engine that remain the same from SharePoint 2010 are still working in the background of SharePoint. Furthermore, SharePoint Foundation 2010 had a working analytics engine that would give detailed reports.  My semi-educated guess is that it’s a remnant from SharePoint 2010 that still has some limited functionality.

As an aside, the “Site Collection Web Analytics reports” link still works, but it’s not very informative.

Site Actions

SharePoint Server 2013 does have a working analytics engine.

View Usage Reports

However, it was changed from SharePoint 2010 and is now a part of the search function and doesn’t use the Site Web Analytics report link. Since analytics is now a part of search and you can only get SharePoint’s full search capabilities from the SharePoint Server, this is why analytics only works for version of SharePoint server and above.  The new analytics is called “Popularity Trends” and “Popularity and Search Reports.” Inside these links you will see Usage Reports.

Site Administration

Site Collection Administration

When you open up a Usage Report in SharePoint 2013, you will need Excel to view the reports, unlike in SharePoint 2010 which loads the information within a SharePoint page.  Below is a picture for comparison.

SharePoint 2013

Usage Report in SharePoint 2013

SharePoint 2010

Usage Report in SharePoint 2010

Still wondering what version of SharePoint you have?

Open Central Administration up and go to Upgrade ad Migration, then go to Check product and patch installation status.

This page will say if you have Foundation, Server, or Enterprise. Check out this blog for more feature comparisons between the three versions of SharePoint.

Even people who have working analytics in SharePoint sometimes find that the analytics in SharePoint doesn’t provide them with the information they need in regards to web traffic and site usage. These people have turned to 3rd party solutions.  Three options for 3rd party options that accomplish this are Google Analytics, HarePoint Analytics, or AngelFish.  Click their links for more information regarding their 3rd party analytic software packages.

Read More
Tagged under


Firefox 30.0 logoIf you have recently upgraded to Firefox Release 30.0 AND you are on a Non-Windows OS, you may have noticed that you are now getting a ‘401 Unauthorized’ error when attempting to log in. This is due to a change by Mozilla to disable support for NT LAN Manager Version 1 (NTLMv1) network authentication. The result of this change on a Windows based OS is that authentication will switch to NTLMv2 automatically but Firefox for a Non-Windows OS does not support NTLMv2 and instead will present the error you are receiving.

Firefox Access Denied SharePoint Troubleshoot

Firefox 30 was first offered to Release channel users on June 10, 2014 according to If you did not manually download the most recent update, it was likely pushed out and auto-updated.

There have been a few discoveries that can help resolve this issue;

Option 1: Enabling NTLMv1 in Firefox 30

  1. Open Firefox on the Machine that you are experiencing this issue.
  2. Type about:config  in the address bar and press enter.
  3. Click the ‘I’ll be careful, I promise!’ button if prompted to do so.
    Firefox Access Denied SharePoint Troubleshoot 2
  4. Search for the string, ‘network.negotiate-auth.allow-insecure-ntlm-v1
    Firefox Access Denied SharePoint Troubleshoot 3
  5. Double clicking this setting will change the Value from false to true.
  6. Once the setting has been changed, it is already saved and you can close this Tab in Firefox. Try to load you site again, and—Voila! You are now able to access your site again!

Option 2: Use an Alternate Browser

This could be Chrome, Internet Explorer, the Built-in browser; Safari, or others. This would also mean that you would have no cached content (cookies, site content, passwords, etc…) and will need to migrate this data or start fresh.

Option 3: Change Your Authentication Method

Changing to forms based authentication or Kerberos will also remedy this issue, but will require a bit of work and is a massive change to your environment. To read more on Authentication methods, please see the following articles.

  • Plan for user authentication methods in SharePoint 2013
  • Plan authentication methods (SharePoint Server 2010)
  • Plan authentication methods (SharePoint Foundation 2010)
  • Plan authentication methods (Office SharePoint Server)

Option 4: Use Windows

If you were to follow Microsoft’s Best Practices, you would open your site in the Latest version of Internet Explorer on the most recent Windows OS with all patches up-to-date. At times, I think it is easy for users to forget that SharePoint is a Microsoft Product and is designed to work best when used in conjunction with other Microsoft Products.

Read More
Tagged under


I recently ran into a problem with Anonymous Access in SharePoint 2010.

It was setup correctly in Central Administration – on the site, the Anonymous user had access, and in IIS, the site had Anonymous Authentication allowed.  And yet, for some reason, I still could not get in anonymously.

After doing a bit of digging, I found a problem in IIS sites where permissions was not granted to the ‘Everyone’ user. This was very obvious after I found it, but not so much beforehand. So, at this point, you can either skip to the bottom of this article to fix that permission, or run through the steps I did to ensure that anonymous access is setup correctly.

Overview of Anonymous Access

Let’s say you’ve built out your SharePoint website and are now wanting anyone to come and visit your site, so you enable anonymous access on the site collection but no such luck. It still prompts you to log in, even with anonymous access settings turned on. Frustrating.

Let’s double check that anonymous access features have been turned on in three places:

1. Central Administration
2. On the site
3. IIS (Internet Information Services 7)

Central Administration:

Log on to your SharePoint server and load up Central Administrator.

In Central Administration, we are going to navigate to your web application settings.  Central Administrator -> Application Management: Manage Web applications, select the web app of the site you want to enable Anonymous access for and check Authentication Providers.  Click the Default under Zone.  In the Edit Authentication check the ‘Enable Anonymous Access.’

Enable Anonymous Access

From the same place, Central Administrator -> Application Management: Manage Web applications, select the web app and check Anonymous Policy. Ensure that ‘None – No Policy’ is selected.

Anonymous Policy

Now that everything in Central Administrator looks good, let’s check the site.

On the site:

Go ahead and navigate to the site in question, log in, and go to Site Actions -> Site Permissions.  Click Anonymous Access in the Ribbon.  In the Anonymous Access window select Entire Web site and click ok.

Select Entire Web Site

It will add the Anonymous Users to the permissions list.

Add the Anonymous Users to the permissions list

So all looks good – Central Administration is set and the site has access for the anonymous user.  But we are still getting prompted for credentials…  Let’s check IIS.

Check IIS:

Open Internet Information Services (IIS) manager and expand the Sites tab and look for your site in there. Select your site and click the Authentication icon under the IIS section.

IIS Authentication icon

In the Authentication window, make sure Anonymous Authentication is Enabled.

Enable Anonymous Authentication

Now, here is where we get stuck: All the different places were the Anonymous Access could be turned off are on, but still we cannot get to the site without being prompted for credentials.

Well one last place to check is the web site’s permissions. In IIS manager, select the site, and right click it and select Edit Permissions.

Edit Permissions

This will open up a site properties box, select the Security tab. In the Group and Usernames that have access to the site, make sure that Everyone has Read privileges. If not, you’ll have to add it, by clicking Edit.  On the next window, click Add.  Find the Everyone user, click ok and then give them check the Read under the Allow column.

Everyone has Read privileges

Now go back to the site and see if it prompts you to enter credentials.  No prompt for credentials? Hurray!

This makes sense considering a web site is just a group of files, if the ‘Everyone’ user doesn’t have permissions to read it, no one without explicit permissions to the site will be able to view it.

Remember: This article is for SharePoint 2010, but if it’s an IIS permission problem, then it could affect more than just your SharePoint 2010 sites.

Read More
Tagged under


With every new version of SharePoint, there are expected changes.

Some changes are minor, some are major; some you’ll never notice, and some are just frustratingly trivial. So, what do I mean by frustratingly trivial? These are changes that, at first glance, seem minor and inconsequential, but in truth lead to many headaches and a yawlping “WHY?!”

There were quite a few changes in SharePoint Designer 2013 regarding workflows: The concept of stages was added, Microsoft finally gave us an easy way to loop actions, and now it’s really easy to assign tasks and call a web service. These are all welcomed changes (for the most part).

One change, however, is not welcomed. And it definitely falls into the category of frustratingly trivial. The change is in the action Wait for Field Change in Current Item. It’s a great action, and one I use quite frequently.

In a previous blog, I talked about creating an approval process on the form. This was a critical action. It still is a critical action, but it was much easier to implement in 2010. Here’s why: It provided you a trigger to continue the workflow based off a number of options. Here’s the action in 2010. You can specify the field, the operator, and the value.

Wait Action in SharePoint 2010

Wait Action in SharePoint 2010

What do I mean by changing the operator? Click on the to equal, and you are presented with the following options:

Operators in SharePoint 2010

Operators in SharePoint 2010

Now, here’s the same action in the SharePoint Designer 2013.

Wait Action in SharePoint 2013

Wait Action in SharePoint 2013

Notice now you can only change the field and the value. And the value has to be equal to. There is no other option. If you want the workflow to continue, the value of that field must equal something.

This may seem like a minor change, but let me tell why it was a headache for me.

In 2010, it was easy to stop a workflow and await a response in a specified field. It could be any response. Consider the following example:

In my requisition form there is an Approved field. This is the field where the manager either approves or rejects the request. So the workflow goes like this on every new request created:

1. Send email to manager

2. Wait for manager to respond

3. If manager rejects request, stop workflow

4. If manager accepts request, continue to procurement

5. If manager needs request modified, send back to employee with manager notes

In SharePoint 2010, the action immediately following the email to the manager would be a Wait for step. It would say simply:

then Wait for Approved to be not empty.

Nested if thens would take care of the rest (if Approved = accepted go to A; if Approved = rejected go to B; if Approved = Require Modification go to C).

This is linear and logical. It’s easy to configure and easy to understand.

Now, in SharePoint 2013, it’s simply impossible to create a linear workflow that accomplishes the similar task because you do not have the option to specify the operator in the Wait for step. You can only specify a value the field needs to match. So, you can’t do:

then Wait for Approved to equal Approved

Because if the item is rejected, the workflow never continues.


Why was this removed? It seems such a little change, but it adds unnecessary complexity to an otherwise easy to configure workflow.

So how do you get around this SharePoint headache?

My solution was to use parallel blocks.

Honestly, I’m not convinced this is the most efficient way. It certainly seems less efficient than how the solution was implemented in 2010. But I couldn’t find another way without having to write custom code. And it works well.

Basically, I created a Wait for Approval Stage and used parallel blocks to wait for the item to change.

Parallel Blocks in SharePoint 2013

Parallel Blocks in SharePoint 2013

As you can see in the screenshot, there are two parallel steps (displayed here). One step waits for Approved field to equal Approved; the other waits for Approved to equal Rejected. If the item is approved, the workflow continues from the Approved stage. Similarly, if rejected, the workflow continues from the Rejected stage.

Like I said this solution worked in this scenario. But I still ask, “Why?”

Why did Microsoft change the options for the Wait for action? In this SharePoint administrator’s humble opinion, it has resulted only in frustration and extra steps.

Read More
Tagged under


Saving time, once again, with PowerShell

Have you ever ended up with a very large number of items in your SharePoint Site Collection recycle bin?

Sometimes, certain projects that involve migrations or large changes can fill up your bin with all of the items that didn’t make it to the next round.

More than likely, your recycle bin was similar to mine and only displays 50 items per page. For a recycle bin which contains thousands of items, I don’t have to do the math for you to realize that it would take a very long time to empty page by page.

This can happen for any number of reasons, but I’ll share how I ended up with such a large recycle bin and how I ultimately emptied the entire thing in just minutes.

How I overloaded my Recycle Bin:

I was recently performing a migration from WSS 2007 to SharePoint 2010 using our third-party migration tool, the Metavis Migrator.

During the migration, I ran into a few issues in regards to user mappings. Working with the fantastic Metavis Support Team, we resolved the issue and could successfully perform the migration again. But this particular site had a list with over 27,000 items in it, and because I had to attempt the migration of this site multiple times, I ended up with over 70,000 items in the recycle bin!

Like I said above, that would take a very, very long time only emptying 50 items at a time.

How did I empty the entire Recycle Bin?

One word – PowerShell.

Empty entire Site Collection Recycle Bin using PowerShell:

  1. Browse to the Start Menu. Search for “PowerShell”, select Windows PowerShell ISE(I am running Windows 2012 in this example. The steps to open PowerShell ISE may differ if using another Operating System).
  2.  Select PowerShell
  3. Copy the below command into PowerShell. Update the Site Collection URL to match the appropriate site.
 $sitecollectionUrl = “”$siteCollection = New-Object Microsoft.SharePoint.SPSite($sitecollectionUrl)write-host(“Items to be deleted : ” +$siteCollection.RecycleBin.Count.toString())$now = Get-Datewrite-host(“Deleting started at ” +$now.toString())$siteCollection.RecycleBin.DeleteAll();$now = Get-Date


write-host(“Deleting completed at ” +$now.toString())


  1. Once you have updated the Site Collection URL, execute the command by clicking on the Run Script button on the PowerShell toolbar.
  2.  PowerShell toolbar run script

Depending on how many items are in the recycle bin, this could take a few minutes. When the command is executing, the red stop button (two to the right of the Run Script button) will be illuminated. When the command is completed, the Run Script button will be illuminated once again.

When the command is completed, you can verify if it was successful. Chances are, if the command did not display any errors, all items have been deleted. Simply browse to the appropriate SharePoint site to determine if the Site Collection recycle bin is now empty.

As stated above, the recycle bin I was working with had approximately 70,000 items. I executed the command, knowing it would take some time. I checked back about 20 minutes later and it was completed. An easy way to check progress is by monitoring the recycle bin while the command is executing. You will be able to refresh the page and watch the number of items decrease.

Read More
Tagged under


Add Image to List Web Part SharePoint 2010I was recently working on a request to have Images appear in the announcements Web Part for SharePoint 2010. At first, I figured this was a simple enough task – just add an image to the page, right?

Well, I fell down the rabbit hole looking for the best way to manage this. Adding an image to the page worked, but it was ugly and not user friendly for managing multiple announcements. Searching online for a solution came back with similar recommendations to what I had already tried or to just write custom code.

I didn’t want this to be labor intensive (I never do!), so here is what I came up with after searching online came up short.


  • Having a Picture Library configured makes this process much easier.
  • Create a list you want this apply to or edit an existing list.
  • Full control of the page you are editing.
  • A few minutes to work on it.

The Process of Adding Images to a List Web Part:

  1. Go to the List Settings for your announcements that you would like to add an image to.
  2. SharePoint 2010 List Settings
  3. Under Columns, make sure Contact Photo is one of the columns currently listed. (It probably won’t be unless you have previously added it to this list.)
    a.  If not, click “Add from existing site columns”. Choosing “Create Column” will give the ability to add an Image Column, but when you are finished with this setup, it will only display a link and not the actual image. So, instead you will:
  4. Add from existing site columns
  5. b.  Add Contact Photo to the Columns to Add. Since this is title is seen on the list, I have renamed mine “Image” after adding it in. You can name it whatever you please.
  6. Add Contact Photo to the Columns
  7. At this point, the column to add an image is available, but it is not going to appear in the Web Part. Again in the List Settings, you should create a custom view for this to prevent multiple lists from showing your image column, or just stick with “All Items“. Since this was my only list on this testing site, I went with “All Items”.All Items
  8. What you will gain by creating/editing a view is the ability to add and remove the columns that will appear in the list page and organize them in whatever order you want.
  9. Abilitiy to add and remove the columns
  10. Your will now have an option to place an Image URL when posting new announcements. I would recommend using a thumbnail from your Picture Library because it will use the full resolution photo if you do not. Luckily, you took my advice above and created a Picture Library to steal an auto generated thumbnail URL from. You can also go back and edit previous announcements to add an image.
  11. Add Images to announcements
  12. So, now your List will show an image, but not the web part. Then what has this all been for? To have the Web Part show an image:
  13. Have Web Part show an image
  14. Let’s edit the Announcement Web Part.
  15.  Under “Selected View“, Choose the View you configured earlier. Apply and Ok the Web Part.
  16. Choose your Selected View


 You will see this alert. This only applies if the view is shared with other Web Parts.

Manage from Webpage

Keep this in mind if you are using this view in other Web Parts.

Now you have yourself a List Web Part that will display an image “a la blog” mode. Congratulations! Now sit back and enjoy your handiwork.

Your List Web Part Displays Image

Read More
Tagged under


As many of you have heard, Microsoft has released Service Pack 1 (SP1) for Microsoft SharePoint Server 2013… again.

To be clear, they originally released the SP1 patch toward the end of February this year. They soon realized, however, that the installation of the first release created some issues which were preventing customers from installing future updates. Microsoft deactivated the download pages to prevent any further installations.

To view a list of issues that are fixed, please visit my SharePoint 2013 SP1 announcement blog.

Now that Microsoft has released the corrected version, let’s walk through the SP1 installation together.

At, we have installed the updated Service Pack 1 on a few lab and production environments and have not seen any issues thus far.

Download SharePoint 2013 SP1:

Before we can install the Service Pack, we must first download it. There are separate downloads depending on your version of Foundation or Server. Unlike former SharePoint patches, you do NOT have to install both the Foundation and Server patches if you are running SharePoint Server.

Service Pack 1 for SharePoint Foundation can be downloaded here.

Service Pack 1 for SharePoint Server can be downloaded here.

SharePoint 2013 Service Pack 1 Download

Please be sure to read the details of the patches before downloading. The installation package is 1.3 GB for Server and 403 MB for Foundation. Ensure you have the necessary disk space available before downloading.

Install SharePoint 2013 SP1:

Once you have downloaded the correct media using the steps above, we can begin the install process. As with any SharePoint patch, this must be installed on every server in your SharePoint farm. This includes Web Front End server and Application servers, if applicable.

Let’s get started…

  1. From your SharePoint server, browse to the file location of your download.
  2. Double-click the officeserversp2013-kb2817429-fullfile-x64-en-us.exe file (assuming you kept the default filename).
  3. file location of your download
  4. From the Service Pack 1 for Microsoft SharePoint Server 2013 (KB2817429) 64-bit Edition window, be sure to select the checkbox next to Click here to accept the Microsoft Software License Terms.
  5. Microsoft Software License Terms
  6. Click Continue
  7. This will start the installation process and you will see the following progress window until the progress is completed.
  8.  start the installation process*Please note: you will see a few windows similar to the above that will appear and disappear. The majority of the process will display the above message: Please wait while the update is installed. When the installation is completed you will see this message:
  9. installation is completed
  10. You may NOT be required to reboot depending on your server. If you are required, please reboot at an acceptable time for your business.

Repeat steps 1 through 6 on all SharePoint servers. Once all servers have the Service Pack 1 bits installed, this does not mean the SharePoint farm is upgraded yet. To actually upgrade the schema, you must run the SharePoint 2013 Products Configuration Wizard. This also needs to be completed on each server, but you can only do this portion one server at a time.

Running the SharePoint 2013 Products Configuration Wizard:

  1. From your SharePoint server, browse to the start menu. If using Windows Server 2012, search for SharePoint 2010 Products Configuration Wizard. Click to Open.
  2. SharePoint 2010 Products Configuration Wizard
  3. You will immediately know if the Service Pack installation was successful based on the message you see on the Configuration Wizard welcome window. Notice the message “This wizard will upgrade SharePoint Products”, which differs from the normal message of “This wizard will help you repair SharePoint Products. Click Next to continue or cancel to exit the wizard…” Click Next here.
  4. This wizard will upgrade SharePoint Products
  5. You will then see a warning message letting you know that a few services will be restarted during this upgrade process. Click YesPlease note – Unless you have a high availability farm, your site will be unavailable throughout this process.
  6. services will be restarted during this upgrade process
  7. At the Completing the SharePoint Products Configuration Wizard screen, click Next.
  8. This will run through the upgrade sequence. When the wizard is completed, click Finish.

Repeat steps 1 through 6 on all SharePoint servers.

The installation is now completed and your farm has been upgraded to SP1.

Verify Installation for SharePoint 2013 Service Pack 1:

Now that you have successfully installed Service Pack 1 for SharePoint 2010, you need to verify the build number to be absolutely certain that the installation was successful. The easiest method to do so is:

  1. Browse to Central Administration from any SharePoint server. Again, if running Windows Server 2012, go to the Start menu and search for SharePoint 2013 Central Administration. Click to open.
  2. SharePoint 2013 Central Administration
  3. From the Central Administration home page, select Manage Servers in this Farmfrom the System Settings section.Manage Servers in this Farm
  4. From the Servers in this Farm page, under the Farm information section, you will see the Configuration Database Version. This should read 15.0.4569.1509. This build number tells us that this has been successfully upgraded to SP1.

Hope that helps! As always, please comment if you have any additional questions.

Read More
Tagged under
We use cookies to improve our website. By continuing to use this website, you are giving consent to cookies being used. More details…