Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Blog Technique de Romelard Fabrice

Les dernières Actualités de Romelard Fabrice (Alias fabrice69 ou F___) principalement autour des technologies Microsoft

Actualités

  • Toutes les actualités et informations sur les technologies Microsoft principalement autour de .NET et SQL Server

Archives

Office 365: Comment utiliser la DLL Microsoft.SharePoint.Client.UserProfiles.dll dans son code PowerShell

Nous avons vu dans un précédent article comment accéder à la base de profile de son Tenant Office 365 via PowerShell:

Et les première lignes du code d’exemple chargent les DLL nécessaires:

Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.UserProfiles.dll"

La partie plus probématique est la troisième ligne, car pour utiliser ce code telquel, il faut avoir installé le package:

Dont la date commence un peu à dater, mais surtout qui n’est pas compatible avec le package de management en PowerShell nécessaire pour Office 365:

Nous avions évoqué ce point dans un message relatif à la mise en place d’un serveur de gestion Office 365:

Ce package contient de nombreuses DLL, mais pas celle des profiles (Microsoft.SharePoint.Client.UserProfiles.dll) comme on peut le voir ci-dessous:

clip_image002

La solution est un peu barbare, mais a le mérite de fonctionner, car le seul but est d’obtenir une copie de cette DLL pour son code PowerShell.

Pour cela, il existe plusieurs méthodes, plus ou moins sauvage.

La plus simple est l’utilisation d’un outil d’unzip pour extraire le contenu du fichier MSI et trouver alors les fichiers (dans l’exemple avec 7ZIP):

image

image

Les fichiers DLL sont alors tous présent et il suffit de le renommer selon son besoin et de l’utiliser dans son script.

La seconde méthode est plus propre, car utilisant le moteur d’installation de Microsoft “MSIExec”.

image

Elle s’utilise selon le modèle:

  • msiexec /a c:\testfile.msi /qb TARGETDIR=c:\temp\test

Ce qui donne dans notre cas précis la commande suivante:

  • msiexec.exe /a C:\TEMP\sharepointclientcomponents_16-4002-1211_x64-en-us.msi /qb TARGETDIR=C:\TEMP\sharepointclientcomponentsMSIFiles

Après quelques secondes, on trouve le contenu de ce package dans le répertoire voulu:

image

On trouve à ce moment les fichiers DLL simplement dans les sous-répertoires, comme pour notre cas précis, dans le sous-répertoire “GAC_MSIL”:

image

Il ne nous reste plus qu’à copier ce fichier “Microsoft.SharePoint.Client.UserProfiles.dll” dans notre repository qui sera utilisé par PowerShell.

Voici un exemple de script PowerShell utilisable pour les cas de serveur de gestion (Office 365: Monter une machine de management pour gérer Office 365):

[string]$defaultDLLPath = ""
# Load assemblies to PowerShell session
$defaultDLLPath = "C:\Program Files\SharePoint Online Management Shell\Microsoft.Online.SharePoint.PowerShell\Microsoft.SharePoint.Client.dll"
[System.Reflection.Assembly]::LoadFile($defaultDLLPath)
$defaultDLLPath = "C:\Program Files\SharePoint Online Management Shell\Microsoft.Online.SharePoint.PowerShell\Microsoft.SharePoint.Client.Runtime.dll"
[System.Reflection.Assembly]::LoadFile($defaultDLLPath)
$defaultDLLPath = "C:\TEMP\sharepointclientcomponentsMSIFiles\GAC_MSIL\Microsoft.SharePoint.Client.UserProfiles.dll"
[System.Reflection.Assembly]::LoadFile($defaultDLLPath)

Cette stratégie est adaptable pour toutes les autres DLL qui ne sont pas dans le package de management PowerShell pour Office 365.

Romelard Fabrice [MBA Risk Management]

Office 365: Comment obtenir des informations des Users Profiles du tenant via PowerShell

SharePoint Server permet depuis plusieurs versions de présenter les profiles d’utilisateurs, ceci basé sur un mix de données provenant de l’Active Directory et des données ajoutées par l’utilisateurs lui même.

Lors du passage à Office 365 et donc SharePoint OnLine, ce principe reste valable et on peut gérer un certain nombre de paramètres via l’application “SharePoint Admin Center”:

image

En revanche, comment se connecter à cette base de profiles depuis PowerShell ?

Pour cela, voici un exemple de code permettant de vous connecter sur la base de profiles et de lister les propriétés dans des fichiers Txt (uniquement à titre d’exemple):

Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.UserProfiles.dll"

$site = 'https://YourTenant-admin.sharepoint.com/'
$mysite = 'https://YourTenant-my.sharepoint.com/'
$admin =
'AdminEmail@YourTenant.onmicrosoft.com'

$password = Read-Host 'Enter Password' -AsSecureString

$context = New-Object Microsoft.SharePoint.Client.ClientContext($site)
$contextmy = New-Object Microsoft.SharePoint.Client.ClientContext($mysite)
$credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($admin , $password)
$context.Credentials = $credentials
$contextmy.Credentials = $credentials
$users = $contextmy.Web.SiteUsers
$contextmy.Load($users)
$contextmy.ExecuteQuery()

$people = New-Object Microsoft.SharePoint.Client.UserProfiles.PeopleManager($context)
$personProperties = $people.GetMyProperties();

$collection = @()

Foreach($user in $users)
{
    $userprofile2 = $people.GetPropertiesFor($user.LoginName)
    $context.Load($userprofile2)
    $context.ExecuteQuery()

    If($userprofile2.Email -ne $null)
    {
        
        $userprofile2.UserProfileProperties | Out-File C:\TEMP\$($userprofile2.Email).txt  -Encoding UTF8
     }
}

Ce code n’a aucune intelligence est plutôt à caser dans la liste des codes PowerShell trash, en revanche, il peut servir de base pour autre chose de plus subtile selon votre besoin.

A vous de laisser s’exprimer votre fibre artistique.

Romelard Fabrice [MBA Risk Management]

Event: La saison des conférence reprend, comme les champignons

Après une pause de plusieurs mois, me voici à nouveau sur des évènements pour présenter une des composantes importantes de la suite Office 365.

Tout d’abord, le Samedi 8 Octobre à Lyon pour le SharePoint Saturday Lyon:

image

Pour les personnes ne pouvant se rendre à Lyon, je présenterai à nouveau cette session quelques jours plus tard à Genève, le Mercredi 12 Octobre durant le meeting du Swiss SharePoint Club:

image

J’espère vous voir nombreux, sauf si c’est pour me jeter des tomates moisies Smile

Romelard Fabrice [MBA Risk Management]

Office 365: Le ContentTypeHub et les Content Types Orphelins

Nous avons découvert dans un précédent message les possibilités offertes par le Hub de Types de Contenu ou Content Type (CT):

Cette solution est une fonctionnalité très intéressante mais qu’il faut prendre avec beaucoup d’attention.

En effet, le principe est basé sur un Timer qui s’exécute au sein de la ferme toutes les XX minutes pour publier les modifications à toute la ferme ou tout le tenant pour Office 365.


Création d’un Content Type orphelin

Le cas typique est la création d’un CT qui a été publié et qui est supprimé du Hub avant d’avoir été totalement “dépublié” de la ferme ou du tenant. Le résultat est donc la présence au sein de certaines collections (voir toutes) de ces CT qui sont maintenant orphelin du Hub. A cela il faut rajouter la même présence dans les collections “OneDrive” des utilisateurs de ces mêmes CT.

