Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Thomas Lebrun

Tout sur WPF, LINQ, C# et .NET en général !

Actualités

[Office] Développer des WebPart pour SharePoint 2007 Beta 2 / WSS v3
Pour ceux qui s'intéresse à SharePoint 2007 / WSS v3 (Windows SharePoint Services v3)  et au développement, voici un post qui pourrait leur être utile Smile [:)]

Voici une liste de liens qui vous montre comment réaliser des WebParts:



Je tiens tout de même à rajouter une chose:
Plutôt que de déployer votre DLL dans le répertoire _app_bin/ de votre site SharePoint, déployée là dans la GAC (Global Assembly Cache).
En effet, si vous signez votre DLL, autant la mettre dans la GAC plutôt que dans ce répertoire.
De plus, si vous la mettez dans le répertoire _app_bin, vous risquez de ne pas pouvoir re-déployer/re-compiler la nouvelle version car un message d'erreur vous indiquera que le fichier est déjà en cours d'utilisation. Vous serez donc obliger de couper IIS (Internet Information Services), copier la DLL et redémarrer IIS: pas forcément le plus simple à faire....

Autre chose: lorsque vous allez re-déployer une nouvelle version de votre DLL, avant de la tester, je vous conseille de recycler l'Application Pool de votre application, sinon vous risquez de vous retrouver avec une sorte de cache ce qui aura pour effet de vous afficher votre ancienne WebPart plutôt que la nouvelle Wink [;)]
Même si je trouve que c'est une technique une peu violente, je n'ai pas trouvé comment faire autrement donc si vous avez une idée, je suis preneur Smile [:)]


Bon développement à tous.


A+


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 26 juillet 2006 17:19 par Thomas LEBRUN
Classé sous : ,

Commentaires

themit a dit :

C'est drole, je me sens un peu inspiré par ce post de blog :D

Je suis ABOSLUMENT pas d'accord avec le déployement en GAC.

C'est LA solution de facilité par excellence et cache beaucoup de chose que l'on a tendance à minorer

Quid de la sécurité ?
Quid du déploiement compartimenté ?
Quid du niveau d'accés des WP ?

Bref, ce n'est pas la panacé

Cependant ca facilite bien la vie, je suis d'accord

Avec MOSS 2007 et WSS v3, on parle de serveur d'entreprise pas forcement de simple site intranet, les impacts sont plus lourds à mon avis, qu'il s'agisse de Dev ou d'IT
>>> on est dans le monde du produit, pas de la simple technologie

Je vais rajouter un point quand même en ce qui concerne le dev avec Gac

un bon conseil : ajoutez un .bat a votre solution et lier le à la compilation ou un bouton de votre VS. Si  vous codez votre WP depuis un XP, bien placez le .bat dans un rep de votre serveur SharePoint 2007 accessible sous remote desktop
>>> il suffit d'ajoutez dans le .bat une ligne de GACutils pour deployer le composant (et non xcopy ne marche pas avec le repertoire de windows/assembly) puis un iisreset

Vous gagnerez du temps et des manips
PS : MSbuild peut être aussi configuré

J'ai vraiment du mal à comprendre ta remarque sur pas le app_bin mais le Gac qui est construit sans aucun arguments ni avantages inconvénients ?
>>> Je trouve ca trompeur et dangeureux. Perso, je code des WebParts SharePoint depuis la beta de SPS 2001 donc 2003 et 2007 m'ont plus trop etonné

Certes, nous sommes encore en beta et le SDK est encore bien vierge mais les bon reflexes sont toujours la.

Sinon, en ce qui me concerne, je travaille directement via partage reseau sur le repertoire BIN (et non app_bin) aprés avoir fait des tests de publications avec STSadm et mes DLLs
>>> je n'arrive à générer le .webPart automatique de la gallerie WP seulement si la DLL est en GAC ou Bin, pas app_bin...

Autre chose, attention aussi au versionning : la version de votre dll fait aussi partie de son strongname, soit un gros soucis de deploy SharePoint si vous deve repassez devant TOUS vos sites SharePoint à chaque update. Preferez un custom attribute par exemple.

Voila voila

Renaud Comte aka TheMit

Sinon, tes liens proposés sont excellents, mais je rajouterais :

http://andrewconnell.com/blog/archive/2006/05/23/3138.aspx
http://msdn2.microsoft.com/en-us/library/ms778813.aspx
http://www.developer.com/net/asp/article.php/3620316

A ++ dans l'Office Wolrd
# juillet 27, 2006 14:08

Thomas LEBRUN a dit :

Je ne comprend pas pourquoi tu dis que le déploiement dans la GAC représente une solution de facilté ?

