none
Déploiement d'une webpart (il me manque une étape) RRS feed

  • Question

  • Bonjour,

     

    Je voudrais savoir comment on rajoute une webpart personnalisée dans la liste des webpart par défaut de tous les sites.

    En effet pour l'instant je crée un .wsp, je le déploie et cela me permet donc dans l'administration d'un site, dans la galerie de composants webpart de faire "Nouveau" et de compléter la galerie avec ma webpart.

     

    Cela dit cela ne fonctionnera que sur un site ou une collection de site.

     

    Je voudrais que la webpart soit déployée et ajoutée par défaut dans la galerie de composant webpart.

     

    De plus comme c'est une webpart que je veux rendre disponible pour les MySites je ne peux pas compléter la gallerie à la main car cela est propre à chaque utilisateur.

     

    Merci Smile

     

    Cordialement,

     

    jeudi 8 novembre 2007 13:38

Réponses

  • Bonjour

     

    En fait il vous manque une feature avec un "module". Un module permet d'installer un fichier dans la structure de fichiers SharePoint (ici votre .webpart dans la galerie de webparts).

     

    Pour faire simple :

    • créez un répertoire (sans accent ni caractère spécial ni espace) "MaWebPart" et le fichier Feature.xml qui va bien (vous trouverez des exemples dans le SDK)
    • créez un fichier xml (appelons le webpartsdef.xml)
    • générez ou créez votre fichier .webpart (ou dwp) et mettez le dans le répertoire de votre feature
    • ajoutez un elementManifest dans votre fichier feature.xml vers ce fichier xml

    Voici le contenu à mettre dans le fichier webpartsdef.xml :

    <Elements xmlns="http://schemas.microsoft.com/sharepoint/">

      <Module Name="WebParts" List="113" Url="_catalogs/wp" >

        <File Url="masuperwebpart.webpart" Type="GhostableInLibrary" />

      </Module>

    </Elements>

     

    Et voilà, le tour est joué !

    Attention, il n'y aura pas de désinstallation automatique de vos définitions lors de la désactivation de la feature.

    [edit] : vous pouvez aussi utiliser les VSeWSS pour simplifier la génération (quitte à récupérer les fichiers générés et les remanier à votre sauce et utiliser par la suite WSPBuilder)

     

    vendredi 9 novembre 2007 14:50
  • Bonjour,

    Modifier le Onet.xml des mysite est a eviter.

    Si vous souhaitez faire les choses proprement, je vous conseille le feature stapling. Le concept est relativement simple, il s'agit d'attacher une feature à une definition de site existante (les mysite par exemples), cette feature sera alors appele lors de la creation de la definition de site en question.

    Voilà quelques posts à ce sujet :
    • http://blogs.msdn.com/sharepoint/archive/2007/03/22/customizing-moss-2007-my-sites-within-the-enterprise.aspx
    • http://sharepointnutsandbolts.blogspot.com/2007/05/feature-stapling.html
    • http://blogs.msdn.com/cjohnson/archive/2006/11/01/feature-stapling-in-wss-v3.aspx
    • http://www.sharepointblogs.com/tonstegeman/archive/2007/07/10/deploy-a-sharepoint-list-template-to-sharepoint-mysites.aspx
    • http://blog.tedpattison.net/Lists/Posts/Post.aspx?List=80e51818-7b98-41d8-b313-955977ecd68f&ID=2
    Dont un, en français par Gat Smile
    • http://www.gatweb.fr/Lists/Billets/Post.aspx?List=29f0ece6%2Ddd9b%2D454b%2Da6d4%2Dff5563516758&ID=31
    A noter que si j'ai bien compris votre besoin, ce lien http://blogs.msdn.com/sharepoint/archive/2007/03/22/customizing-moss-2007-my-sites-within-the-enterprise.aspx répond exactement à vos attentes.

    En espérant que cela répondra à vos questions.

    vendredi 16 novembre 2007 08:16
    Modérateur
  • La modification du Onet.xml est déconseillée.

    Gat donne une solution sur son blog : http://www.gatweb.fr/Lists/Billets/Post.aspx?List=29f0ece6%2Ddd9b%2D454b%2Da6d4%2Dff5563516758&ID=31

     

    Une autre réponse ici : http://forums.microsoft.com/MSDN-FR/ShowPost.aspx?PostID=2289176&SiteID=12 (tiens, encore Gat :-))

     

    Vous trouverez également d'autres infos ici (provisonning de WerbParts pour MySite) : http://blogs.msdn.com/sharepoint/archive/2007/03/22/customizing-moss-2007-my-sites-within-the-enterprise.aspx

     

    vendredi 16 novembre 2007 08:20
    Modérateur