Prenons un exemple concrêt:

Imaginons maintenant un tenant de 30’000 utilisateurs avec 20’000 collections OneDrive, à cela on rajoute une 100 de sites SharePoint classiques.

On parle donc de 20’100 collections de sites qui sont susceptibles de recevoir les CT depuis le Hub. Maintenant, on publie un CT et disons qu’il mette 5 secondes par collection pour se déployer au sein du tenant (valeur hypothétique bien sur). Il nous faudra donc 100’500 secondes pour publier le CT sur tout le tenant, soit environ 28 heures au total.

Il suffit maintenant d’imaginer un administrateur, un peu trop pressé et voulant corriger son erreur, peut très facilement supprimer le CT du HUB avant même que celui-ci soit publié partout et donc créer des orphelins dans de nombreuses collections.

Le cas est expliqué en commentaire de ce post d’ailleurs:


Nettoyer les Content Type orphelins

La solution est un peu tricky mais fonctionne bien surtout quand on souhaite éviter d’aller sur 20’100 collections de site et supprimer les CT à la main. Il faut trouver une collection ou le CT est encore présent pour obtenir:

Une fois qu’on a cela, il faut utiliser un script PowerShell (Le CT ID peut être défini uniquement via Code) utilisant la base fournie:

Vous devez juste modifier la partie centrale en commentant les colonnes et forcant l’ID:

# create Content Type using ContentTypeCreationInformation object (ctci)
$ctci = new-object Microsoft.SharePoint.Client.ContentTypeCreationInformation
$ctci.id = $MyContentTypeID
$ctci.name = $contentTypeName
#$ctci.ParentContentType = $parentContentType
$ctci.group = $contentTypeGroup
$ctci = $contentTypes.add($ctci)
$context.load($ctci)

Ce script doit être exécuté sur le Content Type Hub pour recréer les CT (Vides pour le coup) afin de les republier et dépublier après 24/48 heures.

C’est seulement une fois la dépublication effectuée que vous pouvez supprimer les CT du Hub (en vérifiant les log d’exécution dans le Hub).


Attention

La dépublication ne fonctionne que si le site collection admin n’a pas utilisé ce CT dans sa collection. Si c’est le cas, la dépublication ne s’exécutera pas sur cette collection.


Conclusion

L’utilisation du CT Hub est vraiment une très bonne chose, mais il faut vraiment bien réfléchir à sa stratégie avant de créer ces CT dans le Hub sous peine de devoir risquer de gros soucis.

Romelard Fabrice [MBA Risk Management]

Office 365: Comment trouver simplement l’adresse de la collection de site associée à une chaine

Peu à peu, nous découvrons ensemble différents aspects autour du service de vidéo d’Office 365:

Lors de la création d’une chaine (Channel), l’application crée automatiquement une collection de sites pour stocker le contenu associé et gérer les permissions. De ce fait, pour un administrateur, il peut être utile de connaître l’URL de la collection de sites associée à une chaine.

La solution la plus simple nécessite d’avoir au moins une vidéo présente dans la chaine, mais ne demande aucune application.

Il suffit donc d’aller dans une des vues listant les vidéos de la chaine

image

et cliquer avec le bouton droit sur l’image (thumbnail) de la vidéo et choisir “propriétés”

image

pour trouver dans la propriété “Address” l’URL du fichier image en question

image

Cette adresse URL est toujours du format:

  • https://[yourtenant].sharepoint.com/portals/XXXXX/

Il ne vous reste plus qu’à copier cette adresse dans votre navigateur WEB pour accéder à la collection de sites contenant les vidéos de la chaine.

Romelard Fabrice [MBA Risk Management]

Office 365: La distribution des types de contenu à travers le tenant - ContentTypeHub

Le Content Type (ou type de contenu) est une des fonctionnalité disponible dans SharePoint depuis 2007. Chaque génération de SharePoint reçoit des améliorations autour de cette stratégie de contenu typé.


Le Content Type Hub

Ainsi depuis 2010 et principalement 2013 Microsoft a permis la mise en place de Hub de Content Type:

La raison de cette nouveauté est l’isolation des collections de sites, car les content types sont créés au niveau de la racine de la collection et utilisable à n’importe quel niveau de l’arborescence de cette collection.

En revanche, avoir un content type tranverse entre collection est très difficile à maintenir, puisque chaque modification exige de rejouer cette modification sur toutes les collections utilisant ce type de contenu.

Le Content Type Hub permet d’avoir un master de Content Types qui est ensuite utilisable:

  • dans n’importe quel niveau du tenant, toutes les collections (sauf les collections de Vidéo Portal)
  • dans tous les OneDrive utilisateurs


Dans un tenant Office 365

Cette logique est totalement adaptée au monde Office 365 SharePoint Online et il est activé par défaut dans tous les tenants Enterprise. En revanche la collection de sites HUB n’est pas visible dans la liste des sites existants (comme de nombreux sites d’ailleurs), mais son adresse est sous le format:

On peut dès lors créer un type de contenu dans cette collection,

image

Puis le publier (ou republier si vous devez le modifier)

image image

le voir apparaître dans toutes les autres collections (entre 15 et 60 minutes) pour l’utiliser dans vos listes selon vos besoins

Dans un OneDrive
image
Dans une collection de sites
image


Suivre les publications de Types de contenu

Pour effectuer un monitoring de ce qui est publié depuis ce hub, il faut aller dans la collection du Hub et chercher dans les menu d’administration de la collection “Publication de type de contenu” ou “Content Type Publishing”

image

Cette page vous permet de forcer la mise à jour de tous les types de contenu publiés et suivre les erreurs éventuelles


Conclusion

Cette solution est très pratique pour réfléchir autour des modèles de document corporate que vous souhaitez appliquer sur tout un ensemble de sites afin de mettre à disposition de vos utilisateurs les modèles officiels de votre entreprise.

Romelard Fabrice [MBA Risk Management]

Office 365: Les navigateurs supportés par Office 365 Video Portal

Office 365 Video Portal est une solution vraiment attractive pour les entreprises afin de mettre en place une communication basée sur des vidéos, ou pour des solution de training interne.

Dans le cadre d’une mise en place globale, il convient de connaître au mieux sa population d’utilisateurs et valider que la solution est adaptée avec ces configurations type.

Ainsi, en regardant les statistiques globales de répartition des systèmes d’exploitation, on ne peut pas ignorer la présence des versions anciennes de Windows:

image

On voit dans le schéma ci-dessus (pour le mois de Juillet 2016) Windows 7 et XP représente plus de la moitié des machines, de plus on sait que de nombreuses entreprises sont encore totalement sous Windows 7.

Le support des navigateurs par Office 365 Video est détaillé dans la page

image

Quand on regarde cette page:

  • Le premier point est que la version minimale d’Internet Explorer est 9, or Windows XP ne supporte que IE 8 pour sa dernière version.
  • Pour Windows 7, le navigateur Internet Explorer est bien IE 11, mais avec un comportement différent de celui de Windows 8/8.1/10. Ainsi, le player de vidéo se fait uniquement avec le module Adobe Flash.

Il convient maintenant de voir comment se comporte la solution Office 365 sur chacune de version d’OS


