none
[MS Project 07] IMPORTANT: Création d'un nouveau PWA obligatoire? RRS feed

  • Question

  • Bonsoir à tous,

    Je développe actuellement une custom WebPart pour MS Project EPM 2007 (moteur Sharepoint 2007).
    J'ai modifié la "site definition" de mon PWA (Project Web Access) afin que ma webpart se déploie automatiquement dans le PWS (Project WebSite) lorsqu'un nouveau projet est crée.

    Seulement, et parce que ces PWS gèrent la personnalisation (ajout/suppression/déplacement de widgets pour chaque ressource), cet ajout automatique de ma WebPart ne s'effectue pas.

    Pour voir ma WebPart se charger automatquement, j'ai du recréer un deuxième PWA. Et là ça fonctionne. Seulement ça ne m'arrange pas franchement...

    Ma question est donc la suivante: Est-il possible de prendre en compte la modification de mon "site definition" pour le PWA crée ultérieurement?

    En vous remerciant,
    Cordialement,
    Toni

    jeudi 30 septembre 2010 15:01

Réponses

  • Bonjour,

    Si je comprends bien votre besoin, vous souhaitez que la feature contenant votre web part (feature 1) soit activée automatiquement lors de la création de sites PWA.

    Plutot que de modifier la collection de sites existante on utilise en principe le feature stapling (modifier les fichiers d'install n'est pas best practice): http://msdn.microsoft.com/en-us/library/bb861862.aspx

    L'idée est donc de créer une seconde feature (feature 2) de scope web app ou farm qui ferait le stapling. Une fois la feature 2 activée, la feature 1 sera automatiquement activée lors de la création d'un site.

    Reste à trouver l'identifiant de la définition de site PWA (je n'ai pas d'EPM sous la main..) afin de remplir l'attribut TemplateName du noeud FeatureSiteTemplateAssociation. Pour ce faire vous pouvez consulter les définitions de site de la ferme dans le répertoire C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\1033\XML. vous devriez y trouver un fichier webtemp_xxx.xml qui vous indiquera le nom et l'id de la définition de site que vous recherchez. La concaténation nom#id correspond à la valeur à préciser dans l'attribut TemplateName de votre élément FeatureSiteTemplateAssociation.

    J'espère que cela répond à votre question


    http://blogs.developpeur.org/anouvel
    Merci de valider les réponses qui correspondent à votre problème afin qu'il apparaisse comme résolu.
    • Proposé comme réponse Arnault Nouvel vendredi 1 octobre 2010 06:03
    • Marqué comme réponse Alex Petrescu mercredi 6 octobre 2010 11:40
    vendredi 1 octobre 2010 06:02
  • Bonjour,

    donc je suggère de développer 2 fonctionnalités :

    • Une fonctionnalité de niveau web app qui ferait le stappling de la 2eme fonctionnalité (comme décrit dans mon post précédent)
    • Une fonctionnalité de niveau collection de sites (la 2eme) pour la déclaration de la web part + un SPFeatureReceiver qui ajouterait par code la web part sur la page d'accueil du site racine. exemple : http://weblogs.asp.net/jan/archive/2005/06/22/414283.aspx

    Un site projet dans PWA correspond-il à une collection de sites ou à un site ? je suis parti du principe qu'il s'agit d'une collection de sites.


    http://blogs.developpeur.org/anouvel
    Merci de valider les réponses qui correspondent à votre problème afin qu'il apparaisse comme résolu.
    • Marqué comme réponse Alex Petrescu mercredi 6 octobre 2010 11:40
    lundi 4 octobre 2010 09:11

Toutes les réponses

  • Bonjour,

    Si je comprends bien votre besoin, vous souhaitez que la feature contenant votre web part (feature 1) soit activée automatiquement lors de la création de sites PWA.

    Plutot que de modifier la collection de sites existante on utilise en principe le feature stapling (modifier les fichiers d'install n'est pas best practice): http://msdn.microsoft.com/en-us/library/bb861862.aspx

    L'idée est donc de créer une seconde feature (feature 2) de scope web app ou farm qui ferait le stapling. Une fois la feature 2 activée, la feature 1 sera automatiquement activée lors de la création d'un site.

    Reste à trouver l'identifiant de la définition de site PWA (je n'ai pas d'EPM sous la main..) afin de remplir l'attribut TemplateName du noeud FeatureSiteTemplateAssociation. Pour ce faire vous pouvez consulter les définitions de site de la ferme dans le répertoire C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\1033\XML. vous devriez y trouver un fichier webtemp_xxx.xml qui vous indiquera le nom et l'id de la définition de site que vous recherchez. La concaténation nom#id correspond à la valeur à préciser dans l'attribut TemplateName de votre élément FeatureSiteTemplateAssociation.

    J'espère que cela répond à votre question


    http://blogs.developpeur.org/anouvel
    Merci de valider les réponses qui correspondent à votre problème afin qu'il apparaisse comme résolu.
    • Proposé comme réponse Arnault Nouvel vendredi 1 octobre 2010 06:03
    • Marqué comme réponse Alex Petrescu mercredi 6 octobre 2010 11:40
    vendredi 1 octobre 2010 06:02
  • Bonjour,

    En d'autres termes, je souhaite que ma WebPart soit présente automatiquement sur la page d'accueil de tous les nouveaux projets du PWA actuel.

    Merci

    vendredi 1 octobre 2010 12:07
  • Bonjour,

     

    Est-ce que la solution de M. Nouvel vous réponds a votre question ?

     

    Cordialement,

    Alex

    ________________

    Publiez un article sur une de ces technologies : Visual Basic, C#, C++, .NET, ASP.NET, SQL Server, Silverlight, SharePoint 2010, SharePoint 2007

    Windows Phone 7

    Astuces pour Visual Studio 2010

    XNA – Développement jeux vidéo

    Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Silverlight, Workflow Foundation, WPF

    Café des usages

    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

     

     

    lundi 4 octobre 2010 08:38
  • Bonjour,

    donc je suggère de développer 2 fonctionnalités :

    • Une fonctionnalité de niveau web app qui ferait le stappling de la 2eme fonctionnalité (comme décrit dans mon post précédent)
    • Une fonctionnalité de niveau collection de sites (la 2eme) pour la déclaration de la web part + un SPFeatureReceiver qui ajouterait par code la web part sur la page d'accueil du site racine. exemple : http://weblogs.asp.net/jan/archive/2005/06/22/414283.aspx

    Un site projet dans PWA correspond-il à une collection de sites ou à un site ? je suis parti du principe qu'il s'agit d'une collection de sites.


    http://blogs.developpeur.org/anouvel
    Merci de valider les réponses qui correspondent à votre problème afin qu'il apparaisse comme résolu.
    • Marqué comme réponse Alex Petrescu mercredi 6 octobre 2010 11:40
    lundi 4 octobre 2010 09:11
  • Bonjour,

     

    Merci pour vos réponses. Il semblerait effectivement que cela puisse me permettre d'ajouter la webpart sans avoir à toucher au "site definition" -> http://msdn.microsoft.com/en-us/library/bb861862%28office.12%29.aspx.

    Un PWA correspond à une collection de sites, un espace où les workspaces (PWS) sont listés.

    Je vais essayer de regarder ça de plus près lundi quand j'aurais accès au Server Project .

     

    Merci

    samedi 9 octobre 2010 21:21
  • Bonjour à tous,

    Je vais manquer de temps pour me pencher sur le "feature stapling". Connaitriez-vous un moyen pour que les modifications de mon fichier ONET.Xml soient prises en compte dans le PWA actuel ?

    Merci

    lundi 11 octobre 2010 16:19