Using Sharegate to copy an entire site collection in Office 365 with a new name and URL

When using Sharegate to copy an entire site collection in Office 365 do the following:

Source- your 365 site collection
Destination – use the admin site URL, i.e. https://-admin.sharepoint.com
Select Destination and hit copy
Change the URL and name
uncheck any boxes you don’t want such as subsites and workflows

By |October 31st, 2017|Uncategorized|0 Comments|

CSOM SharePoint Online error: The server does not allow messages larger than 2097152 bytes

If you get the following error with CSOM while trying  to upload documents to SharePoint Online: The server does not allow messages larger than 2097152 bytes

The reason is that CSOM limits SharePoint Online to 2MB file uploads by default if using the “ReadAllBytes” method.

Use the ContentStream property instead:

public void UploadDocumentContentStream(ClientContext ctx, string libraryName, string filePath) {

Web web = ctx.Web;
// Ensure that the target library exists. Create it if it is missing.
if (!LibraryExists(ctx, web, libraryName))
CreateLibrary(ctx, web, libraryName);

using (FileStream fs = new FileStream(filePath, FileMode.Open))
FileCreationInformation flciNewFile = new FileCreationInformation();

// This is the key difference for the first case – using ContentStream property
flciNewFile.ContentStream = fs;
flciNewFile.Url = System.IO.Path.GetFileName(filePath);
flciNewFile.Overwrite = true;

List docs = web.Lists.GetByTitle(libraryName);
Microsoft.SharePoint.Client.File uploadFile = docs.RootFolder.Files.Add(flciNewFile);






Datasheet View error and solution: The list cannot be displayed in Datasheet view for one or more of the following reasons

Error message:

The list cannot be displayed in Datasheet view for one or more of the following reasons:

– A datasheet component compatible with Microsoft SharePoint Foundation is not installed.

– Your Web browser does not support ActiveX controls.

– A component is not properly configured for 32-bit or 64-bit support.


Symptom: When trying to click datasheet view in SharePoint 2010 with Windows 10, IE 11, and  Office 2016 (Excel 2016 x64).



You just need to install the 32 bit Data Connectivity Components.



By |November 29th, 2016|Uncategorized|0 Comments|

Adding bootstrap apps inside a Page Viewer Webpart

Problem:  Adding a bootstrap app inside a page viewer web part in SP2010 causes the formatting to be messed up.

Reason:  SP 2010 does not have the right compatibility mode required on the master page.

Solution: Open the site in SharePoint Designer

Copy the v.4 master page for the site to a new master page and add the following line as the first “meta” tag:

 <meta http-equiv=”X-UA-Compatible” content=”IE=10″ />

Click save as default master page on the ribbon.  Keep in mind this applies to all pages to the site.



By |December 18th, 2014|Uncategorized|0 Comments|

Cleaner List View Boxed style using jQuery

I’m sure we’ve all customized Lists in SharePoint to create different types of views. While most of the Styles to choose from aren’t always practical, the Boxed view is an interesting view because it creates a Table along with a row of all your properties and values, for each List item. A common issue with this view is that if you have empty values, it takes up space on the screen and is too “ugly” to use. This is particularly true if your list or library is associated with many Content Types because different Content Types may not populate certain fields. There’s also that hideous column/filter bar that doesn’t seem to have any value on a view like this.

By adding the jQuery below, you can make the Boxed view much more presentable. It will not display columns that have empty values or unchecked (yes/no) values.

$(“table.ms-listviewtable tr td.ms-stylebox table tr”).each(function() {
var [...]

By |May 20th, 2014|Uncategorized|13 Comments|

Accounting for Site / Subsite regional time zone settings

Often times, you will have custom web parts or code that write date values back to lists. In many cases, time zone settings are different across an organization and using DateTime.Now is generally not recommended.

Two scenarios come to mind. #1, when a site changes its time zone to be different than the hosted servers’ time zone. #2,  if a web part was deployed across a Site Collection and used in 5 different sub-sites with 5 different regional time zone settings.

I found the best way to retrieve a date is this here:

// time zone of site
SPTimeZone siteTimeZone = SPContext.Current.Web.RegionalSettings.TimeZone;

// currentTime will contain the current date and time according to the sites’ time zone settings
DateTime currentTime =  siteTimeZone.UTCToLocalTime(DateTime.Now.ToUniversalTime());

This will give you the current time in relation to the Site Regional Settings and will account for changes to the settings.

By |May 17th, 2014|Uncategorized|0 Comments|
  • Permalink Gallery

    Powershell script to change Sharepoint Information Policy for large document libraries (over 1 million docs)

Powershell script to change Sharepoint Information Policy for large document libraries (over 1 million docs)

Ran into an issue on a SP2010 farm that had over a million documents in a document library with a hundred thousand folders. Yes, lots of data, but not a bad practice in this case as it was tied to another system that relied on the folders.
In any case, I was unable to change information Policy on document library with many thousand folders due to SharePoint’s UI which creates a tree view of folders on the page to change the Information Policy. Not the best design. So as my browser crashed waiting for 100,000 folders to load, we came up with a Powershell script to accomplish this. This script will create an Information Policy to delete all documents inside the document library that are older than 180 days. It is applied to the content type, but is scoped to the document library itself. Other libraries on the site [...]

By |April 29th, 2014|Uncategorized|1 Comment|

Creating a WCF service on a SharePoint 2010 server in Visual Studio 2010 and “Type can not be found” error

If you get the “Type cannot be found” error after installing your WCF service, go to the section about unloading your project below.

Here are the main steps to creating a WCF service and installing it on a SharePoint 2010 server:

Open Visual Studio 2010
Create an Empty SharePoint 2010 project to get the packaging files
Change your namespace in the Project Properties.
Add a new Item, WCF Service with a new file name
Add the following lines above the class declaration that implements the “IService” file:


[AspNetCompatibilityRequirementsAttribute(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]

PricingRequestService : IPricingRequestService


Add the following references to your project:

C:Program FilesCommon FilesMicrosoft SharedWeb Server Extensions14ISAPIMicrosoft.SharePoint.dll

Add a mapped folder to the “_Layouts” folder
Inside the _Layouts folder create a text file with a .svc extension such as PricingRequestService.svc

Add the following sample: <%@ServiceHost
Language=”C#” Debug=”true”

Service=”PricingRequest.PricingRequestService, $SharePoint.Project.AssemblyFullName$”

Factory=”Microsoft.SharePoint.Client.Services.MultipleBaseAddressBasicHttpBindingServiceHostFactory, Microsoft.SharePoint.Client.ServerRuntime, Version=, Culture=neutral, PublicKeyToken=71e9bce111e9429c”

Change the namespace and service name to your own. Leave [...]

By |January 10th, 2013|Uncategorized|0 Comments|

Migrate Alerts from old SharePoint url to new SharePoint url

Here’s a handy powershell script to migrate all alert url’s.

 Problem: When you perform a content database migration to a new SharePoint farm with a different url, the alerts will not fire as the url’s are stored from the previous farm.
For example, migrating from “Intranet” to “IntranetQA” will not work as the old url’s are stored.
Here’s the script:

By |September 12th, 2012|Uncategorized|0 Comments|

SharePoint Error in Visual Studio Debugging a workflow: Operation aborted (Exception from HRESULT: 0x80004004 (E_ABORT))

Leave it to Microsoft to break every SharePoint Dev server in the world in one fell swoop.

When you go to debug a workflow from Visual Studio 2008, it builds fine, but on deploy, it fails while trying to attach to the list with this error:

Operation aborted (Exception from HRESULT: 0x80004004 (E_ABORT))

Causing the Error: Security patch KB2493987

If you have automatic updates set on your dev servers (which many people do), you will automatically get this security patch.  And, it will break all your custom visual studio debugging abilities on all dev servers.

Solution: = Running the SharePoint Products and Technologies Configuration Wizard and doing an IISRESET.

For a full explanation, see this helpful post: http://deinfotech.blogspot.com/2011/09/sharepoint-2007errors-creating-site-and.html