Personnellement, je le fais (et le conseille) dans le cas où j'ai une DLL qui devrait être utilisée par d'autre application.
OK, ici, nous parlons de WebPart mais c'est tout aussi valable pour des application WindowsForms ou autre.

Je prend note de l'astuce du fichier bat, c'est pratique et ca fait gagner pas mal de temps, merci :)

De plus, si je parle de -app_bin, c'est que sur la VPC que j'ai, je n'ai pas de répertoire bin: je ne suis pas expert ASP.NET, donc je n'ai pas encore chercher le pourquoi du comment, mais bon, j'ai été rassuré lorsque j'ai vu que je n'étais pas le seul.


Tu connais mieux ce domaine que moi, tu dois donc avoir raison: je voulais juste faire partager mon expérience et avoir des feedbacks ;)


Merci
# juillet 27, 2006 14:34

themit a dit :

Je n'ai pas forcement raison, juste que je prends moultes precautions.

Tant que les patterns de dev 2007 de MS SharePoint ne seront pas live, je m'appuierais sur les pratices .Net 2 et WSS

Le Gac est génial mais c'est un passe droit
>>> les DLL ont accés a tout sans aucun controles ou responsabilités

Imagine une WP ou un dll en GAC qui balance un delete en boucle de partage reseau suite à un bug
>>> en bin elle serait bloqué par les rules .net, en gac, elle continuerait son petit bonhomme de chemin ...

Bref, le GAC c'est génial mais il faut l'utiliser si on en a le besoin ou la dependance

L'autre soucis est que la dll est justement partagé par l'ensemble des services disponibles de la machine sans restrictions !!!

Imagine une WP spécifique à un service, toutes les instances de SharePoint pourrait l'utiliser sans contrainte alors que tu pourrai ne la deployer que sur la collection désiré

C'est vrai que si elle est partagé, c'est incontournable, mais ce n'est pas 99% des cas non ?

Mon commentaire n'avez pas un but méchant mais la chaleur actuel a le don de monter mon stress en hausse :)
>>> faut que je bosse ma diplomatie en etat de canicule

Mais comme toi, je veux juste partager mon experience et amener ma pierre à l'édifice.

Pour finir le debat, je vais citer le MSDN :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odc_SP2003_ta/html/sharepoint_wsscodeaccesssecurity.asp

What if my assemblies are installed in the GAC?
>>> By default, assemblies installed in the global assembly cache (GAC) run with Full trust. Although, installing your Web Part assembly in the GAC is a viable option, it is recommended that you install Web Part assemblies in the BIN directory for a more secure deployment.

Bref, MSDN = tablette de loi.Net

En cadeau : http://www.bluedoglimited.com/SharePointThoughts/ViewPost.aspx?ID=99
http://www.bluedoglimited.com/SharePointThoughts/ViewPost.aspx?ID=189

Et si j'allait coder un petit Tab WebPart en 2.0 maintenant ...
# juillet 27, 2006 16:24

themit a dit :

Et hop j'en rajoute

http://www.bluedoglimited.com/SharePointThoughts/ViewPost.aspx?ID=248

Le _app_bin n'est pasa prévue pour gérer des dll de webpart
>>> le safe control n'intervient pas

Bref, c'est GAC ou BIN pas _app_bin
# juillet 31, 2006 14:42

Thomas LEBRUN a dit :

En même temps, ce message date de il y a 3 jours donc je pouvais pas le deviner lorsque j'ai fait mon message :)
# juillet 31, 2006 14:50
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- [Silverlight] En attendant Silverlight 2 RTW par Blog Technique d'Audrey PETIT le 10-11-2008, 21:55

- Le nouveau Gojira, c’est pour lundi… par CoqBlog le 10-11-2008, 01:18

- SharePoint : nouvel article sur la mise en place des Scopes dans MOSS Searchs par Blog Technique de Romelard Fabrice le 10-10-2008, 17:52

- Hello CS par Le Blog de julz le 10-10-2008, 12:26

- MSDN/TechNet/Microsoft Days Tour 2008 à Lille les 13 et 14 Octobre ! par RedoBlog - The .NET Gentleman !!! le 10-10-2008, 09:35

- MVC Pratique #07 - Un projet concret et le transfert des objets avec les ModelBinders par #Rui le 10-09-2008, 23:39

- SQL Server 2008 : Certifié - TS Admin (70-432) par SQL Server vu par Christian Robert le 10-09-2008, 10:58

- [WPF] Comment changer la couleur utilisée pour sélectionner les éléments d’un ItemsControl ? par Thomas Lebrun le 10-09-2008, 10:49

- Hello World! par Hamid's Place le 10-08-2008, 23:38

- SQL Profiler - Configuration pour un développeur - tracer les requêtes SQL de votre application par Atteint de JavaScriptite Aiguë [Cyril Durand] le 10-08-2008, 15:52