Accéder au contenu principal

SharePoint : Suite de la migration WSS V2 -> WSS V3 - Comment détecter les listes non migrées correctement

 Dans série de mes turpitudes de migration, après l'attaque au corps à corps avec la base de contenu, voila un problème qu'il faut absolument traquer après la migration et avant les appels des utilisateurs en détresse.

En effet, comme je l'ai expliqué dans un précédent article, lors de la migration avec un modèle de site défini, on se doit de faire un fichier de Mapping.

Malgré toutes les attentions prises lors de la création de ce fichier et dans le cas de modèle de liste défini dans la version 2 de WSS, peut entrainer des erreurs après la migration :

  • Exception occurred. (Exception from HRESULT: 0x80020009 (DISP_E_EXCEPTION)): Ce cas se produit quand le mapping est effectué mais que les pages d'exécution ne supportent pas la liste en question
  • Erreur 404: cette erreur apparaît sur le mapping n'est pas effectué
  • ...

Ces erreurs proviennent des pages ASPX de listing (AllItems.aspx) de formulaire, d'édition, ..., bref toutes les pages ASPX techniques de WSS concernant une liste. Ceux n'existent pas réellement sur l'environnement mais font appel à des pages d'exécution internes (que l'on trouve dans le sous-répertoire TEMPLATE) :

  • pages\viewpage.aspx
  • pages\form.aspx
  • ...

Premier cas :

Dans le cas de la première erreur, la modification des pages d'exécution a bien été faite par la migration mais celles-ci ne fonctionnent pas avec votre liste. Je n'ai pas trouvé d'autre solution que de recréer la liste et de copier les Item de la ferme source vers la destination.

Second cas :

Le fait est que dans le cas d'une ferme importante (plus de 100 collections et plusieurs 10aines de Go), on ne peut plus se permettre de tester tous les sites/sous-sites/listes, ...

La méthode que j'ai trouvée est plus brutale mais terriblement efficace, on attaque la base de contenu (classique avec moi vous direz) avec une requête qui va chercher les documents ASPX qui sont restés dans l'ancien chemin d'exécution :

  • [LCID]\SITETEMPLATE\...

Ainsi, j'utilise les requêtes suivantes :

USE [CONTENTDB]

-- POUR AVOIR TOUS LES FICHIER (1033 est le LCID)

SELECT * FROM dbo.AllDocs

WHERE SetupPath LIKE '%1033%' AND LeafName LIKE '%aspx%'

-- POUR AVOIR LES SITES A CORRIGER

SELECT DISTINCT DirName FROM dbo.AllDocs

WHERE SetupPath LIKE '%1033%' AND LeafName LIKE '%aspx%'

 

Ensuite, une fois ces listes recréées et chargées, vous pouvez supprimer les anciennes ne fonctionnant pas grace à SharePoint Designer (pour une fois je le trouve utile ;))

Romelard Fabrice [MVP]

Commentaires

Posts les plus consultés de ce blog

Redonner vie à une Microsoft Surface RT : le guide ultime vers Linux !

Vous avez une vieille Microsoft Surface RT qui traîne dans un tiroir ? Vous savez, cette tablette de 2012 devenue inutilisable depuis l'abandon officiel de Windows RT par Microsoft ? Ne la jetez surtout pas ! Dans ma dernière vidéo, je vous montre comment transformer cet appareil, autrefois considéré comme un "presse-papier", en une tablette Linux moderne et parfaitement fonctionnelle . Pourquoi ce projet ? L'objectif est simple : transformer ce matériel pour en faire un dashboard dédié à mon système Home Assistant. En installant postmarketOS , une version de Linux spécialement conçue pour les appareils ARM abandonnés, on redonne une seconde jeunesse à cette machine . Ce que vous allez apprendre dans ce tutoriel complet : La libération du matériel : Comment réinstaller la version d'origine pour passer outre les blocages de Windows 8.1 . Jailbreak & Secure Boot : La procédure indispensable pour déverrouiller la machine et permettre l'installation d...

Mixer les batteries Enphase et Zendure : La solution ultime pour l'autoconsommation ?

Introduction Vous avez déjà une installation solaire équipée de micro-onduleurs Enphase , mais vous trouvez que le stockage officiel de la marque est trop coûteux ou difficile à installer en DIY ? Vous n'êtes pas seul. Aujourd'hui, je vous partage mon retour d'expérience complet sur une configuration qui intrigue beaucoup de monde : le couplage d'un système Zendure SolarFlow avec un environnement Enphase existant. Pourquoi vouloir mixer ces deux marques ? Le système Enphase est une référence en termes de fiabilité, mais l'ajout de batteries IQ Battery peut représenter un investissement lourd. À l'inverse, Zendure propose avec le SolarFlow une solution de stockage plug-and-play extrêmement flexible et souvent plus abordable. L'idée est simple : utiliser le SolarFlow comme "tampon" entre vos panneaux et vos micro-onduleurs pour stocker l'excédent de la journée et le réinjecter la nuit. Le montage : Est-ce vraiment compliqué ? Dans ma dernière ...

Au-delà du LLM : Comment j'ai créé un agent IA avec Claude CoWork pour piloter ma recherche d'emploi

Utiliser une interface de chat classique comme Gemini ou ChatGPT pour rédiger une lettre de motivation, c'est une bonne première étape. Mais cela reste du "ping-pong" textuel : une question, une réponse, et beaucoup d'actions manuelles. Pour passer à la vitesse supérieure, il faut entrer dans le monde de l' agentique . Dans ma dernière vidéo, je vous propose de découvrir comment mettre en place un véritable agent de coordination sur votre machine en exploitant le module CoWork de Claude. Une infrastructure locale basée sur le Markdown Plutôt que de confier ses critères à la mémoire active du chat, qui peut subir des hallucinations ou des erreurs au fil du temps, l'approche consiste ici à stocker toute la configuration "en dur" dans des fichiers Markdown ( .md ) directement créés dans les répertoires de votre machine. On y retrouve : Le fichier candidate.md : La fusion parfaite de votre profil LinkedIn et de votre CV au format PDF. Le fichier cloud...