News About Migration into SPO and CSOM Throttlings

The new APIs that are available to help with migrations moving forward

We have great documentation that talks through what it means to be blocked, how to look for it (HTTP 429s), and how to avoid it at https://msdn.microsoft.com/en-us/library/office/dn889829.aspx.

SPO Migration PowerShell cmdlets are designed to move on-premises content from file shares and SharePoint Server libraries and One Drive to SharePoint Online and OneDrive for Business. Requiring minimal CSOM calls, it leverages Azure temporary BLOB storage to scale to the demand of large migration of data content.

SPO Migration User Guide: https://technet.microsoft.com/en-us/library/mt203923.aspx

Video of the new API : https://channel9.msdn.com/Events/Ignite/2015/BRK3153

CreateMigrationJob:       https://msdn.microsoft.com/en-us/library/office/microsoft.sharepoint.client.site.createmigrationjob.aspx

DeleteMigrationJob:       https://msdn.microsoft.com/EN-US/library/office/microsoft.sharepoint.client.site.deletemigrationjob.aspx

GetMigrationJobStatus:  https://msdn.microsoft.com/EN-US/library/office/microsoft.sharepoint.client.site.getmigrationjobstatus.aspx

Doc for the PowerShell Commands : https://technet.microsoft.com/en-us/library/mt143608.aspx

(Special thanks for my colleague Dustin)

When using Lookup Column facing exceed list view threshold

Recently faced following issue ; To clarify that i want to share how i reproduce it ;
This issue can be reproducable SPO, SharePoint 2013 and 2010

+Create a list named “LargeOne” with 2100 item
+Set the list view threshold limit 2000 for this list
+Create another list for lookup named “LookupOne”
+Add some data in LookUp List
+Add a Lookup column to “LargeOne” list as pointing the “LookupOne” List (For example title)
+Index that column in LargeOne List
+Create a view named “testview” by filtering related LookupColumn and set row limit 100

Occurence :
View not show items and facing following error
“The view can not be displayed because it exceeds the list view threshold(5000 items) enforced be the administrator”

Expected :
View shows items

What you will see in ULS Logs
01.06.2015 14:15:07.70 w3wp.exe (0x3978) 0x1694 SharePoint Foundation Health 46ri High
Throttled:Big list slow query. List item query elapsed time: 0 milliseconds, Additional data (if available): Query HRESULT: 80070024 List internal name, flags, and URL: {976E4B58-476A-4B5F-A4D5-7AB44279BD71}, flags=0x0000000020801080, URL=”http://blog.bugrapostaci.com/Lists/Largeone/testview.aspx&#8221; Current User: 2110 Query XML: “<Query><Where><Eq><FieldRef Name=”SiteID”/><Value Type=”Text”>999</Value></Eq></Where></Query>” SQL Query: “N/A”

01.06.2015 14:15:07.70 w3wp.exe (0x3978) 0x1694 SharePoint Foundation General xxpm High
Unable to execute query: Error 0x80070024

01.06.2015 14:15:07.74 w3wp.exe (0x3978) 0x1694 SharePoint Foundation Web Parts 89a1 High
Error while executing web part: Microsoft.SharePoint.SPQueryThrottledException:
The view can not be displayed because it exceeds the list view threshold(5000 items) enforced be the administrator
—> System.Runtime.InteropServices.COMException (0x80070024):
The view can not be displayed because it exceeds the list view threshold(5000 items) enforced be the administrator.

Well this issue is “By Design” . The throttling limit is enforced in order to protect the health of the SharePoint server. Looking up the value of the lookup list causes the throttling limit to be enforced.  When making a query to SQL, we limit our queries to less than 5000 items.   There is a hard coded functionality on SQL that will lock the entire table if the query exceeds 5000 items.  In order to offset this we set the list threshold to a value equal or less than this to avoid such actions.

And documented following article.
https://support.office.com/en-us/article/Manage-lists-and-libraries-with-many-items-b8588dae-9387-48c2-9248-c24122f07c59?ui=en-US&rs=en-US&ad=US#_Toc346115857
“Although you can index a lookup column to improve performance, using an indexed lookup column to prevent exceeding the List View Threshold does not work. Use another type of column as the primary or secondary index.”

And more extra info: Indexing the column in the other list or library does not improve performance of the lookup operation

For a workaround you think that you may be  disable throttling ,  but this time for a big possibility you will face performance issues.

$weburl=”http://<URL>&#8221;
$listname=”NameOftheList”
$web=Get-SPWeb $weburl
$list=$web.lists[$listname]
$list.enablethrottling = $false
$list.update()

On this manner we suggest make a good planing for handle large lists when you are using SharePoint otherwise that could create a real pain and lots of jobs to do.

Sharepoint Online – Unable to send new comment for Noteboard by programmatically.

You can get more information about handling comments for good old NoteBoard webpart as below
http://social.technet.microsoft.com/Forums/sharepoint/en-US/8023e4e5-ef21-40f4-b1ad-4c7b659598c6/retrieve-and-add-comments-to-a-noteboard-webpart?forum=sharepointdevelopmentprevious

http://msdn.microsoft.com/en-us/library/ff407953.aspx

Or you can use directly conntecting SocialComment web services by consuming “SocialDataService.asmx”.

But if you are working with SharePoint Online (SPO) , there is no more Server Object Model .And if you try to reach “SocialDataService.asmx” you will face
“Admin has disabled some SocialComment web services” error in your SOAP response message.

Noteboard web part is one of compatible feature from SharePoint 2010 can be used in SharePoint 2013 via UI but it is not supports newly added SharePoint 2013 programming models and APIs .You can get more information about new API model below.
http://msdn.microsoft.com/en-us/library/office/jj164060(v=office.15).aspx

+Server Object Model and exposed web service implementation (asmx) has been disabled as by design for SharePoint Online.

+NewsFeed feature and webparts can be suggested for replacement which is fully supported for new SharePoint 2013 programming model and APIs

“SharePoint 2013 includes new client APIs that you can use to work with social feeds, follow people and content, and retrieve user properties in online, on-premises, and mobile development. When possible, you should use client APIs for SharePoint 2013 development instead of using the server object model or web services. Client APIs include managed client object models, a JavaScript object model, and a Representational State Transfer (REST) service. If you are developing an app for SharePoint, you must use a client API.”
http://msdn.microsoft.com/en-us/library/office/jj163783(v=office.15).aspx

 

Office 365 new Partner Admin Center feature

The new Office 365 Partner admin center provides Partners new and enhanced tools to manage their Office 365 customers.  The new Office 365 Partner admin center is rolling out to partners worldwide over the next few weeks.  Previously, with Partner tools in the Office 365 admin center, you could perform delegated administration tasks on behalf of customers and create trial invitations, purchase offers, and offers for delegated administration. With the tools in the new Partner admin center, you are now also able to:

  • View the customers for which you have delegated admin privileges—all in one place.
  • Easily find, select, and perform administrative tasks on behalf of your customers.
  • View your customers’ Office 365 service health status and details.
  • Create, edit, and view service requests on behalf of your customers

For more info:
http://blogs.office.com/2014/01/28/introducing-the-new-office-365-partner-admin-center/