Exploring SharePoint Export

I'm currently working with a client for whom I'm upgrading their mixed 2007 and 2010 farm to SharePoint 2013.  Unfortunately, a site collection on a SharePoint 2007 farm they no longer have access to was exported instead of backed up.  What makes matters worse, whoever performed the export, expanded the .cmp file.  My client wanted the files from export.

While there are a few sites that give instructions on how to perform imports (like, here, here and here), as anyone who has worked with SharePoint 2007, it can be very finicky - everything, including the stars, must line up.  I also tried "re-compressing" the export file since the .cmp file is nothing more than a .cab file.  However, I had additional issues with the resulting .cab file since we were dealing with a 7GB file on a Windows 2003 machine (they don't play nicely together).  I also tried using a tool from Mike Smith to convert the files from the export file.  But, being that Mike hadn't worked on the solution since many years ago, of course, the application was giving me cryptic exception errors.

After all failed attempts, I was finally required to write a PowerShell script that reads the Manifest.xml and converts all of the .dat files to their original filenames in the original SharePoint 2007 file structure.  I've posted the PowerShell script on GitHub.

Have fun!

SharePoint 2013 + Visual Studio 2012 Debugging Extremely Slow

Prior to upgrading my machine to Windows 8, I was forced to use VMware Workstations 8 & 9 for development within a virtual environment.

My virtual environment within VMware Workstation 9 was:

  • Windows Server 2008R2
  • Visual Studio 2012
  • SharePoint 2013
  • SQL Standard 2012
  • 16 GB RAM
  • 4 Proc’s

When debugging SharePoint 2013 server-side code, all requests to SharePoint through the w3wp.exe process is extremely slow.  Furthermore, stepping through code becomes very sluggish. Additionally, while debugging 2013, the Virtual Studio Remote Debugging Monitor process eats up anywhere between 20-30% of the CPU resources.

Read more

Issues with SharePoint Search

On one of my SharePoint installations, I was having a ton of issues with SharePoint Search.  I had created a SharePoint Search Application post-install with a different service account.  The search application starting adding an additional 10 MB to the individual log files.  I would reset the IIS application pool, but would see the search application continuing to run.

Read more

SharePoint People Picker Searching Accounts Across External Active Directory Trusts

In instances where your network administrator has created an external trust with another domain, you may want the SharePoint People Picker to find users in the external AD.

According to Microsoft's TechNet, "The People Picker automatically issues queries to all two-way trusted domains when it uses the application pool account to search for users and groups. When you select a secondary account in the People Picker, the primary account information will be returned."  Therefore, by default two-way trusts are automatically searched.

Read more

How to Programmatically Impersonate Users in SharePoint

There are times when developing custom web parts and other SharePoint solutions, you need to impersonate a user and view SharePoint from within their context.

Impersonating a user in SharePoint requires a few things:

  • the account that the web or console application users that has privileges to impersonate other users (typically this would be the system account)
  • specific users' user tokens

Read more

Atalasoft Image Viewer with Silverlight in SharePoint

I was working on a Silverlight-based BI Dashboard in SharePoint for Pfizer.  Pfizer allows the consumers of its animal products to upload receipts and Proof of Purchases in order to qualify for rebates.  The business required the ability for Silverlight to process an array of image types, including PDFs, that the consumer may upload.  Processing included not only viewing the image, but also zoom, crop and rotate.

Since Silverlight can only process JPGs or PNGs natively, I needed a third-party provider to satisfy the business requirements.  There are many libraries that render different image formats and PDFs, but I needed a single solution to handle as many formats, again, including PDFs, as possible and accomplish the image manipulation requirements.  Therefore, we decided on Atalasoft DotImage.

Read more