Toutes les réponses

  • Bonjour

     

    En fait il vous manque une feature avec un "module". Un module permet d'installer un fichier dans la structure de fichiers SharePoint (ici votre .webpart dans la galerie de webparts).

     

    Pour faire simple :

    • créez un répertoire (sans accent ni caractère spécial ni espace) "MaWebPart" et le fichier Feature.xml qui va bien (vous trouverez des exemples dans le SDK)
    • créez un fichier xml (appelons le webpartsdef.xml)
    • générez ou créez votre fichier .webpart (ou dwp) et mettez le dans le répertoire de votre feature
    • ajoutez un elementManifest dans votre fichier feature.xml vers ce fichier xml

    Voici le contenu à mettre dans le fichier webpartsdef.xml :

    <Elements xmlns="http://schemas.microsoft.com/sharepoint/">

      <Module Name="WebParts" List="113" Url="_catalogs/wp" >

        <File Url="masuperwebpart.webpart" Type="GhostableInLibrary" />

      </Module>

    </Elements>

     

    Et voilà, le tour est joué !

    Attention, il n'y aura pas de désinstallation automatique de vos définitions lors de la désactivation de la feature.

    [edit] : vous pouvez aussi utiliser les VSeWSS pour simplifier la génération (quitte à récupérer les fichiers générés et les remanier à votre sauce et utiliser par la suite WSPBuilder)

     

    vendredi 9 novembre 2007 14:50
  •  

    Merci beaucoup pour votre réponse.

     

    Malheureusement il me reste encore un problème : j'ai ajouté la webpart à la collection mais comme il s'agit d'une collection de MySite je ne peux pas l'activer par défaut sur tous les Mysite des utilisateurs.

     

    j'avais pensé faire une webpart de scope WebApplication pour palier au probleme mais cela semble pas possible avec un "module"...

     

    Dois-je retoucher le onet.xml des mysite à venir et updater les mysite existant un par un ou existe il une facon plus simple ?

     

    Merci encore

    jeudi 15 novembre 2007 13:50
  • Bonjour,

    Modifier le Onet.xml des mysite est a eviter.

    Si vous souhaitez faire les choses proprement, je vous conseille le feature stapling. Le concept est relativement simple, il s'agit d'attacher une feature à une definition de site existante (les mysite par exemples), cette feature sera alors appele lors de la creation de la definition de site en question.

    Voilà quelques posts à ce sujet :
    • http://blogs.msdn.com/sharepoint/archive/2007/03/22/customizing-moss-2007-my-sites-within-the-enterprise.aspx
    • http://sharepointnutsandbolts.blogspot.com/2007/05/feature-stapling.html
    • http://blogs.msdn.com/cjohnson/archive/2006/11/01/feature-stapling-in-wss-v3.aspx
    • http://www.sharepointblogs.com/tonstegeman/archive/2007/07/10/deploy-a-sharepoint-list-template-to-sharepoint-mysites.aspx
    • http://blog.tedpattison.net/Lists/Posts/Post.aspx?List=80e51818-7b98-41d8-b313-955977ecd68f&ID=2
    Dont un, en français par Gat Smile
    • http://www.gatweb.fr/Lists/Billets/Post.aspx?List=29f0ece6%2Ddd9b%2D454b%2Da6d4%2Dff5563516758&ID=31
    A noter que si j'ai bien compris votre besoin, ce lien http://blogs.msdn.com/sharepoint/archive/2007/03/22/customizing-moss-2007-my-sites-within-the-enterprise.aspx répond exactement à vos attentes.

    En espérant que cela répondra à vos questions.

    vendredi 16 novembre 2007 08:16
    Modérateur
  • La modification du Onet.xml est déconseillée.

    Gat donne une solution sur son blog : http://www.gatweb.fr/Lists/Billets/Post.aspx?List=29f0ece6%2Ddd9b%2D454b%2Da6d4%2Dff5563516758&ID=31

     

    Une autre réponse ici : http://forums.microsoft.com/MSDN-FR/ShowPost.aspx?PostID=2289176&SiteID=12 (tiens, encore Gat :-))

     

    Vous trouverez également d'autres infos ici (provisonning de WerbParts pour MySite) : http://blogs.msdn.com/sharepoint/archive/2007/03/22/customizing-moss-2007-my-sites-within-the-enterprise.aspx

     

    vendredi 16 novembre 2007 08:20
    Modérateur
  • Merci à vous, le stappling me convient parfaitement.

     

    vendredi 16 novembre 2007 14:16