Thursday, April 24, 2014

SharePoint Bibliotheken en de limiet van 5.000 objecten

Geschiedenis

Later kom ik terug op het getal 5.000 uit de titel, dat beloof ik. Maar eerst gaan we even een jaar of vijftien terug. Begin jaren 2000 richt Ray Ozzy, op dat moment vooral bekend als bedenker van Lotus Notes, het bedrijf Groove Networks op en ontwikkelt een product waarmee meerdere gebruikers kunnen werken in één set van bestanden. Toen Microsoft het bedrijf in 2005 overnam, werd Groove Virtual Office opgenomen in de Microsoft Office familie en op de markt gebracht als Microsoft Office Groove 2007.

Met Groove wordt het voor het eerst mogelijk om SharePoint Document Libraries offline te synchroniseren om ook zonder internettoegang aan te kunnen werken. Wijzigingen tussen server en client worden automatisch gesynchroniseerd.

Vanwege de soms wat problematische synchronisatie hebben veel gebruikers een haat/liefde verhouding met Groove. Maar de tool vervult belangrijke functionaliteit en is ontzettend belangrijk voor de adoptie van SharePoint server. Groove is here to stay.

In Office 2010 komt de tool terug als SharePoint Workspace, deze nieuwe naam geeft wat beter aan dat je de tool moet zien als de logische client voor gebruik met SharePoint server. De synchronisatie, in combinatie met het dan nieuwe Office Upload Center, verloopt ook SharePoint Workspace soms problematisch. Conflicten met bestanden, het herhaaldelijk vragen om credentials en niet goed omgaan met ongeldige bestanden zorgen voor veel irritatie. In forums en blogs wordt geschreven welke bestanden je moet verwijderen om de boel compleet te resetten en weer aan het synchroniseren te krijgen.

In Wave 15 hebben we een nieuwe naamsverandering, nu heeft de tool SkyDrive Pro en maakt geen onderdeel meer uit van Office 2013. Deze naam is verwarrend omdat dezelfde naam ook gebruikt wordt voor de persoonlijke werkruimte in SharePoint Server en SharePoint Online, voorheen bekend onder de term MySites. En nadat de naam SkyDrive niet langer gebruikt mag worden om juridische redenen wordt de tool omgenoemd tot OneDrive for Business. Wat helaas ook geldt voor de persoonlijke werkruimte in SharePoint die dus weer dezelfde naam krijgt.

Na drie of vier naamwijzigingen zijn er twee zaken gelijk gebleven: de naam van het proces en de synchronisatieproblemen…

image

Beperkingen

Waarom deze lange inleiding? Omdat ik anders niet uit kan leggen waarom de offline client voor SharePoint anno 2014 nog steeds een aantal beperkingen heeft die in 2004 misschien acceptabel waren maar in 2014 nergens meer op slaan.

Zo ondersteunt SharePoint 30.000.000 (30 miljoen!) bestanden in een Document Library, maar kan OneDrive for Businesses er maximaal 5.000 synchroniseren. Beter gezegd: OneDrive for Businesses kan geen Libraries synchroniseren die meer dan 5.000 bestanden en/of mappen hebben. Het synchronisatieproces stopt of kan niet gestart worden voor nieuwe Libraries.

De interne database van OneDrive for Businesses ondersteunt in totaal 20.000 bestanden of mappen, dus zelfs wanneer je de data verdeelt over meerdere Document Libraries kan het voorkomen dat je tegen de limiet van 20.000 objecten in totaal aanloopt. Tenslotte mag de totale hoeveelheid te synchroniseren data niet meer dan 2 GB bedragen.

Limiet Waarde
Bestanden en mappen per Document Library Maximaal 5.000
Bestanden en mappen in totaal te synchroniseren Maximaal 20.000
Hoeveelheid te synchroniseren data Maximaal 2 GB

Voorbeeld

Als voorbeeld heb ik een lokale directory gevuld met 4.995 kleine bestanden:

1..4995 | % { New-Item -Path c:\temp -Name "$_.txt" -Value (Get-Date).toString() -ItemType file}

Deze bestanden heb ik vervolgens gekopieerd naar de hoofdmap van een nieuwe SharePoint Online Document Library.

image