Windows XP et Office 365

Officiellement cet version n’est plus du tout supportée par Microsoft, mais avec plus de 10% d’utilisateurs, on ne peut pas les ignorer.

Lorsqu’on lance Microsoft Internet Explorer 8, qui est la dernière version supportée par cet OS, l’aventure s’arrète immédiatement après le portail Office.com avec de très nombreuses erreurs Javascript:

image Il est donc totalement impossible d’utiliser Internet Explorer sous Windows XP pour accéder à Office 365 Video Portal.

Par contre, losque l’on regarde le tableau de support, Firefox ou Google Chrome sont totalement compatibles si on maintient les versions à jour

image

Mais en essayant avec Firefox d’accéder au site du Video Portal, tout semble être OK, car on voit tous les Channels et les thumbnails de chaque video. Mais lorsque l’on veut visionner une vidéo, le message suivant apparaît, nous renvoyant alors vers la page de présentation de Office 365 Video Portal

image image

Par contre, avec Google Chrome, le résultat est différent puisque la vidéo se lance et le player est celui HTML 5 (donc supportant les sous-titres)

image

  • On peut donc dire qu’Office 365 Video Portal supporte Windows XP que pour Google Chrome


Windows 7 et Office 365

Le cas de Windows 7 est plus subtile, car cet OS est encore supporté par Microsoft pour quelques années et donc les développeurs ne doivent pas l’ignorer, en revanche il est impensable de demander une modification de l’OS hors du cadre des patches de sécurités.

De ce fait, Microsoft ne supporte Office 365 Video Portal pour Windows 7 que dans le contexte suivant:

  • Google Chrome avec le Player HTML5 (total support des sous-titres)
  • Firefox avec le Player HTML5 (total support des sous-titres)


Conclusion

Il convient donc de bien savoir ce que vous souhaitez faire avec Office 365 Video Portal avant de partir sur cette solution et surtout de matcher avec la configuration de vos postes utilisateurs.

Si les sous-titres ne sont pas essentiels pour vous, tout est OK pour Windows 7, mais si c’est un point important, il est indispensable de passer sur un navigateur alternatif.

Romelard Fabrice [MBA Risk Management]

Office 365: Le versionning dans OneDrive for Business

OneDrive for Business utilise un mix de technologies dont certaines des fonctionnalités de SharePoint Online.

Lorsque l’on crée son espace OneDrive for Business, en interne, il s’agit plus ou moins d’une site SharePoint avec une unique librairie documentaire qui sera ensuite synchronisée via le client Offline OneDrive sur votre machine de travail.

La page d’accueil a été totalement retravaillée pour en simplifier son usage avec les options basiques de gestion

image


Activation des menus de gestion

En revanche, on trouve sur le bas à gauche un lien pour passer la page de présentation avec le look SharePoint 2013 auquel on peut rajouter le ruban, via le menu sur la droite

image image

Une fois ce menu réactivé, on obtient enfin toutes les options classiques de gestion des librairies documentaires

image


La gestion des versions de document

Maintenant que nous avons les options de gestion, il faut aller dans les paramètres pour trouver ceux de versionning

image image

En on trouve le niveau de gestion des sauvegardes de versions

image

Ainsi, dans mon cas, les versions sont toutes enregistrées sans aucune limite de nombre, ce qui est discutable pour la bonne gestion de votre volume par collaborateur.

Dans certains cas, une valeur limite peut être paramétrée à 500 pour le champ “Conserver le nombre suivant de versions principales”

image


Impact du versionning sur l’utilisation du volume alloué par collaborateur

Deux cas précis se distingue dans cette question de la place occupée par les versions:

  1. Document Office 2013/2016 modifié directement en sauvegarde dans le cloud ou dans le répertoire Offline
  2. Document Office ou autre type uploadé manuellement par le client Web (ou écrasé dans le répertoire Offline)

Le cas numéro 1 permet de voir entrer en jeu la sauvegarde des deltas de modification.

Pour faire simple, lors de la modification du document Office (via Office Rich Client ou Web Client), le système ne fait passer au niveau réseau que le Delta de ce qui a été modifié dans le document et non le fichier tout entier. Par contre le moteur SharePoint (OneDrive for Business) crée une nouvelle version une fois le mode édition terminé. On voit alors la multiplication des versions du document avec le menu “Historique des versions”

image image

Le cas numéro 2 correspond à tous les autres types de documents. Le changement de version correspond simplement à :

  • l’utilisation du client dédié au fichier dans le répertoire offline
  • le changement du document (copier/coller) dans ce même répertoire offline
  • l’upload d’une nouvelle version du document dans le même emplacement (répertoire) via le site web

Le transfert réseau est différent du client Office, car l’intégralité du fichier est remplacé et donc uploadé vers le stockage cloud, par le client web ou le client offline.


Conclusion

Cette fonctionnalité de versionning est vraiment intéressante pour un usage courant, mais il faut absolument comprendre les risques de sur consommation des espaces OneDrive collaborateurs avec des fichiers multimédia ou des fichiers ayant un très grand nombre de versions.

Romelard Fabrice [MBA Risk Management]

Office 365: Gestion des Thumbnails dans Office 365 Video Portal

Nous avons vu dans un précédent article la gestion des sous-titres dans Office 365 Video Portal:

Mais il existe d’autres options de personalisation offertes par la plateforme.


Introduction

En effet, lors du chargement d’une vidéo dans la plateforme Office 365 Vidéo, celle-ci propose une série de 5 images en miniatures (thumbnails) qui sont d’ailleurs générés automatiquement par le système.

Il y a alors deux options:

  • Laisser Office 365 Vidéo attribuer la première miniature automatiquement
  • Choisir une miniature spécifique

La première option ne demande rien au responsable de contenu.


Choisir la miniature pour une vidéo parmis la liste automatique

Pour effectuer cette sélection, il faut aller dans la vidéo (après le travail de conversion effectué par Azure Media Services) et sélectionner dans le menu “Thumbnail”

image

A ce moment, le système propose 5 images autogénérées dont la première est celle utilisée par défaut

image

Les images présentées dans cette liste sont générées à la volée par un fichier ASHX specifique qui sera appelé selon la règle suivante:

  • getpreview.ashx?guidSite=36b8e1b1-c7fa-4b3e-9d0a-d9c391f4ae89&guidWeb=02f1cf27-6f8a-438a-a08d-1f3805e66b11&guidFile=40dea05e-0fff-4bd1-9ea9-69afccb4b7bd&index=4

Le numéro de l’index va bien sur de 0 à 4 (pour les cinq previews proposées).

Lorsque l’on choisie une miniature, celle-ci est alors stockée en PNG dans la librairie SharePoint Video de la Collection associée au Channel


Comment sont choisies les miniatures par Azure Media Services ?

Le calcul est basé sur le temps de la vidéo en secondes.

Ainsi prenons le cas d’une video de 500 secondes (8 min 20 secondes), le moteur va donc calculer un pas basé sur le nombre de miniatures (5):

  • Pas de capture = 500 sec / 5 thumbnails = 100 secondes

En revanche, la première image sera prise à un demi pas, et non un pas entier, ceci afin de ne pas avec une image vide en fin, comme dans beaucoup de videos.

On peut donc déduire le minutage de chacune des thumbnails avec le calcul suivant:

  • Thumbnail N°1: (durée de la video en secondes) / (nombre de thumbnails) / 2
  • Thumbnails du N°2 à 5: (durée de la video en secondes) / (nombre de thumbnails) / 2 + ((Numéro du thumbnail – 1) * (durée de la video en secondes) / (nombre de thumbnails))

Donc dans notre exemple d’une vidéo de 500 secondes, nous auront des thumdnails au secondes suivantes: 50, 150, 250, 350 et 450


Choisir la miniature personnalisée

Il est par contre possible de charger sa propre miniature pour ne pas être dépendant du rythme du générateur, pour cela, il faut cliquer sur le bouton “Upload an Image”

image

A ce moment, vous pouvez uploader une image selon votre besoin réel depuis votre poste de travail. Ce fichier sera alors stocké dans la librairie vidéo en respectant la même logique que lors du choix d’un thumbnail automatique:

Il sera stocké en interne dans son format original, mais le fichier ASHX génère plusieurs miniatures selon la valeur donnée dans le paramètre “width”, telle que suit:

  • Certaines largeurs donneront une image rectangulaire (ratio 16/9)
  • Si votre fichier source est au format carré, certaines largeurs donneront une image carrée (au dessus de 500px)

Quelque soit la miniature choisie, la mise à jour de celle-ci est faite quelques secondes après le changement dans tous les affichages de la vidéo.


Conclusion

Cette solution est simple à gérer et permet d’apporter une présentation plus agréable des listes de vidéos. Il est aussi utilisé pour les images plus grande dans les pages de news (avant de cliquer sur le bouton play).

Romelard Fabrice [MBA Risk Management]


Liens en rapport

Office 365: Gestion des sous-titres dans Office 365 Video Portal

Office 365 est une plateforme en constante évolution, dont une des grosses nouveautés récentes est le portail vidéo Intranet.

Je ne ferai pas une présentation de la solution, car d’autres ont déjà fait ca très bien:

On trouve d’ailleurs un site de proposition de feedbacks pour cette nouvelle plateforme, dans lequel chacun peut proposer ou promouvoir une idée d’amélioration:


Principe de base

Revenons sur le sujet de notre post, la plateforme Office 365 Video Portal permet de proposer l’affichage direct des sous-titres pour une vidéo donnée. Le principe sous-jacent est bien sur de limiter le volume de fichiers stocker, tout en proposant une valeur ajoutée importante pour les utilisateurs. De ce fait, les entreprises globales peuvent réduire largement le temps associé à la création de contenu média pour le groupe:

  • Une seule video dans la langue corporate
  • Tous les sous-titres dans les langues locales

Cette fonctionnalité est très récente puisque la publication date de Mars 2016:


Chargement d’un sous-titre

