Aujourd’hui nous allons aborder une autre des nouveautés apportées par SharePoint 2016, les liens durables (Durable Links). Le principe consiste à garder un lien unique par document, afin que celui-ci soit toujours valide même si il est renommé ou déplacé dans SharePoint.
Le prérequis principal pour cette nouvelle fonctionnalité est l’implémentation d’Office Online Server ou Office Web Apps Server, permettant la prévisualisation des documents dans SharePoint via le protocole WOPI.
Une URL de prévisualisation du document et un ID seront utilisés pour accéder aux documents.
Comme vous pouvez le constater, sur L’URL du fichier Excel ci-dessous, la fonctionnalité de lien durable n’est pas appliquée ou présente par défaut.
Dans le cas présent L’URL devrait plutôt ressembler à ceci : http://win-47g9rurf9s3/sites/test/Shared%20Documents/test-12-04.xlsx?d=w1bded0314a914e64bea09d8cb48e3ef9
Afin de pouvoir bénéficier des liens durables, vous allez donc devoir :
- Installer Office Online Server ou Office Web Apps Server sur un serveur dédié
- Créer la ferme Office Web Apps
- Lier la ferme Office Web Apps à la ferme SharePoint.
Nous effectuerons ensuite quelques tests pour valider le principe des liens durables, et nous essayerons de comprendre comment ils fonctionnent.
Dans cet exemple, nous allons ajouter un seul serveur Office Web Apps et le lier à la ferme SharePoint existante. Nous n’aborderons donc pas les cas de haute disponibilité ou d’accès sécurisé (https) au niveau du/des serveurs Office Web Apps .
Installation d’Office Web Apps Server
Pour rappel voici les prérequis Hardware et software pour Office Web Apps Server .
Sur le serveur dédié aux Office Web Apps vous pouvez installer les rôles et fonctionnalités requis via la commande PowerShell suivante :
Add-WindowsFeature Web-Server,Web-Mgmt-Tools,Web-Mgmt-Console,Web-WebServer,Web-Common-Http,Web-Default-Doc,Web-Static-Content,Web-Performance,Web-Stat-Compression,Web-Dyn-Compression,Web-Security,Web-Filtering,Web-Windows-Auth,Web-App-Dev,Web-Net-Ext45,Web-Asp-Net45,Web-ISAPI-Ext,Web-ISAPI-Filter,Web-Includes,InkandHandwritingServices
Après la bonne exécution de cette commande vous pouvez mettre à jour votre serveur, afin de vous assurer du bon déroulement de l’installation.
Ensuite montez votre image d’Office Web Apps Server, puis lancez le Setup.exe.
Acceptez les conditions et cliquez sur Continue.
Sélectionnez le répertoire d’installation, puis cliquez sur Install Now.
Patientez jusqu’à la fin de l’installation puis cliquez sur Close.
Création de la ferme Office Web Apps
Afin de créer la ferme pour les Office Web Apps, utilisez la commande New-OfficeWebAppsFarm -InternalURL ‘http://AliasDNSOfficeWebApps’ -AllowHttp
Après la bonne exécution de la commande, vous pouvez vérifier la disponibilité de votre ferme en tentant de naviguer vers http://AliasDNSOfficeWebApps/hosting/discovery et vous devriez voir apparaître une page similaire à celle ci-dessous :
Lier la ferme Office Web Apps et SharePoint
La dernière étape consiste à lier la ferme SharePoint et la ferme Office Web Apps via la commande New-SPWOPIBinding.
Pour ce faire, connectez vous sur votre serveur SharePoint et exécutez cette commande via la console SharePoint Management Shell.
Dans mon cas :
New-SPWOPIBinding -ServerName "owap.ad-sp.local" -AllowHTTP
Suite à cela, la ferme Office Web Apps et la ferme SharePoint 2016 seront en mesure de communiquer entre elles. Veillez à ce que vos pare-feu soient correctement configuré (Configuration requise du pare-feu pour Office Web Apps Server)
Notez que sur les points de configuration précédents, rien ne diffère par rapport à SharePoint 2013.
Tests des liens durables
Nous pouvons maintenant vérifier si il y a des changements au niveau des URLs de notre fichier Excel :
Le préview du document apparaît (signe de bon fonctionnement des Office Web Apps) et la nouvelle URL du fichier Excel est donc bien :http://win-47g9rurf9s3/sites/test/Shared%20Documents/test-12-04.xlsx?d=w1bded0314a914e64bea09d8cb48e3ef9
Ce qui semble bien être le type d’URL utilisée pour la fonctionnalité de liens durables. En revanche à ce stade on ne voit pas vraiment en quoi ce lien est considéré comme durable. Il y a encore une référence à la bibliothèque de documents où se trouve le fichier Excel et le nom du document s’y trouve toujours également. Cependant un ID a été ajouté dans la seconde partie de l’URL.
A quoi correspond cet ID dans l’URL ?
Après quelques requêtes SQL, vous pourrez constater que cet ID n’est rien d’autre que l’ID du document en base préfixé par ?d=w. Vous pourrez le vérifier via la requête SQL ci-dessous, et en spécifiant le nom de votre document.
SELECT [Id]
,[SiteId]
,[DirName]
,[LeafName]
FROM [WSS_Content].[dbo].[AllDocs]
WHERE LeafName = 'NomDuDocument'
Déplacement d’un fichier, que se passe t-il ?
Voyons dans un premier temps ce qu’il se passe si nous déplaçons ce fichier dans un répertoire :
L’URL du document devient :
http://win-47g9rurf9s3/sites/test/Shared%20Documents/ChangedLocation/test-12-04.xlsx?d=w1bded0314a914e64bea09d8cb48e3ef9
La première partie de L’URL a changé, en revanche ce n’est pas le cas de la seconde partie contenant l’ID du document.
Essayons désormais d’accéder à l’ancienne URL de ce document : http://win-47g9rurf9s3/sites/test/Shared%20Documents/test-12-04.xlsx?d=w1bded0314a914e64bea09d8cb48e3ef9
Le fichier s’ouvre correctement et l’URL vers laquelle nous sommes redirigés est celle ci :
http://win-47g9rurf9s3/sites/test/_layouts/15/WopiFrame.aspx?sourcedoc={1BDED031-4A91-4E64-BEA0-9D8CB48E3EF9}&file=test-12-04.xlsx&action=default
On constate que le sourcedoc se base sur l’ID se trouvant dans la seconde partie de l’URL du fichier, mais il reste toujours une référence au nom du document. Le nouveau format semble donc être le suivant :
<Site URL>/_layouts/15/WopiFrame.aspx?sourcedoc=<DocID>&file=filename&action=default
La principale évolution semble donc se trouver dans la redirection et la construction de cette URL pour afficher un document. Sur SharePoint 2013 le format était le suivant :
<Site URL>/_layouts/15/WopiFrame.aspx?sourcedoc=<Doc URL>&action=default
L’URL d’un document n’étant pas figée, c’est la raison pour laquelle les liens n’étaient pas ‘durables’.
Renommage d’un fichier, que se passe t-il ?
Essayons maintenant de changer le nom du fichier Excel en ajoutant ‘Renamed’ à la fin.
L’URL du document devient :
http://win-47g9rurf9s3/sites/test/Shared%20Documents/ChangedLocation/test-12-04-renamed.xlsx?d=w1bded0314a914e64bea09d8cb48e3ef9
Le fichier s’ouvre encore une fois correctement et l’URL vers laquelle nous sommes redirigés est celle ci :
http://win-47g9rurf9s3/sites/test/_layouts/15/WopiFrame.aspx?sourcedoc={1BDED031-4A91-4E64-BEA0-9D8CB48E3EF9}&file=test-12-04-renamed.xlsx&action=default
Vous pouvez également prévisualiser le fichier sans que les paramètres &file et &action ne soient spécifiés dans l’URL attestant pleinement que nous sommes bien face à un lien ‘durable’ :
En espérant que ce post vous aidera à mieux comprendre comment fonctionnent les ‘Durables Links’ et comment bénéficier de cette nouvelle fonctionnalité.