Accéder au contenu principal

SharePoint 2013: Préparation de la migration - Création des site Templates dans 2010 et 2013

 Dans le cas de la migration d’une ferme SharePoint 2007 vers 2013, nous avons vu que le processus implique le passage par une ferme SharePoint 2010.

Il existe de nombreux cas où les administrateurs ont développé (ou fait développer) des modèles de site sous SharePoint 2007. Ce fut d’ailleurs un des arguments massues de Microsoft à l’époque, car c’était plutôt simple à faire. Pour rappel, les articles suivant (ce qui ne nous rajeunit pas):

Quoi qu’il en soit, si c’est la seule partie qui est nécessaire pour votre migration, il est certainement plus rapide de recréer ces modèles de sites en repartant de celui qui a été fait sous 2007 et recréant le même tout d’abord sous 2010, puis 2013.

Je vous invite pour cela à regarder cet ancien article pour 2007 qui est totalement adaptable pour 2010 (répertoire 14) ou même 2013 (répertoire 15):

La question se pose pour générer le fichier WSP qui pourra alors être chargé dans SharePoint 2010 ou 2013.


Création du WSP pour SharePoint 2010

Pour cette partie, j’ai utilisé l’évolution de WSPBuilder qui est resté en Beta, mais qui fonctionne correctement pour un cadre simple tel que celui-ci:

Une fois le MSI téléchargé et installé, on trouve les fichiers WSPBuilder sous le répertoire:

  • C:\Program Files (x86)\WSPTools\WSPBuilderExtensions\

Il est préférable de copier ces fichier dans un répertoire de travail que nous utiliserons pour la suite (C:\TOOLS\WSPBuilder\WSPBuilder2010\). Dans ce même répertoire, on crée un sous-répertoire 14, dans lequel on va reproduire toute l’arborescense de SharePoint avec les différents fichiers de notre modèle:

image

Une fois cette organisation créée, on peut simplement double-cliquer sur le fichier WSPBuilder.exe ou créer un fichier CMD tel que le suivant :

WSPBuilder.exe -WSPName MY_TEMPLATE_2010.WSP
stsadm -o retractsolution -name MY_TEMPLATE_2010.WSP -immediate
PING 1.1.1.1 -n 1 -w 90000 >NUL
stsadm -o deletesolution -name MY_TEMPLATE_2010.WSP
stsadm -o addsolution -filename MY_TEMPLATE_2010.WSP
stsadm -o deploysolution -name MY_TEMPLATE_2010.WSP -immediate -allowgacdeployment

Au passage, la ligne du Ping permet de laisser le temps au SPTimer de désinstaller la solution si elle existait déjà (Cf. l’astuce en ligne: How to insert delays in your batch files).

Une fois le tout exécuté, votre solution est générée proprement, déjà déployée et utilisable pour votre migration, ou même vos nouveaux sites.

Qu’en est-il pour SharePoint 2013 ?


Création du WSP pour SharePoint 2013

WSPBuilder n’existe pas pour SharePoint 2013 et n’existera probablement jamais (dernière publication sur le projet CODEPLEX date de Janvier 2010). En revanche, la version existante pour 2010 va pouvoir nous servir.

En effet, lors de notre compilation pour le projet 2010, nous pouvons modifier le fichier de config “WSPBuilder.exe.config” pour mettre la clé suivante à true :

  • <add key="BuildDDF" value="true"/>

Ainsi lors de la prochaine exécution pour notre modèle 2010, nous avons le détail du DDF utilisé par MAKECAB.EXE:

Une fois ce fichier “makecab.ddf”  obtenu à la racine du WSPBuilder, il nous faut encore le fichier MANIFEST.XML qui est créé à la volée et ajouté dans le WSP. Ainsi, il faut extraire le fichier MANIFEST.XML en changeant l’extension WSP vers CAB.

 image

On extrait le fichier manifest pour le mettre dans un répertoire de travail avec notre arborescence 15 et toute l’organisation de SharePoint 2013:

image

On édite le fichier makecab.DDF et manifest.xml pour modifier les chemins d’accès si nécessaire. Le fichier makcab.ddf sera semblable à celui-ci au final :

