IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SharePoint .NET Discussion :

[Deploiement par Solution] Anomalie sur les webparts


Sujet :

SharePoint .NET

  1. #1
    Membre du Club
    Homme Profil pro
    Concepteur/Développement
    Inscrit en
    Juin 2004
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Concepteur/Développement
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2004
    Messages : 60
    Points : 52
    Points
    52
    Par défaut [Deploiement par Solution] Anomalie sur les webparts
    Bonjour,

    nous avons repris en maintenant un sharepoint où tous les éléments (features, webpart) ont été déployés manuellement.
    J'aimerais passer par des Solutions pour simplifier la vie des gars qui mettent en production.
    Seulement, après test, j'ai des surprises lors du déployement d'une solution censée mettre à jour un webpart :
    - la partie feature ne semble pas remplacé : on dirait que la feature initiale reste et que la solution génère une nouvelle feature !!!
    - le catalogue des webparts affiche une nouvelle entrée $Resourcexxx comme indiqué dans le feature.xml et pas la valeur de la ressource (le fichier de ressource est bien à jour).
    Apparemment, seule la DLL est correctement remplacée.

    Est-ce que cela interpelle quelqu'un ?
    Cordialement,
    David.

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 760
    Points : 2 050
    Points
    2 050
    Par défaut
    Salut,
    pour ton 1er souci, tu aurais du désactiver, puis désinstaller la feature avant de la redéployer avec la solution.
    Pour ton 2ème souci, les solutions sont capables de gérer les différentes langues, via les lcid; ainsi, SharePoint sélectionne automaitquement le fichier de ressources qui va bien.
    Plus de détails ici > http://dnt91.developpez.com/tutoriel...int/solutions/

  3. #3
    Membre du Club
    Homme Profil pro
    Concepteur/Développement
    Inscrit en
    Juin 2004
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Concepteur/Développement
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2004
    Messages : 60
    Points : 52
    Points
    52
    Par défaut
    Je me suis justement basé sur cet article.

    J'ai refait quelques tests :
    - lorsque je déploie manuellement ma webpart, dans la liste _catalogs\wp (consulter avec sharepoint designer) je vois apparaître mon fichier EditoWebPart.webpart et qu'en je l'ouvre, toutes les références aux fichiers ressources ($Resource....) sont remplacées par le texte en français.
    - lorsque je déploie via les solutions, le fichier .webpart n'apparaît pas dans cette liste. J'ai pourtant bien mis les balises <DwpFiles> dans le manifest.xml.
    De plus, dans ce cas, dans le catalogue des Webpart au niveau d'IE, j'ai comme entrée "$Resources...." à la place de l'entrée normale.

    Si dessous, voici mon fichier xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <?xml version="1.0" encoding="utf-8" ?>
    <Solution SolutionId="147934EE-5699-4383-ACC2-121681EFC38C" xmlns="http://schemas.microsoft.com/sharepoint/">
     
    	<Assemblies>
    		<Assembly DeploymentTarget="GlobalAssemblyCache" Location="TS.Portal.WebParts.Edito.dll" >
    			<SafeControls>
    				<SafeControl Assembly="TS.Portal.WebParts.Edito, Version=1.0.0.0, Culture=neutral, PublicKeyToken=9f4da00116c38ec5" Namespace="TS.Portal.WebParts" TypeName="*" Safe="True" />
    			</SafeControls>
    		</Assembly>
    		<Assembly Location="en\TS.Portal.WebParts.Edito.resources.dll" DeploymentTarget="GlobalAssemblyCache" />
    		<Assembly Location="es\TS.Portal.WebParts.Edito.resources.dll" DeploymentTarget="GlobalAssemblyCache" />
    	</Assemblies>
    	<DwpFiles>
    		<DwpFile Location="EditoWebPart\EditoWebPart.webpart"/>
    	</DwpFiles>
    	<FeatureManifests>
    		<FeatureManifest Location="Edito\feature.xml"/>
    		<FeatureManifest Location="TranslationEdito\feature.xml" />
    		<FeatureManifest Location="EditoWebPart\feature.xml"/>
        </FeatureManifests>
     
    </Solution>

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 760
    Points : 2 050
    Points
    2 050
    Par défaut
    As tu spécifié le paramètre -allowgacdeployment lors du déploiement pour copier des assembly de le GAC ?

    Si oui as tu vérifié qu'elles étaient bien déployé?

    As tu vérifié que le LCID que tu utilises lors du déploiement correspond bien à la langue utilisée par SharePoint?

  5. #5
    Membre du Club
    Homme Profil pro
    Concepteur/Développement
    Inscrit en
    Juin 2004
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Concepteur/Développement
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2004
    Messages : 60
    Points : 52
    Points
    52
    Par défaut
    J'ai rajouté le -lcid 1036 lors de l'appel à stsadm.
    J'obtiens alors une erreur sur le AddSolution :

    Impossible d'ajouter une ressource de pack de langue pour la solution <...> sans ajouter le package de solution principal.

    Je n'ai effectivement pas fait, comme indiqué dans l'article, un package spéciale car mes ressources sont dans un fichier global présent dans le répertoire Resource et non associé à ma webpart.

    Dans le répertoire 12.....\Resource j'ai 4 fichiers :
    WebParts.resx, WebParts.fr-FR.resx, WebParts.es-ES.resx et WebPart.en.resx.

    Donc j'en conclue que le déploiement d'une solution ne supporte pas ce type de topologie.
    Tous les exemples rencontrés utilisent des resx au niveau du webpart.

  6. #6
    Membre du Club
    Homme Profil pro
    Concepteur/Développement
    Inscrit en
    Juin 2004
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Concepteur/Développement
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2004
    Messages : 60
    Points : 52
    Points
    52
    Par défaut
    J'ai du mal à saisir le fonctionnement du déploiement avec le package solution.
    J'ai pour tester remplacer l'extension .webpart en .dwp.

    Cela ne fonctionne pas mieux mais au lieu d'avoir dans le catalogue des webparts lors de l'ajout d'un webpart dans la page une entrée $Resource.... j'ai à la place le guid de la solution suivi du nom de la webpart !!!!

  7. #7
    Membre du Club
    Homme Profil pro
    Concepteur/Développement
    Inscrit en
    Juin 2004
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Concepteur/Développement
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2004
    Messages : 60
    Points : 52
    Points
    52
    Par défaut
    Petit détail.
    Que faut-il comprendre par ce message :
    "Cette solution contient des ressources dont l'étendue se situe au niveau d'une application Web et doit être déployée sur une ou plusieurs applications Web"

  8. #8
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 760
    Points : 2 050
    Points
    2 050
    Par défaut
    Salut,
    Qu'as tu fait exactement, car j'avoue que la j'ai un peu du mal à suivre :

    tout d'abord tu as déployé la solution normalement, puis tu l'as redeployé en précisant le lcid?
    a quel moment obtiens tu ce message?

    bref détailles un peu les étapes.

  9. #9
    Membre du Club
    Homme Profil pro
    Concepteur/Développement
    Inscrit en
    Juin 2004
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Concepteur/Développement
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2004
    Messages : 60
    Points : 52
    Points
    52
    Par défaut
    Je vais essayé
    D'abord, la composition de la solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <Assemblies>
    		<Assembly DeploymentTarget="GlobalAssemblyCache" Location="Onet.Portal.WebParts.Edito.dll" >
    			<SafeControls>
    				<SafeControl Assembly="Onet.Portal.WebParts.Edito, Version=1.0.0.0, Culture=neutral, PublicKeyToken=9f4da00116c38ec5" Namespace="Onet.Portal.WebParts" TypeName="*" Safe="True" />
    			</SafeControls>
    		</Assembly>
    		<Assembly Location="en\Onet.Portal.WebParts.Edito.resources.dll" DeploymentTarget="GlobalAssemblyCache" />
    		<Assembly Location="es\Onet.Portal.WebParts.Edito.resources.dll" DeploymentTarget="GlobalAssemblyCache" />
    	</Assemblies>
    	<DwpFiles>
    		<DwpFile Location="OnetEditoWebPart\EditoWebPart.webpart" FileName="EditoWebPart.webpart"/>
    	</DwpFiles>	
    	<FeatureManifests>
    		<FeatureManifest Location="OnetEditoWebPart\feature.xml"/>
        </FeatureManifests>
    La feature déclarant le webpart :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <Feature  Title="$Resources:WebParts,Edito_LongTitle;" 
    		  Id="5151894c-b08f-4cc9-b555-3f65c104cd8a" 
    	Description="$Resources:WebParts,Edito_Description;" Version="1.0.0.0" Scope="Site" 
    	Hidden="FALSE" DefaultResourceFile="WebParts" xmlns="http://schemas.microsoft.com/sharepoint/">
      <ElementManifests>
        <ElementManifest Location="elementManifest.xml" />
        <ElementFile Location="EditoWebPart.webpart" />
      </ElementManifests>
    </Feature>
    Le fichier qui décrit la webpart au niveau de la feature :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <webParts>
      <webPart xmlns="http://schemas.microsoft.com/WebPart/v3">
        <metaData>
          <type name="Onet.Portal.WebParts.EditoWebPart, Onet.Portal.WebParts.Edito, Version=1.0.0.0, Culture=neutral, PublicKeyToken=9f4da00116c38ec5" />
          <importErrorMessage>$Resources:WebParts,Edito_ImportErrorMessage;</importErrorMessage>
        </metaData>
        <data>
          <properties>
            <property name="Title" type="string">$Resources:WebParts,Edito_Title;</property>
            <property name="Description" type="string">$Resources:WebParts,Edito_Description;</property>
    		  <property name="TitleIconImageUrl" type="string">/_layouts/medias/images/pictos/wp_actu.png</property>
    		  <property name="ExportMode" type="exportmode">None</property>
          </properties>
        </data>
      </webPart>
    </webParts>
    Le fichier WebParts.resx est présent dans mon répertoire 12\Resources en plusieurs langues (WebParts.fr-FR/en/es-ES).
    Je déploie avec le fichier de commande contenant les instructions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    %SPDIR% -o addsolution -filename Onet.Portal.WebParts.Edito.wsp
    %SPDIR% -o execadmsvcjobs
    %SPDIR% -o deploysolution -name Onet.Portal.WebParts.Edito.wsp -immediate -allowgacdeployment  -url http://vm-moss-dad.siege.grouponet.com  -force
    %SPDIR% -o execadmsvcjobs
    TOutes les étapes se déroulent avec succès, seul le dernier execadmsvcjobs retourne l'information suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Exécution de .
    Exécution de solution-deployment-onet.portal.webparts.edito.wsp-0.
    Le travail solution-deployment-onet.portal.webparts.edito.wsp-0 a été effectué a
    vec succès, mais n'a pas pu être nettoyé correctement. Ce travail peut être exéc
    uté à nouveau sur ce serveur.
    L'opération s'est déroulée avec succès.
    A ce moment, je vais dans ma page principale et j'essaye d' Ajouter un composant WebPart. Dans la liste des webparts disponibles j'ai l'entrée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $Resources:WebParts,Edito_Title;
    $Resources:WebParts,Edito_Description
    Après vérification, ce sont les informations présentes dans le fichier .webpart qui n'ont pas été remplacées par leur équivalent des RESX.

    Si je vais vérifier le catalogue des webparts à partir de "Paramètres du site\Composants Webpart" je n'ai aucune trace de mon fichier .webpart.
    Si je vais vérifier la feature qui déclare ce webpart dans "Fonctionnalités de la collection de sites" elle est bien présente avec le texte bien en français.

    Pour ce qui est du message "Cette solution contient des ressources dont l'étendue se situe au niveau d'une application Web et doit être déployée sur une ou plusieurs applications Web", il m'a été affiché par le programme "SharePointSolutionInstaller" à cause d'un mauvais paramètrage.
    Mais même avec lui, ca ne fonctionne pas mieux

    J'espère que tout cela t'éclairera

Discussions similaires

  1. Besoin de mettre les choses au clair sur les webparts
    Par Titi41 dans le forum SharePoint
    Réponses: 3
    Dernier message: 23/04/2008, 13h29
  2. [DOM] Validation par DTD bloquant sur les ID
    Par hicham285 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 08/04/2008, 16h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo