Problème de redirection lors de l’enregistrement d’une page Wiki dans SharePoint 2013 Foundation

Introduction

Tout juste avant les vacances, un de mes collègues Achraf Loudiy m’a demandé assistance avec un problème lorsqu’il ajoutait des pages Wiki contenant des caractères accentués dans le URL de la page. Puisqu’on a passé un nombre considérable d’heures sur cette problématique, j’ai décidé d’en faire une SharePointerie.

Détail de la problématique

Dans SharePoint Foundation 2013, suite à l’enregistrement d’une page Wiki dans la bibliothèque «Pages de site» , une redirection est effectué vers une page qui n’existe pas.

Pour reproduire le problème :

  1. Créer une page Wiki contenant au moins un caractère accentué (Ex : PageAccentué).
  2. Sauvegarder la page.
  3. Naviguer vers Contenu du site -> Bibliothèque « Pages de site ».
  4. Accéder à la page Wiki en mode « Édition ».
  5. Sauvegarder la page. (Vous serez alors redirigé vers une page inexistante).

Début des investigations

Lorsqu’on m’a énoncé cette problématique, j’ai immédiatement fais le test sur mon environnement O365 ainsi que sur ma VM SharePoint 2013 On-Premise. Cependant je n’ai pas réussi à reproduire le problème.

J’ai donc recommandé à mon collègue de procéder à l’installation du Service Pack 1 ainsi que des derniers CU dans son environnement SharePoint 2013 Foundation. Malheureusement, toujours le même problème suite à l’installation des mise à jours et Google ne nous est pas d’une grande utilité peu importe les mots-clés utilisés.

C’est là qu’on a commencé à déboguer avec Fiddler. Plus en détail voici le détail des traces :

fiddler_MDS

(200 – OK) http://sp2013/sites/sharepointerie/SitePages/PageAccentu%C3%A9.aspx

(200 – OK) http://sp2013/sites/sharepointerie/_layouts/15/start.aspx

(404 – Page Not found) http://sp2013/sites/sharepointerie/_layouts/15/start.aspx#/SitePages/PageAccentu%C3%83%C2%A9.aspx

Il y a clairement un changement au niveau de l’encodage du URL une fois que la page est redirigé par /_layouts/15/start.aspx.

Avant : PageAccentu%C3%A9.aspx

Après : PageAccentu%C3%83%C2%A9.aspx

Jusqu’à maintenant on sait que :

  • Lorsqu’on passe par la bibliothèque via le menu de gauche pour accéder à la page, une section « /_layouts/starts.aspx » est ajouté au URL.
  • Lorsqu’on accède directement à la page sans passer par le menu de gauche, la page s’ouvre correctement.

On a alors un « workaround » mais malgré tout, j’ai continué d’investiguer pour trouver une meilleure solution.

Cette fois-ci Google a été mon ami après avoir recherché « /_Layouts/15/Start.aspx redirect problem » je suis tombé sur cette page qui parle de la fonctionnalité Minimal download strategy (MDS).

MDS_Enabled

Cette fameuse fonctionnalité de site m’avait déjà causé des problèmes alors on a décidé de la désactiver pour voir si ça corrigerait le problème (Paramètres de site – Fonctionnalités de site).

MDS_Disabled

Une fois désactivé, voici le résultat des traces dans Fiddler :

fiddler_MDS_Disabled

(200 – OK) http://sp2013/sites/sharepointerie/SitePages/PageAccentu%C3%A9.aspx

Lors de la sauvegarde de la page, le URL ne comprend plus la section « /_layouts/starts.aspx » et on est maintenant redirigé vers la bonne page.

Fonctionnalité Minimal Download Strategy (MDS)

Minimal Download Strategy (MDS) est une nouvelle technologie dans SharePoint 2013 qui réduit la quantité de données ayant le navigateur pour télécharger lorsque les utilisateurs naviguer d’une page à une autre dans un site SharePoint. Lorsque les utilisateurs accèdent à un site prenant en charge MDS, le client traite uniquement les différences (ou delta) entre la page actuelle et à la page demandée.

MDS utilise un fichier .aspx (start.aspx) pour vos page, avec le URL courant encodé dans le texte suivi du hashmark (‘#’).

Donc en gros, cette fonctionnalité a pour but d’optimiser l’expérience de l’utilisateur en gagnant du temps de traitement.

Cependant, comme on a pu le voir dans les traces de Fiddler, le URL encodé final est différent lorsque la fonctionnalité MDS est activé.

Solution

On a donc créé un modèle de site avec la fonctionnalité MDS désactivé par défaut afin de ne plus avoir cette fâcheuse redirection.

Je n’ai pas réussi à trouver pourquoi l’encodage des URL est différent lorsque cette fonctionnalité est activé.

Sans MDS: PageAccentu%C3%A9.aspx (PageAccentué.aspx)

Avec MDS : PageAccentu%C3%83%C2%A9.aspx (PageAccentué.aspx)

Vous avez des idées ?

Conclusion

Je l’ai dit souvent et je vais probablement le dire encore, SharePoint c’est avant tout une application Web alors il ne faut pas hésiter à la déboguer avec des outils de développement Web (Fiddler, IE Toolbar, etc…). Bien que la fonctionnalité MDS a pour but d’améliorer les performances, dans le cas suivant, je crois que la meilleure alternative est de la désactiver.

Références

Minimal Download Strategy (MDS)

Redirection avec le MDS

À quoi sert /_layouts/starts.aspx dans SharePoint 2013

Advertisements

2 avis sur « Problème de redirection lors de l’enregistrement d’une page Wiki dans SharePoint 2013 Foundation »

  1. Charles Simard

    Nous avons eu ce même problème en ajoutant jQuery dans la page maître du site de la page personnelle, car pour chaque redirection, on passait par une page start.aspx qui elle n’incluait pas jQuery, donc le code custom de notre page ne fonctionnait pas. Problème résolu justement en désactivant la feature MDS.

    Répondre

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