;*** MAKECAB - DDF done by Fabrice Romelard
;
.OPTION EXPLICIT     ; Generate errors on variable typos
;
.Set CabinetNameTemplate=MY_TEMPLATE_2013.WSP          ; The name of the WSP file
.set DiskDirectoryTemplate=CDROM      ; All cabinets go in a single directory
.Set CompressionType=MSZIP            ;
.Set Cabinet=on                        ;
.Set Compress=on                    ;
.Set DiskDirectory1=.                  ; Use the specified directory for the output CAB file
;
;*** Disable size limits for wsp (cab) files ;
;
.Set CabinetFileCountThreshold=0
.Set FolderFileCountThreshold=0
.Set FolderSizeThreshold=0
.Set MaxCabinetSize=0
.Set MaxDiskFileCount=0
.Set MaxDiskSize=0
;
;*** Files to zip                    ;
;
"C:\TOOLS\SharePoint_Migration\MAKECAB\15\template\1033\XML\WEBTEMP_MySP.XML" "1033\XML\WEBTEMP_MySP.XML"
"C:\TOOLS\SharePoint_Migration\MAKECAB\15\template\sitetemplates\MySPSTS\default.aspx" "MySPSTS\default.aspx"
"C:\TOOLS\SharePoint_Migration\MAKECAB\15\template\sitetemplates\MySPSTS\MySP.master" "MySPSTS\MySP.master"
"C:\TOOLS\SharePoint_Migration\MAKECAB\15\template\sitetemplates\MySPSTS\xml\ONET.XML" "MySPSTS\xml\ONET.XML"
"C:\TOOLS\SharePoint_Migration\MAKECAB\15\template\IMAGES\MySP\bandeau_accueil.gif" "IMAGES\MySP\bandeau_accueil.gif"
"C:\TOOLS\SharePoint_Migration\MAKECAB\15\template\IMAGES\MySP\MySPSiteTemplatePrev.png" "IMAGES\MySP\MySPSiteTemplatePrev.png"
"C:\TOOLS\SharePoint_Migration\MAKECAB\15\template\IMAGES\MySP\MySPSiteTemplatePrev.png.old" "IMAGES\MySP\MySPSiteTemplatePrev.png.old"
"C:\TOOLS\SharePoint_Migration\MAKECAB\15\template\IMAGES\MySP\sgsfeatureicon.gif" "IMAGES\MySP\sgsfeatureicon.gif"
"C:\TOOLS\SharePoint_Migration\MAKECAB\manifest.xml" "manifest.xml"
;
;*** The end  ; Can be launched via the command: makecab /F makecab.ddf

Il ne vous reste plus qu’à recréer un fichier PowerShell similaire au précédent CMD pour 2010 tel que :

makecab /F makecab.ddf
Uninstall-SPSolution -Identity MY_TEMPLATE_2013.WSP -CompatibilityLevel All
PING 1.1.1.1 -n 1 -w 30000
Remove-SPSolution  -Identity MY_TEMPLATE_2013.WSP -Force -Confirm:$false
Add-SPSolution -LiteralPath "C:\TOOLS\SharePoint_Migration\MAKECAB\MY_TEMPLATE_2013.WSP" -Confirm:$false
Install-SPSolution -Identity SGS_MY_2013.WSP -GACDeployment -CompatibilityLevel All -Confirm:$false

Ceci une fois exécutée vous permettra d’avoir une solution propre pour votre migration (pour ce qui est des modèles de sites).

image


Conclusion

Cette logique peut aussi être utilisée pour les feature simples, les modèles de listes ou de documents, …

En revanche, si vous avez des composants utilisant du code .NET avancé, vous devrez passer par du développement et donc Visual Studio.NET deviendra l’outil de prédilection.

Romelard Fabrice [MBA]

Commentaires

Posts les plus consultés de ce blog

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

Présentation des outils utiles pour l'entretien de ses haies vives

Afin de gérer les haies vives, il est nécessaire d'avoir recourt à un matériel adapté. Les solutions à batteries sont bien adaptées pour un usage personnel avec des dimensions raisonnables. Ainsi dans mon cas précis, j'utilise les outils suivants de la Gamme Ryobi 18V ONE+ électroportatif: Petit taille-haies simple mais efficace -  RYOBI OHT1855R Un modèle plus puissant qui fonctionne très bien -  RYOBI RY18HTX60A Pour les parties hautes de vos haies, voici un outil très utile -  RYOBI OPT1845 Enfin lorsque vous devez élaguer certains arbres ou certaines partie hautes de vos haies, ce dernier outil est très utile -  RYOBI OPP1820 Ces outils font parti maintenant de mon arsenal de base pour maintenir notre maison chaque saison de taille. Fab

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