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

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]

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: mercredi 20 août 2014 16:31 par ROMELARD Fabrice

Commentaires

JeremyJeanson a dit :

Dernière migration WSS3 terminée de midi (je prie pour ne plus en avoir)

# août 26, 2014 15:56

ROMELARD Fabrice a dit :

Il ne faut jamais dire jamais :D

# août 26, 2014 16:44
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Merci par Blog de Jérémy Jeanson le 10-01-2019, 20:47

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01