Accéder au contenu principal

Office 365: Comment Gérer SharePoint Online avec Client Side Object Model (CSOM)

 Dans un précédent message, nous avons vu comment gérer la partie SharePoint d’un tenant Office 365:

Ainsi, nous avons les commandes directes qui vont permettrent la gestion des paramètres de la “ferme” SharePoint via PowerShell for SharePoint Online, mais aussi les commandes de gestion du contenu SharePoint (dans les Sites Collection) via le Client Side Object Model (CSOM).

La question qui se pose très vite est la manière de configurer une plateforme de gestion de SharePoint Online (surtout pour ne pas utiliser sa propre machine et ses credentials standards).


Quelles versions de CSOM existent ?

SharePoint est une technologie en pleine évolution et suivant la plateforme ciblée, il faut utiliser la version adaptée. Que l’on soit en On-Premise ou Online, la version n’est pas la même et en On-Premise, il faut connaître la version du moteur de la ferme.

Un article résume cette situation qui commence à être un soucis avec le rythme de mise à jour des fermes Cloud:

SharePointCSOMVersions

Le schéma ci-dessus permet de bien comprendre les différences de version, à cela il faut rajouter que les méthodes et propriétés disponibles en On-Premise sont parfois innacesssible en Online (même les plus simples, cf. la désactivation du sync).


Quelle version installer ?

Pour simplifier, l’outil à installer pour utiliser le modèle CSOM est le suivant selon la version du moteur:


Et pour les développeurs ?

Comme je viens de le dire SharePoint Online est une technologie en pleine évolution et ne suit plus du tout le rythme des versions SharePoint On-Premise, ainsi les développeurs utilisant Visual Studio .NET (ou autre outil supportant NuGet) doivent utiliser le système de packaging Microsoft qui propose toujours la dernière version du SDK directement gérable par Visual Studio.

Je vous invite à suivre la procédure si vous êtes intéressé par ce système: Managing Packages Using the Package Manager Console. De plus Microsoft risque de mettre les versions de CSOM On-Premise aussi dans NuGet.

image

En revanche, sans Visual Studio, l’utilisation de cette solution est un peu plus compliquée, car NuGet est vraiment destiné à gérer les packages dans son environnement de développement, il existe tout de même des solutions pour le faire:


Conclusion

La version à installer dépendra de votre objectif et votre rôle:

  • Si vous êtes développeur On-Premise, ne cherchez pas autre chose que le SDK officiel du moteur ciblé car les moteur de ferme ne changeront pas
  • Si vous êtes développeur pour SharePoint Online, utilisez immédiatement les packages NuGet pour bénéficier des dernières version de CSOM et des nouvelles fonctionnalités
  • Si vous êtes du coté infrastructure, utilisez uniquement les version officielles en mettant à jour de temps en temps les client Online sur votre serveur de management

Romelard Fabrice [MBA Risk Management]

Commentaires

Posts les plus consultés de ce blog

Série de Videos sur Home Assistant intégrant la production Photovoltaïque

 Un certain nombre de vidéos sont en ligne pour intégrer sa production photovoltaïque dans Home Assistant en partant de la base. Installation de Home Assistant: On peut ensuite intégrer les composant des Micro-Onduleurs Enphase, mais aussi les batteries Enphase: Ou encore le composant de contrôle Ecojoko: Ce qui permet alors de faire des comparaisons entre les valeurs capturées: Des videos seront encore publiés dans les prochaines semaines sur différents aspects de cette solution. Fab

Nouveau Scripts PowerShell publiés pour gérer les Storage Accounts dans Azure Cloud

Deux scripts sont en lignes pour nettoyer des Storage Account dans Azure Cloud: Supprimer les Blobs d'un container existant https://techcommunity.microsoft.com/discussions/azure/powershell-script-to-remove-all-blobs-from-storage-account/4357815 ------------------------------------------------------- [string]$myConnectionString = "DefaultEndpointsProtocol=https;AccountName=YourStorageAccountName;AccountKey=YourKeyFromStorageAccountConnectionString;EndpointSuffix=core.windows.net" [string]$ContainerName = "YourBlobContainerName" [int]$blobCountAfter = 0 [int]$blobCountBefore = 0 $context = New-AzStorageContext -ConnectionString $myConnectionString $blobCountBefore = (Get-AzStorageBlob -Container $ContainerName -Context $context).Count Write-Host "Total number of blobs in the container Before deletion: $blobCount" -ForegroundColor Yellow Get-AzStorageBlob -Container $ContainerName -Context $context | ForEach-Object {     $_ | Remove-AzureStorageBlob   # o...

Série de vidéos sur le montage d'une serre horticole ACD

 Episode 1: Préparation du terrain Episode 2: Montage de la serre en elle même Episode 3: Finalisation avec le montage électrique alimentant la serre Bon visionnage Fab