Wanneer we deze nu willen synchroniseren naar de lokale computer starten we dit proces met een klik op de ‘synchroniseren’ knop. Na een tijdje is het synchroniseren ingeregeld en kunnen we de bestanden lokaal op de computer vinden, in de directory staan nu de 4.995 bestanden die ook online stonden.

Bij wijze van test voeg ik lokaal een directory toe, zes keer in totaal. Bij deze zevende verschijnt geen groen vinkje meer ten teken dat de wijziging naar SharePoint Online gesynchroniseerd is.

image

Je zou dit in de praktijk snel over het hoofd zien, zeker omdat deze icoontjes steeds met enige vertraging bijgewerkt worden. In de praktijk werk je misschien door en merk je pas later dat je wijzigingen niet in SharePoint verschijnen, het zelfde geldt voor wijzigingen in SharePoint die op jouw computer niet langer doorgevoerd worden. Stel je voor dat het inmiddels om een aantal dagen werk gaat, of dat je veel bestanden verplaatst of naar SharePoint gekopieerd hebt!

Als je weet waar je moet kijken, namelijk het System Tray icoontje, dan valt op dat er iets aan de hand is:

image 

Wanneer je met de rechter muisknop klikt en vervolgens View sync problems kiest dan verschijnt het volgende scherm:

image

Gelukkig zijn er in deze testomgeving geen andere issues en is direct duidelijk wat de oorzaak is:

We can't sync this library because it's too large. For more information, please see SkyDrive Pro help.

Natuurlijk zou deze melding nog iets concreter kunnen, of zou een directe verwijzing naar de concrete informatie op zijn plek zijn, maar het is in ieder geval iets. Om het probleem op te lossen heb ik online de mappen 4, 5 en 6 verwijderd. Vervolgens bij het System Tray icoontje gekozen voor Sync Now omdat het proces niet vanzelf op gang kwam.

Nu de synchronisatie weer loopt blijk ik toch Map 6 weer te zien maar een kniesoor die daar op let, het is geen productiedata maar zijn slechts testbestandjes.

image

Advies

Microsoft werkt enorm hard aan Office 365, SharePoint Online en SharePoint Server. We zien meerdere keren per jaar updates verschijnen die het werken makkelijker maken, functionaliteit toevoegen of anderszins verbetering brengen. Maar als we constateren dat we de limieten van Groove en opvolgers al ruim 10 jaar ongewijzigd zijn dan heb ik er een hard hoofd in dat die snel verholpen zullen worden. Tenzij Microsoft eerdaags met een nieuwe oplossing komt die niet meer op deze oude techniek gebaseerd is.

Wanneer offline synchronisatie voor jou of jouw gebruikers belangrijk is, werk dan met meerdere Document Libraries om het aantal bestanden en mappen per bibliotheek kleiner dan 5.000 te houden. Synchroniseer je meerdere Document Libraries, denk dan aan de limiet van 20.000 items in totaal en de maximale grootte van 2 GB.

Gebruik je Office 365 SharePoint Online of SharePoint Server 2013? Installeer dan de laatste versie van OneDrive for Business. Instructies en de downloadlink vind je hier: How to install the OneDrive for Business (formerly SkyDrive Pro) sync client for SharePoint 2013 and SharePoint Online

Wil je graag werken in de Windows Verkenner maar heb je geen behoefte aan offline toegang? Open de bibliotheek dan gewoon met de Verkenner:

image

Is het een puinhoop geworden? Klik dan met de rechtermuisknop op het System Tray icoon en kies Herstellen. Er wordt dan een backup gemaakt waarna de synchronisatie verbroken en opnieuw aangemaakt wordt. Wel is het dan mogelijk dat je niet gesynchroniseerde wijzigingen zelf aan de hand van de backup moet herstellen, pas hier dus mee op.

1 comment:

Chris Drieskens said...

Hey Jetze,

dank voor de heldere en overzichtelijke beschrijving. Ik kan helaas je bevindingen alleen maar bevestigen. In tijden waarin er veel performantere freeware op de markt is (vb BTsync), komt MS hier maar heel bleekjes uit! Er is volgens mij nog een beperking die ook reeds in groove zat: max 64 libraries to sync!! (die samen niet meer dan 5000 bestanden of 2GB beslaan)