Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

The Mit's Blog

En plus d'intégrer et skier, il sait même écrire !
(Blog de Renaud Comte)

Actualités


  • Ancien MVP SharePoint 8 ans ...
    Des projets .Net, SharePoint 2013 ou Office 365 ??

    Contactez-nous :

Archives

Coder/Migrer une WP SharePoint 2003 vers SharePoint 2007

En me balandant sur le forum SharePoint, je suis tombé sur une personne un peu perdu dans la problématique de migration de WP entre v2/v3, pardon SharePoint 2003 et 2007

Ce qui me donne un bon sujet de post, n'est il pas ?

 = >> = >>

 

Reprenons les bases

  • les WebParts de WSS,SPS 2003 sont basés sur des customs controls dérivant de Microsoft.SharePoint.WebPartPages.WebPart et compilé en .Net 1.1
  • Les WebParts de WSS 3.0, MOSS 2007 sont basés sur les WP ASP.Net 2.0 et sont toujours des custom controls. Ils dérivent de System.Web.UI.WebControls.WebParts.WebPart

Sous SharePoint 2007, la compatibilité est compléte. vous pouvez redéployez vos WP 2.0 en fichier CAB directement avec STSADM, il devrait toujours fonctionner. Du moins, si vous n'avez pas de spécificité 2.0 trop marqué.

Un exemple de spécificité, pas de soucis : il s'agit surtout de comportement privilégiqant le moteur 2.0 au détirment du 3.0. La sécurité par exemple. Si votre WP énumére sans test de sécurité les fichiers sous dossier d'un bibliothéque, vous pouvez avoir un probléme sous 2007 vu que désormais ces niveaux peuvent êtzre sécurisés. Vous voyez mieux ?

Ainsi, le MO et la plateforme v2 est bien supporté dans les grandes largeurs dans SharePoint 2007.

Pour les migrer en WP ASP.Net 2.0, il suffirait donc de créer un projet de WP sous VS 2005, reprendre votre code et ne dériver que de System.Web.UI.WebControls.WebParts.WebPart

Une fois compilé et installé sur un serveur 2007, il suffirait de corrgier les soucis de code ou de mise en page.

A noté qu'il serait aussi de bon aloi de profiter du nouveau modéle objet comme les requétes récurrsive en CAML avec le SPSiteDataQuery ou les nouveaux controles graphiques comme le SPGridview en remplaçemant de votre bon vieux Datagrid smile_regular.

Ensuite, il serait temps de faire une joli solution de déploiement du tout  :

  1. une dll signé en 2.0
  2. un descriptif XML en .WebPart
  3. une feature de déploiement avec le module dédié à votre .WebPart
  4. une solution WSP pour l'installation physique sur le serveur avec safecontrol et tutiquanti

Ce que fait trés bien VSeWSS mais de maniére trop fermé à mon gout, j'utilise plutôt un template personnel avec des batchs mais le résultat est bien le même au final.

Mais que faire si votre code v2 est bien lourd et le temps presse ?
>>> vous pouvez opter pour les WebParts Hybrides !!!

Une WebPart Hybride est juste une WP écrit en VS 2005 déployé sous 2007 mais implémentant Microsoft.SharePoint.WebPartPages.WebPart .

Bref, un candidat parfait pour une phase transitoire de migration en quelque sorte.

Mais dés lors quelles sont vraiment les étapes de transition pour arriver à un WP ASP.NEt 2/ WSS 3 pur et dur

Simple en fait : supprimer toute référence à la Microsoft.SharePoint.WebPartPages.WebPart , arriver à compiler en 2.0 et passer la phase de test unitaire évidemment (sous entendu respecter la charge, la sécurité, les Business Requirements ainsi que les fonctionnalités nouvelles de MOSS ). 

Ok ok, je suis un peu marketing, mais je peut redevenir un vrai développeur. Sous entendu, donner des milestones réels ainsi que les piéges à éviter.

Ces posts de blog permettent justement de bien les découvrir :

Je vais essayer de vous les résumer rapidement :

  1. il faut réécrire vos toolparts, la méthode Getoolpart n'existe plus sous ASP.Net, il faut s'orienter vers CreateEditorPart
  2. Attention au propriétés Xml serializable, c'est assez rarement utilisé mais il leur faut désormais un type converter dédié
  3. Vous perdez les diveres facilités de WSS 2.0 comme
    • la gestion du cache : soit PartCacheWrite/PartCacheRead/PartCacheInvalidate
      >>> A vous d'utiliser le cache d'ASP.Net 2.0
    • Les interfaces de connections pro WSS
      >>> Vive les ConnectionConsumer/provider  attibut d'ASP.Net 2
    • Le fonctionnement asynchrone de WSS 2

Presque rien finalement, et sans aucune ironie, il s'agit en fait de transformer vos veilles habitudes pro SharePoint v2 en véritable pattern & pratices ASP.Net 2.0

Ce n'était pas finalement le désir de tous sur la plateforme SharePoint 2007 ?
>>> Etre au plus prés d'ASP.Net 2.0 et non trop spécifique SharePoint

Bonne nouvelle, ce n'est QUE DE L'ASP.NET 2.0 !!! smile_nerd 
(avec du code, de l'XML et des XSD à profusion)

A bientôt dans le monde merveilleux du SPCoding

Pour vous aider, voici 2,3 liens qui sauront bien vous épauler :

Comme je me méfie, voici un sample de DEV de WebPart de Ted Pattison utilisé dans bien des démos de dev de WebPart  : incontournable même si elle date de plus d'un an (et oui !) 

LitwareWebParts.zip
11/03/2006
A sample Visual Studio 2005 project with Web Parts for WSS 3.0. The project includes a feature for provisioning .webpart files into the Web Part gallery and a WSS 3.0 solution package for deploying Web Parts into a production environment.

Toutes les démos de Ted sont d'ailleurs ici : http://www.tedpattison.net/downloads.aspx

A propos, si VSeWSS vous parait un peu trop obscure et trop efficace, revenez donc aux vrais méthodes manuelles + batch !

Bon coding

Renaud Comte aka LeMit (un peu de DEV ne nuit JAMAIS)

Technorati tags: , , , ,
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: jeudi 22 février 2007 19:55 par themit

Commentaires

Pas de commentaires

Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- 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

- SharePoint Online: Script PowerShell pour supprimer une colonne dans tous les sites d’une collection par Blog Technique de Romelard Fabrice le 11-27-2018, 18:01