Archive

Posts Tagged ‘Limites SharePoint Online; Office365 boundaries lists; 5000 items; 5000 éléments’

Office 365 Listes Limites

Hi folks !!

Je vous propose aujourd’hui de partager une expérience sur Office 365 qui parfois nous fait quelques surprises, … mais c’est simple by design après investigations 🙂

L’objet du délit

Héhé oui, une limitation à 5000 éléments… mais pas vraiment dans la réalité.

En fait il s’agit d’une limite existante dans SharePoint 2007 puis dans SharePoint 2010

Sur une version SharePoint OnPremise, le throttling est par défaut à 2000 éléments pour SharePoint 2007 et 5000 éléments pour SharePoint 2010.

Sur du OnPremise, pour lever cette limite il est nécessaire de modifier les paramètres suivants depuis la Centrale d’Administration


Depuis du SharePoint Online … nous sommes dans une infrastructure en tenant. De plus étant dans une infrastructure de type Online, nous n’aurons encore moins accès à cette Centrale Admin…. Alors la solution ? … Pas tout de suite.

Tout d’abord le pourquoi cette limite de 5000 items et qu’a-t-elle de si particulier ?

Pour réduire les conflits de base de données, SQL Server utilise souvent une stratégie du verrouillage des lignes afin de garantir la précision des mises à jour sans nuire aux autres utilisateurs ayant accès à d’autres lignes.

Cependant, si une opération de lecture ou d’écriture de base de données (par exemple une requête) entraîne le verrouillage de plus de 5 000 lignes à la fois, il est plus efficace pour SQL Server d’étendre temporairement le verrouillage à l’ensemble de la table jusqu’à ce que l’opération de base de données soit terminée.

Notez que le chiffre réel n’est pas toujours 5 000 et peut varier en fonction de votre site, du volume d’activité dans la base de données et de la configuration de votre site. Lorsque cette escalade de verrous se produit, les autres utilisateurs ne peuvent pas accéder à la table. Si la situation se répète trop souvent, les utilisateurs constatent une dégradation des performances du système.

Par conséquent, des limitations sont indispensables pour réduire l’impact des opérations de bases de données nécessitant de nombreuses ressources, ainsi que pour équilibrer les besoins de tous les utilisateurs.

 

Et en Background, what’s happen ?

La figure suivante récapitule les points clés relatifs aux événements qui se produisent en backoffice lorsque vous accédez à de nombreux éléments dans une liste ou une bibliothèque.

1.       Les travailleurs de l’information peuvent utiliser les affichages, les styles et les limites de page appropriés pour accélérer l’affichage des données de la page.

2.       Les affichages filtrés avec index de colonnes (et d’autres opérations) créent des requêtes de base de données qui identifient un sous-ensemble de colonnes et de lignes, qui est ensuite retourné à votre ordinateur.

3.       Les administrateurs de batterie de serveurs peuvent spécifier des fenêtres de temps dédiées pour permettre à l’ensemble des utilisateurs d’effectuer des opérations non limitées durant les heures creuses.

4.       Les développeurs qui disposent des privilèges appropriés peuvent utiliser les remplacements du modèle objet pour accroître temporairement les seuils et les limites des applications personnalisées.

5.       Les seuils et limites contribuent à contrôler les opérations et à équilibrer les ressources des nombreux utilisateurs simultanés.

6.       Les données de liste ou de bibliothèque d’une collection de sites sont stockées dans une table de base de données SQL Server, qui utilise des requêtes, des index et des verrous pour garantir de manière globale les performances, le partage et la précision des informations.

Pour plus d’infos je vous invite à lire le site suivant :

Version FR : http://office2010.microsoft.com/fr-fr/sharepoint-server-help/manage-lists-and-libraries-with-many-items-HA010378155.aspx?redir=0

Version EN : http://office2010.microsoft.com/en-us/sharepoint-server-help/manage-lists-and-libraries-with-many-items-HA010378155.aspx?redir=0

Solutions

Bien la solution maintenant… une fois que vous êtes coincés, voilà différentes steps…

  1. Connectez-vous sur votre site SharePoint Online
  2. Activez l’infrastructure de publication SharePoint sur votre collection de site, et votre site.

Ceci activera alors :

3. Sélectionner votre liste, et supprimer quelques éléments afin d’en avoir moins de 5.000

    1. Vous pouvez les copier vers une autre liste
    2. Vous pouvez les déplacer vers une autre liste ou vers un dossier

Vous allez me dire, mais c’est quoi cette histoire de dossier ?!

Pour faire un peu court, dans la liste qui contient plus de 5000 items, vous n’aurez aucun résultat car la table ce retrouve bloquée.

Première solution

Il est dans la théorie possible de limiter le nombre d’éléments que SharePoint ira requêter, ce qui reviens à modifier vos affichages, pour des nom de ville par exemple créer une liste alphabétique avec un lien sur chaque lettre.

Chacune de ces vues est en fait un filtre sur la première lettre du nom de la ville, donc pour l’ensemble des villes qui commenceraient par la lettre « A » vous aurez donc :

Puis limiter le nombre d’éléments à 4000

 

Afin que cette solution soit fonctionnelle, il est absolument nécessaire de créer un index de colonne sur le titre pour mon cas

Pour le créer, depuis votre liste > Paramètres de liste

Sous la partie « Colonnes » sélecitionner « Colonnes indéxées »

 

 

Sélectionner créer un index puis >> choisir titre :

 

 

Valider  ! ET voilà !!

 

Seconde solution

Créer une liste et créer des dossiers pour chaque ville alphabétique

Cette solution semble fonctionnelle car je peux accéder à mes éléments contrairement à une gestion de vues

Par contre ATTENTION si vous avez des lookup à faire cela peut très vite devenir une usine à Gaz !!

Troisième solution

Utilisation des managed metadata, et …. C’est disponible dans office 365.

Cette solution peut permettre en plus de ranger les villes dans différentes catégories, pour le coup qui dit ville, dit … … … … … … pays 🙂

Cette solution est ergonomique user-friendly et au lieu d’avoir une liste déroulante de x milliers d’éléments à scroller, l’utilisateur commence à taper le nom de la ville, puis l’auto complétion est nativement disponible !!

Enjoy & Have fun !