Vous pouvez donc ajouter pour une vidéo donnée différents sous-titres localisés au format WebVTT uniquement. A noter qu’il existe de nombreux convertisseurs en ligne SRT vers VTT (par exemple: https://atelier.u-sub.net/srt2vtt/).

Ainsi une fois la vidéo chargée dans la plateforme, vous pouvez ajouter un fichier de sous-titre en cliquant sur “Manage” puis “Subtitles or captions”

image

Une fenêtre modale se charge sur la droite affichant les langues déjà chargées

image

Il faut alors cliquer sur “Upload a new file” pour sélectionner la langue du sous-titre à ajouter, puis cliquer sur “upload”

image image

On va alors chercher le fichier VTT qui sera ensuite visible dans la plateforme comme nouvelle traduction.

Attention:
L’encodage du fichier VTT doit être absolument en UTF8, sinon les caractères accentués ne passeront pas dans le lecteur.


Stockage des fichiers VTT

Comme l’article “All about the Office 365 Video Portal” l’explique très bien, le système du Portal Video d’Office 365 est basé sur des collections de sites qui sont créés pour chaque “Channel”. Ainsi, le stockage des fichiers vidéo se font lors de l’upload (utilisé par Azure Services pour le streaming en lecture).

Les sous-titres font parti de cette logique de stockage dans la collection de site SharePoint, et si on se rend dans la collection créée par la plateforme:

On trouve une document library “pvid [Videos]”

image

Et cette librairie contient les fichier vidéos, mais aussi les fichiers sous-titre ou encore les miniatures

image

Au passage, on voit que les fichiers sont gérés avec le statut “Approve”. Le “Content-Type” du sous-titre est générique pour les fichiers attachment.


Lecture avec sous-titre sur Windows

Pour l’utilisateur, la présentation de ces sous-titres locaux se fait dans le lecteur video par le bouton sur le bas à droite, qui ouvre le choix des langues disponibles. Il faut aussi savoir que ce bouton n’apparait que si au moins un sous-titre a été chargé pour la vidéo en question

image

Attention:
Le composant de lecture est fourni sous plusieurs versions:

  • HTML 5
  • Adobe Flash

Un problème apparaît alors pour les utilisateurs ayant le lecteur chargé en Flash, les sous-titres ne sont pas gérés et donc ils ne peuvent pas profiter de cette solution.

image

Il faut trouver un moyen pour ne pas charger sur vos PC le player flash, mais bien le player HTML 5.


Lecture avec sous-titre sous iOS

Les smartphones sont bien sur une part importante de la stratégie de Microsoft avec Office 365 et la vidéo ne fait pas exception. Ainsi, la gestion des sous-titres fonctionne parfaitement avec un iPhone sous iOS 9 comme on le voit ci-dessous.

image image
Il en est de même sous Android.


Paramétrage du visualiseur de sous-titre

Le player HTML5 est paramétrable pour la visualisation des sous-titres en laissant l’utilisateur définir sa propre configuration d’affichage

image

Cela permet un agrément de lecture adapté à chacun.


Conclusion

Cette solution Office 365 Video Portal est une fonctionnalité très importante pour la communication interne aux entreprises dont les utilisateurs sont de plus en plus distribués dans le monde.

Romelard Fabrice [MBA Risk Management]

WSUS: Requête SQL permettant des rapports plus pratiques pour la gestion des serveurs Windows

wsus_logo

Dans un environnement gérant de nombreux serveurs, il est rapidement intéressant de mettre en place une solution de mise à jour automatique permettant de ne pas télécharger tous les patches directement depuis les sites Microsoft. Cela permet de piloter un minimum le contrôle et le déploiment de ceux-ci.

La solution la plus simple et la moins coûteuse est disponible chez Microsoft “Windows Server Update Services”. Elle est simple dans sa configuration et sa gestion, mais reste limitée.

Sa principale limitation se trouve dans la possibilité d’avoir des rapports clairs sur l’état de son parc informatique en rapport avec les patches Microsoft, surtout dans un monde demandant de plus en plus de rapport de compliance.

Après avoir cherché un long moment, voici les quelques sources qui m’ont permis de créer des rapports ajouté dans ma solution Reporting Services avec un abonnement hebdomadaire par email:

Par exemple, le code suivant permet de voir pour chaque serveur le nombre de patches par statut:

SELECT
    c.FullDomainName AS 'SERVER_NAME',
    c.IPAddress AS 'IP_ADDRESS',
    (CASE
        WHEN a.State = '1' THEN 'Not Applicable'
        WHEN a.State = '2' THEN 'Not Installed'
        WHEN a.State = '3' THEN 'Downloaded'
        WHEN a.State = '4' THEN 'Installed'
        WHEN a.State = '5' THEN 'Failed'
        WHEN a.State = '6' THEN 'InstalledPendingReboot'
        ELSE 'Unknown'
        END)
    AS 'INSTALLATION_STATE',
    count(c.fulldomainname) as 'TOTAL_ITEMS'
FROM
    [PUBLIC_VIEWS].[vUpdateInstallationInfoBasic] a
LEFT JOIN [PUBLIC_VIEWS].[vUpdate] b
    ON b.UpdateID = a.UpdateID
LEFT JOIN dbo.tbComputerTarget c
    ON c.ComputerId = a.ComputerTargetId
GROUP BY
    c.FullDomainName,
    c.IPAddress,
    a.State
ORDER BY
    c.FullDomainName

Ces liens m’ont permis de créer plusieurs rapports qui sont ensuite délivrés aux équipes de production pour suivre les serveurs et gérer les campagnes de patching.

Romelard Fabrice [MBA Risk Management]

Office 365: Sauvegarder un WorkBook OneNote 2016 depuis OneDrive

Avec l’arrivée de la plateforme Office 365, plusieurs clients sont founis dans le package Office Pro Plus 2016. Au sein de ce package se trouve OneNote 2016 qui devient rapidement indispensable si on prend le temps de comprendre sa logique.

image

Cette application est encore mieux lorsqu’on la couple avec OneDrive for Business, car le bloc note devient accessible depuis n’importe quel plateforme:

  • Le client riche OneNote sur le PC ou MAC
  • Le client Web OneNote Online depuis son MySite (OneDrive)
  • Les clients OneNote sur plateforme mobile

On entre dans le parfait exemple de la logique “AnyWhere, AnyTime on Any Device”.

Tout ceci semble magique, mais comme toujours la simplicité est toujours très complèxe, et ce cas n’échappe pas à la règle.


Stockage des NoteBook dans OneDrive

Si on enregistre son bloc note dans son espace OneDrive, on trouve alors en ligne un fichier un unique fichier pointeur de ce bloc note

image

En passant en Mode Windows Explorer, on voit alors qu’il s’agit d’un répertoire qui contient un certain nombre de fichiers.

image image

Mais cette solution n’est pas très aisée et le client de synchronisation ne reproduit pas cette arborescence, au contraire, il place un “Internet Shortcut” qui permet d’ouvrir le BlocNote dans OneNote Online ou OneNote s’il est installé sur le poste.

image

Attention:
Lorsque le client OneDrive for Business (Office 2016 - Groove) est installé et configuré, le mode explorateur ouvrira le répertoire local de synchronisation et non le WebDav.

Pour sauvegarder son bloc notes en ligne, il existe donc deux possibilités:

  • Copier les fichier en Explorateur Windows
  • Exporter son bloc note avec un fichier ONEPKG


Sauvegarder les fichiers en Explorateur Windows

Il faut donc utiliser le Mode Windows Explorer, puis entrer le répertoire (ayant le nom de son bloc note) pour trouver les fichiers de notes “xxxx.ONE” et “yyyy.onetoc2”

image

Il suffit donc de copier tout le répertoire dans un répertoire local pour effectuer la sauvegarde de vos notes et donc des fichiers “xxx.ONE” et “yyyy.onetoc2”

image image

Pour ouvrir le bloc note, il faut double cliquer sur le fichier “yyyy.onetoc2

image

Et vous pouvez vérifier le point de stockage de ce bloc note:

image image

C’est donc une solution faisable si votre explorateur Windows ouvre bien le WebDAV et non le répertoire de stockage du client Sync.


Exporter son Bloc Notes depui OneNote

OneNote permet une option utile pour ce type de contexte:

  • Comment créer une sauvegarde de mon bloc note que je puisse stocker quelque part en cas de besoin ?

Pour répondre à cette question, il suffit de cliquer, dans le client riche, sur “File” et choisir “Export”, puis de sélectionner “Notebook” et le format “OneNote Package (*.onepkg)” et enfin cliquer sur le bouton  “Export”

image

On fournit simplement un nom au fichier de sauvegarde, définit le répertoire de sauvegarde et on clique sur “Save”

image

Le client OneNote lance la tache d’export, et on trouve le fichier dans le répertoire voulu.

image image


Ouverture du fichier xxx.onepkg

L’ouverture du fichier se fait aussi avec le client riche OneNote, qui propose alors de fournir les informations de base et le point de stockage de ce bloc note

image

Pour enfin avoir son bloc note tout frais.


Conclusion

Cette solution est aussi utilisable pour sauvegarder ses notes du Cloud vers un disque local ou vers une clé USB.

Romelard Fabrice [MBA Risk Management]

Office 365: Comment ouvrir son OneDrive for Business en Explorateur Windows

OneDrive for Business est l’évolution des anciens sites SharePoint “MySite”, avec un outil de synchronisation en plus:


OneDrive for Business New experience

La nouvelle version de l’interface graphique est forcée par l’administrateur SharePoint du tenant par l’option “OneDrive for Business experience” associée avec celle “Functionality of the Sync button” (expliquée dans un précédent post):

image

Une fois cette option activée pour le tenant, tous les utilisateurs bénéficie du nouveau design, et notamment perde le système du ruban.

image

Ceci est un peu déconcertant pour ceux qui veulent retrouver les options SharePoint classiques (Check in/check out, suppression massive, …).


Retrouver l’ancienne interface au besoin

Un petit lien discret au bas à gauche de la page Web permet de réactiver dans la session courante l’ancienne interface”Return to classic OneDrive” :

image

On retrouve alors le ruban classique de gestion SharePoint avec toutes les options standards

image

Dont le fameux “Open with Explorer”

image

Cela vous permettra d’avoir la fenêtre de Windows Explorer pour faire une copie massive par exemple, ou un chargement de nombreux répertoires en une fois.

image


Conclusion

Comme toujours, il n’y a aucune garantie que Microsoft conserve cette option, car elle va à l’encontre de la stratégie minimaliste du Site OneDrive et surtout de la poussée massive pour le client Windows de Synchronisation.

Source: How to use the "Open with Explorer" command to troubleshoot issues in SharePoint Online

Romelard Fabrice [MBA Risk Management]

Office 365: OneDrive for Business–Supprimer dans le bouton Sync du Site Web MySite

Ce sujet est symptomatique de l’évolution de plateforme Office 365 et de la souplesse imposée aux client. Chaque jour peut cacher un changement ou une nouveauté sur la plateforme, qu’il vaut mieux suivre rapidement.


Bouton Sync des listes SharePoint

Nous avons vu dans un précédent message la question du Client OneDrive et du mode Offline:

Ainsi, depuis la mise à disposition du nouveau client OneDrive, le bouton “Sync”:

Pointait vers un message demandant l’installation de OneDrive For Business :

Nous avons donc vu que ce bouton pouvait être désactivé au niveau:

  • de chaque Site SPWeb
  • de chaque SPList

Mais le OneDrive WEB était exactement dans le même contexte et chaque utilisateur devait aller dans ses site settings pour changer l’option:

Ce qui est clairement contre-productif et simplement idiot d’un point de vue Infrastructure ou Support Utilisateur.


Nouveau paramètre depuis la “SharePoint Admin Center” d’Office 365

Microsoft vient de revoir sa copie et propose désormais un menu dans l’application de gestion du Tenant traitant de cette question :

  • Settings > Functionality of the Sync button

image

Functionality of the Sync button

The new OneDrive sync client (OneDrive.exe) offers improved reliability, quick setup, large file limits, and the ability to select which folders you sync. If you already deployed the new sync client, users no longer need the Sync button to set up a sync relationship, so we recommend hiding the button. If you haven't deployed the new client but want to allow users to install it and select their sync settings, choose "Start the new client." If you want users to continue using the previous sync client (Groove.exe), choose "Start the old client."
This option applies only to the new experience. The classic experience will continue to use the previous sync client.

L’option par défaut “Start the old client” est bien la valeur provenant de l’ancienne plateforme avec OneDrive for Business et donc le bouton et la fenêtre modale pointant vers le site expliquant l’installation de OneDrive for Business.


Que se passe-t’il lorsque la première option est activée “Hide the button”

Une fois l’option sélectionnée et validée, le système mettra le tenant à jour (potentiellement plusieurs heures après) en modifiant tous les “MySites” pour supprimer le bouton “Sync” de la page web:

Avant update Après update
image image

Les utilisateurs ont en revanche toujours le lien pour télécharger le nouveau client dans la page Web (en bas à gauche):

image

Les renvoyant vers le site public Microsoft:


Conclusion

Attention, cette modification ne touche en rien les Team Sites SharePoint, elle n’a d’impact que sur les collections de sites MySite (sous /personal/), et uniquement si vous avez activé la nouvelle version “New Experience”:

image

Il vous faudra donc effectuer la modification dans toutes les collections de sites comme expliqué dans le message précédent, mais ca reste une avancée notoire.

Romelard Fabrice [MBA Risk Management]

SharePoint 2013: Personaliser le Theme Colors en mode Edit Page

Une demande classique du département communication est la mise en place de Template Documentaire. Ainsi, avec Office, on peut avoir un set de modèle de documents utilisables pour chacune des applications (Word, Excel, PowerPoint, …).

La question qui vient rapidement est relatif à SharePoint et la création d’un thème par défaut respectant les couleurs et styles de l’entreprise.


Theme SharePoint 201X

Depuis 2010, il est possible de créer un thème SharePoint utilisable dans vos Sites avec la personalisation des deux fichiers de base:

  • xxx.spcolor: que l’on trouve dans les sites avec les fichiers “Palettexxxx.spcolor”
  • yyy.spfont: que l’on trouve dans les sites avec les fichiers “fontscheme0xx.spfont”

Il est ensuite possible de créer un “Composed Look” qui sera utilisable visuellement dans le site SharePoint, et de très nombreux articles traîtent de ce point, par exemple:

Cette notion de “Composed Look” permet ensuite aux utilisateurs de trouver ce nouveau thème dans la liste proposée avec un aperçu comme on peut le voir ici:


Cas particulier du Theme Colors en Edit Page

La question ultime de ce département vient lorsque celui-ci demande d’accorder la présentation des couleurs en mode “Edit Page” avec ce qui est défini pour un document Word ou PowerPoint.

image

Ceci est possible toujours en prenant le fichier SPCOLOR et allant dans les blocs suivants et les remplacant par le jeu de couleur transmis par la communication.

Ce tableau présente 10 cases de largeurs et seule la première ligne est modifiable, les autres étant dépendantes de cette première. Donc le fichier XML xxxx.SPCOLOR doit être édité pour rechercher les clé suivantes:

----- BOX 1 --------------------------------------------------
    <s:color name="BackgroundOverlay" value="XXXXXXX" />
----- BOX 2 --------------------------------------------------
    <s:color name="BodyText" value="XXXXXXX" />
----- BOX 3 --------------------------------------------------
    <s:color name="SubtleEmphasisText" value="XXXXXXX" />
----- BOX 4 --------------------------------------------------
    <s:color name="SubtleEmphasisBackground" value="XXXXXXX" />
------BOX 5 TO 10 ---------------------------------------------
    <s:color name="ContentAccent1" value="XXXXXXX" />
    <s:color name="ContentAccent2" value="XXXXXXX" />
    <s:color name="ContentAccent3" value="XXXXXXX" />
    <s:color name="ContentAccent4" value="XXXXXXX" />
    <s:color name="ContentAccent5" value="XXXXXXX" />
    <s:color name="ContentAccent6" value="XXXXXXX" />
----------------------------------------------------------------

Il vous faut simplement appliquer ce nouveau fichier et vous obtiendrez votre propre résultat qui ravira le département demandeur.

AVANT APRES
image image


Conclusion

Cette solution permet d’être simple d’usage et facilement gérable en ne s’écartant pas des standards de Microsoft ce qui vous garantit des mises à jour plus soft.

Links:

Fabrice Romelard [MBA Risk Management]

Office 365: Monter une machine de management pour gérer Office 365

Dans un précédent message, j’expliquais le cas particulier du client CSOM pour la gestion des site SharePoint:

La question qui se pose à ce stade est comment faire pour gérer un Tenant 365.


Machine dédiée

Il est clair que l’interface graphique, même dans sa nouvelle version, reste limitée en fonctionnalités et très rapidement, le scripting devient obligatoire.

De part le mode d’exécution qui est à prévoir sur les différents modules de la plateforme, une machine dédiée est rapidement obligatoire:

  • Tache planifiée
  • Script de check ou contrôle
  • Outil de provisionning
  • Outil de migration

De plus, un serveur permet de ne pas être attaché au développeur ou consultant en cas de remplacement.

Il n’est pas non plus nécessaire d’avoir le modèle objet de SharePoint, puisque tout se fait en Remote (via PowerShell), donc un simple serveur Windows 2012 R2 avec les FrameWork .NET nécessaires aux applications de gestion. Il faudra ensuite installer:

  1. Office 365 PowerShell for SharePoint Online
  2. SharePoint Online Client Components SDK (SharePoint Online)
  3. SharePoint Server 2013 Client Components SDK (SharePoint 2013 si nécessaire)


Online et On-Premise ?

Attention, pour les environnements On-Premises, la version CSOM pour SP Online est un fork de la version On-Premise de SharePoint 2016, ainsi on ne peux pas installer la dernière version CSOM 2016 On-Premise une fois le module Online installé, on obtient d’ailleurs le message suivant:image

Si vous devez gérer les deux environnnements (SP Online et SP 2016 On-Premise), il vous faudra deux serveurs de gestion. En revanche, gérer SP Online et SP 2013 On-Premise est bien possible depuis une seule et même machine, puisque les deux versions s’installent sans soucis:

  • SharePoint On-Premise 2013: CSOM version 15.0.4711
  • SharePoint Online 2016: CSOM version 16.0.4002
image image


Comment charger CSOM dans les scripts PowerShell

Il est possible de faire la méthode “à l’arrache” pour cela, sans aucune certitude de la portabilité et de la version du modèle CSOM chargé (2013, 2016 Online ou 2016 On-Premise) via la commande LoadWithPartialName (qui est d’ailleurs Obsolète maintenant), comme suit:

function Add-SPOAssemblies {
     [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client") | Out-Null
     [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client.Runtime") | Out-Null
}

Cette commande prendra la version qui est définie dans les assemblies de votre serveur, si on prend le cas d’une machine fraichement installée avec les deux CSOM (SP Online 2016 et SP On-Premise 2013) la commande suivante nous donne le résultat:

$loadInfo1 = [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client")
write-host $loadInfo1.FullName
>> Microsoft.SharePoint.Client, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c

La version de l’assembly chargée est donc bien la SP Online 2016, ce qui peut poser des problème dans votre script.

Il est donc préférable d’utiliser le pointeur vers la DLL à charger directement:

SP On-Premise 2013:

Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"

SP Online 2016:

Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"

D’ailleurs une rapide comparaison des répertoires ISAPI indique de nombreux changements entre les deux versions:

SP On-Premise 2013 SP Online 2016
image image

Ce qui pousse bien dans la direction d’utiliser CSOM pour toute la gestion de SharePoint à l’avenir.


Autres outils

Tout ceci dépendra de vos besoins en interne et de la fédération des équipes de gestion de votre tenant Office 365. Si vous êtes organisé en silot indépendant, il est préférable d’avoir un serveur par type de produit (Exchange Online, SharePoint Online, Skype, …). Si en revanche, votre équipe est bien organisée, vous pouvez mettre tout le monde sur le même serveur de gestion en définissant simplement des règles d’usage et de priorité.

Attention toutefois à ce que ce serveur soit bien considéré comme de la production sous peine d’y retrouver un fourre-tout ingérable très rapidement.

Romelard Fabrice [MBA Risk Management]

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]

Office 365: la synchronisation (mode Offline) avec OneDrive for Business

Nous avons vu dans un précédent message que la solution de synchronisation entre le Cloud et le User desktop est en pleine réorganisation:


Le client OneDrive

Ce nouveau client est désormais le client unique pour OneDrive:

  • Personnel avec un compte LiveId
  • Professionnel avec un compte Office 365

Ce client ne prend en revanche pas encore (prévu en fin d’année) en compte le mode Offline (bouton Sync) pour les sites SharePoint:

  • OneDrive Web

image

  • SharePoint Document Library

image

Ainsi lors du click sur ce type de bouton, on obtient immédiatement l’option pour installer OneDrive for Business

image

Pointant vers cette page:

Ceci est particulièrement déconcertant pour les utilisateurs de vos sites SharePoint (ou OneDrive Web) qui ne recevront pas ce client riche, mais bien la nouvelle version.


Comment désactiver le bouton Sync

Que ce soit dans votre site OneDrive Web (nouveau MySite) ou un site SharePoint classique, l’activation ou désactivation se fait à deux niveaux:

  • Au niveau du SPWeb
    • Site Settings > [Search] Search and Offline avaibility > Offlice Client Avaibility

image

  • Au niveau de la Document Library
    • Library Settings > Advanced Settings > Offline Client Availability

image

Le niveau SPWeb est supérieur au niveau list, ce qui veut dire qu’un Site admin peut désactiver l’option d’un site entier pour l’ensemble des listes. En revanche, cela devra être fait au niveau de chaque sous-sites.


Script PowerShell pour les fermes On-Premises

Au niveau SPWeb

Il n’existe pas de solution pour la solution pure Cloud, car c’est une propriété SPWeb qui n’est pas exposée (SPWeb.ExcludeFromOfflineClient property) en mode WebService.

image

En revanche pour une ferme On-Premise, la commande est la suivante:

Get-SPSite -limit all | get-SPWeb -limit all | Foreach { $_.Title = $_.Title; $_.ExcludeFromOfflineClient=1; $_.Update() }

Au niveau SPList

Le niveau SPList possède aussi la propriété SPList.ExcludeFromOfflineClient, mais celle-ci non plus n’est pas addressable en Web Service.

Avec une ferme On Premise, la commande suivante permet de bloquer l’option pour les Picture doclibs:

$webs = Get-SPWebApplication "http://sp13" | Get-SPSite -Limit All | Get-SPWeb -Limit All | Foreach-Object {

     Foreach ($list in $_.Lists | Where-Object { $_.BaseTemplate -eq "PictureLibrary"}){

           $list.ExcludeFromOfflineClient=1;

           $list.Update()

           }

}


Avec Office 365

Les seules solutions possibles semblent être:

  1. De trouver une personne dédié à ce click de base (le coût horaire de certains pays peut justifier cette option, mais il faut mettre cette personne site admin)
  2. Essayer d’intégrer cette option désactivée par défaut à la création du site
  3. Ajouter une feature qui va désactiver l’option pour toutes les listes du site courant:

public override void FeatureActivated(SPFeatureReceiverProperties properties) {
SPWeb web = properties.Feature.Parent as SPWeb;
SPList list = web.GetList(“Documents”);
list.ExcludeFromOfflineClient = true;
list.Update();
web.Update();
}

La troisième option est à valider, mais surtout à maintenir et déployer sur votre tenant (pour chaque collection et utiliser pour chaque SPWeb).

Il reste encore à prier pour que Microsoft intègre cette feature dans la future version à déployer:


Sources en ligne:

Changement avec le site SharePoint:

Via PowerShell pour les SPWeb:

Via PowerShell pour les SPList

Via Javascript dans les Master Page:


Conclusion

Comme nous le voyons encore une fois la stratégie de changement au niveau du client riche n’a pas du tout été synchrone avec celle du site web SharePoint OnLine. Le résultat est bien sur dommage, car la charge de support se retrouve désormais au niveau du client pour répondre aux demandes utilisateurs:

  • Pourquoi la page web me demande OneDrive for Business ?
  • Comment puis-je faire du offline lors de mes voyages ?
  • Pourquoi le bouton est grisé ?

Je vous laisse imaginer tout ce que vous pouvez y mettre, et donc préparer votre équipe helpdesk pour les réponses.

Romelard Fabrice [MBA Risk Management]

Office 365: Le nouveau client Windows OneDrive - 17.3.6381 (le retour)

Nous avons vu dans un précédent article la situation ubuesque de la version OneDrive présentée comme utilisable par les entreprises:

Cette solution était plutôt déconcertante et posait de nombreux soucis de déploiment, de configuration et d’utilisation dans le monde professionnel. La conclusion était vraiment discutable et poussait certains clients vers d’autres solution CloudDrive du marché.

Microsoft a revu totalement sa copie et publié une nouvelle version, mais surtout une roadmap plus claire sur la direction à venir et le planning de mise à disposition:

Ainsi la direction officielle est la suivante:

  • OneDrive for Business (évolution de Groove) est officiellement tuée et sera totalement remplacée en fin d’année
  • OneDrive n’aura qu’un seul client Windows Desktop que ce soit pour le personel ou professionnel
  • OneDrive en professionnel n’a plus du tout besoin de clé de registre pour le paramétrage

Nous avons pu tester l’installation et il faut avouer que c’est vraiment plus simple, semble réellement plus performant (même avec réseau très limité) et réduit considérablement les bugs de synchronisation.

En revanche, le soucis du bouton de Sync persiste (et persistera jusqu’à cet hiver):

  • SharePoint Document Library Sync—We’re adding SharePoint Online document library sync, starting with a preview in the third quarter of 2016, with general release by the end of 2016.
    Read more at https://blogs.office.com/2016/04/12/onedrive-for-business-recognized-as-an-efss-leader-and-continues-momentum-with-spring-updates/#D7iofmVybipXP7XI.99


Installation du client

Le client est disponible ici:

Et une fois le fichier exe lancé, l’installation peut commencer

clip_image002

Le premier logon apparait alors, ou il faut juste ajouter l’email professionnel (Office 365)

image

Le système détecte un compte Office 365 puis présente la fenêtre d’authentification. Si vous avez activé le SSO avec ADFS dans votre entité OneDrive le prend en compte et ne demandera pas de mot de passe

image

Le client vous propose alors le folder de synchronisation par défaut et enfin les répertoires à synchroniser localement

image image

La configuration est alors terminée et vous aurez un écran de récapitulatif pour enfin voir le répertoire se synchroniser avec les données provenant du Cloud

image image

La version du client est donc nouvelle et l’écran “Account” a aussi été revu pour gérer correctement cette dualité

clip_image002[5] image


Intégration dans Office ProPlus 2016

Dans les client Office ProPlus 2016 (Word, Excel, PowerPoint, Outlook et Access), la présentation du client se fait pour le moment à travers le “Save As” (ou “Open”) qui fait un accès direct au OneDrive à partir du WebDav et non du client de synchronisation

image

Attention au second “OneDrive” de la liste qui pointe vers le OneDrive Personel et non professionnel.

Microsoft a confirmé une meilleure intégration avec le client Riche, mais certainement des nouveautés viendront avec les nouvelles build de ProPlus

  • Office 2016 integration—In conjunction with an Office 2016 update currently rolling out, key features such as real-time co-authoring, open documents from the Most Recent list and share documents from within the Office app will be available.
    Read more at https://blogs.office.com/2016/04/12/onedrive-for-business-recognized-as-an-efss-leader-and-continues-momentum-with-spring-updates/#D7iofmVybipXP7XI.99


Conclusion

Comme je le disas dans mon précédent post, les applications autour d’Office 365 sont en pleine évolution avec des avancées plus ou moins rapide et plus ou moins synchronisées. On voit donc que cette fois le client OneDrive est en avance sur Office ProPlus, mais aussi en avance sur les Sites SharePoint (y Compris OneDrive WEB).

Il va falloir s’habituer à cet état de fait en tant que client et ne jamais prendre une situation donnée pour acquise, ce qui est très compliqué à gérer dans une monde professionnel non IT.

Romelard Fabrice [MBA Risk Management]

SharePoint 2007: Page ASPX par défaut avec une erreur 404

L’archéologie est une matière sympathique et aussi étrange que cela puisse paraître, c’est une science vivante pour la partie Informatique.

En effet, une solution Up To Date et trendy devient très rapidement obsolète dans notre milieu. Le soucis est que les utilisateurs ou les budgets ne bougent pas aussi rapidement que les éditeurs le souhaitent. Ainsi, on se retrouve à devoir “maintenir” assez rapidement des architectures complètes.

SharePoint 2007 est aujourd’hui exactement dans ce contexte, officiellement supporté, mais de plus en plus abandonné par l’éditeur, mais là n’est pas le sujet.


Cas des pages 404 sur certaines listes

Depuis quelques jours, un bug revient sur plusieurs fermes SharePoint 2007 WSS V3, remonté par des utilisateurs qui ne peuvent plus accéder à des contenu de certaines listes.

En gratant plus, la page “AllItems.aspx” des listes fonctionne bien, mais pas les autres pages :

  • EditForm.aspx
  • DispForm.aspx
  • NewForm.aspx
  • overview.aspx (Survey)
  • summary.aspx (Survey)

Celles-ci donnent le résultat suivant “404 NON FOUND”:

image

En cherchant un peu plus, on trouve de nombreux de cas sur Internet parlant de customization de page (avec SharePoint Designer 2007). Ainsi, j’ai ouvert le site avec designer et essayé d’ouvrir les fichiers ASPX concernés sans succès. Le message d’erreur suivant est affiché:

  • Sharepoint 2007 designer soap:ServerServer was unable to process request. ---> The file DispForm.aspx does not exist.

Une nouvelle recherche google fournit de nouvelles pistes, comme des soucis due à la base de données SharePoint_Config, ou encore des soucis après migration de 2007 vers 2010:

Et c’est là que je me suis souvenu que c’est listes avaient certainement été créées avant la migration de WSS V2 vers WSS V3.

Pour vérifier cela, il suffit de regarder les dates de création des fichier en explorateur Windows (WebDav) ou via SPD (dans notre exemple de liste Survey):

image

Ces dates correspondent avant la migration In Place effectuée en 2007.


Solution pour fixer le problème

La solution est un peu tordue, mais fonctionne parfaitement. Il faut simplement suivre les étapes suivantes:

  • Créer une liste vide ayant le même template que la source de celle en soufrance (un survey vide dans notre cas)
  • Ouvrir l’explorateur Windows depuis une liste documentaire
  • Remonter d’un cran avec l’explorateur Windows pour trouver le répertoire “Lists”

image

  • Entrer dans ce répertoire pour trouver votre liste soufrance et entrer dedans pour retrouver les fichiers ASPX

image

  • Ouvrir un nouvel explorateur Windows et aller dans la liste vide créée juste avant (en suivant la même procédure). On voit tout de suite la différence dans les dates

image

  • Copier les fichiers ASPX un à un depuis la liste vide vers la liste en erreur et bien vérifier que les dates sont bien modifiées (attention, parfois la copie ne passe pas et on doit la refaire)

image

  • On peut retourner sur la liste et tester les pages ASPX pour voir le soucis réglé

image


Conclusion

Comme dirait mon ami François Tonic de Programmez, l’archéologie et l’informatique se rejoignent en de très nombreux points. Particulièrement losque l’on doit sortir la pelle et le pinceau pour creuser dans les systèmes. Et pour le cas de SharePoint, on creuse souvent et dans de nombreux cas, sans aucune idée d’où çela nous mène.

Romelard Fabrice [MBA Risk Management]

Plus de Messages Page suivante »


Les 10 derniers blogs postés

- Office 365: Comment utiliser la DLL Microsoft.SharePoint.Client.UserProfiles.dll dans son code PowerShell par Blog Technique de Romelard Fabrice le 09-23-2016, 09:15

- Office 365: Comment obtenir des informations des Users Profiles du tenant via PowerShell par Blog Technique de Romelard Fabrice le 09-22-2016, 17:58

- Event: La saison des conférence reprend, comme les champignons par Blog Technique de Romelard Fabrice le 09-21-2016, 10:05

- Microsoft Hololens par Le Blog (Vert) d'Arnaud JUND le 09-21-2016, 07:55

- SharePoint, édition multi fenêtres d'un élément de liste par Le Blog (Vert) d'Arnaud JUND le 09-19-2016, 13:10

- Ouvrir avec l’explorateur vos bibliothèques #SharePoint et #OneDrive… par Le blog de Patrick [MVP Office 365] le 09-10-2016, 17:47

- Contenu Festival #SharePoint et #Office 365 de mai 2016 à Paris #SPSParis par Le blog de Patrick [MVP Office 365] le 09-10-2016, 16:44

- Changements important pour Microsoft Store Services SDK par Blog de Jérémy Jeanson le 08-16-2016, 12:38

- Office 365: Le ContentTypeHub et les Content Types Orphelins par Blog Technique de Romelard Fabrice le 08-12-2016, 16:59

- Office 365: Comment trouver simplement l’adresse de la collection de site associée à une chaine par Blog Technique de Romelard Fabrice le 08-11-2016, 13:22