Les meilleures pratiques d’accès aux données avec le modèle objet SharePoint

J’ai dernièrement publié un billet intitulé : « Les meilleures pratiques d’accès aux données avec le modèle objet SharePoint » sur le blog de Technologia.

En voici un aperçu :

Introduction au langage CAML (Collaborative Application Markup Language)

Le CAML est un langage XML utilisé dans SharePoint pour définir les champs et les affichages des sites et des listes. On peut aussi effectuer une requête en CAML pour accéder à du contenu SharePoint avec l’aide de l’objet SPQuery.

  CAML   Le CAML est sensible à la case

Objectif

Optimiser l’accès au contenu SharePoint afin d’améliorer les performances et de respecter les bonnes pratiques de développement.

L’objet SPQuery

  • Exécute des requêtes sur les données efficacement;
  • Utilise le langage CAML pour spécifier le SELECT, le WHERE, le ORDER BY et le GROUP BY de l’instruction SELECT SQL sous-jacente;
  • S’adresse à un objet SPList précis;
  • Est la bonne pratique à utiliser lorsqu’on effectue une requête sur une liste.

Utilisation de l’objet SPQuery

Les objets SPQuery peuvent causer des problèmes de performance quand ils retournent un grand nombre de résultats.

Les recommandations suivantes vous aideront à optimiser votre code de manière à limiter l’impact sur la performance quand vos requêtes retournent un trop grand nombre de résultats :

  • Ne pas utiliser un objet SPQuery illimité (unbounded);
  • L’utilisation d’un objet SPQuery sans spécifier une valeur à la propriété RowLimit ne fonctionnera pas de manière efficace et va échouer sur de grandes listes. Il est recommandé de spécifier un RowLimit entre 1 et 2000;
  • Utilisez des champs indexés.

Si vous effectuez une requête sur un champ non indexé, la requête sera bloquée chaque fois que celle-ci retourne plus d’éléments que le seuil de requête (dès qu’il y aura plus d’éléments dans la liste que dans le seuil de requête). Il est recommandé de spécifier un RowLimit à une valeur qui est plus petite que le seuil de requête.

Pour conclure

Que vous utilisiez le modèle objet serveur (SSOM) ou un modèle de programmation client (CSOM/JSOM), le CAML est indispensable pour réaliser des requêtes performantes en plus de respecter les bonnes pratiques de développement.

Retrouvez l’article complet ici.

Advertisements

Laisser un commentaire

Entrer les renseignements ci-dessous ou cliquer sur une icône pour ouvrir une session :

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l’aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s