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

Développement Sharepoint .NET Discussion :

[SP2010] Comment retrouver des webparts dans un site ?


Sujet :

Développement Sharepoint .NET

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    352
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 352
    Points : 234
    Points
    234
    Par défaut [SP2010] Comment retrouver des webparts dans un site ?
    Bonjour
    Je pense que le titre fait un peu peur, mais je ne savais pas trop comment résumer mon problème en 1 ligne !
    J'ai fait quelques tests de développement c# en faisant par exemple une webpart qui génère un pdf.
    Je l'ai déployé sur un site de tests, je l'ai utilisée. Mais ca, c'était il y a bien longtemps ...... dans une galaxie lointaine, très lointaine .... euh non, je m'égare là !

    Je voudrais faire le ménage dans mes fonctionnalités, et donc les virer vu qu'elles ne servent pas. Mais le souci, c'est qu'elles sont utilisées, et si je les retire, j'ai des messages d'alerte dans ma partie "Problèmes et solutions" de mon administration centrale, disant qu'il manque des dépendances.
    Et dans le détail, j'ai ca :

    [MissingSetupFile] Le fichier [Features\GenerationPdfBDC_Feature1\generationPDF\generationPDF.webpart] est référencé [1] fois dans la base de données [WSS_Content_BDC_PROD], mais il n’est pas installé dans la batterie de serveurs actuelle. Installez la fonctionnalité/solution contenant ce fichier. Des fichiers de configuration sont référencés dans la base de données [WSS_Content_BDC_PROD], mais ils ne sont pas installés sur la batterie de serveurs actuelle. Installez une fonctionnalité ou une solution contenant ces fichiers.
    [MissingSetupFile] Le fichier [Features\PDF002_Feature1\VisualWebPart1\VisualWebPart1.webpart] est référencé [1] fois dans la base de données [WSS_Content_BDC_PROD], mais il n’est pas installé dans la batterie de serveurs actuelle. Installez la fonctionnalité/solution contenant ce fichier. Des fichiers de configuration sont référencés dans la base de données [WSS_Content_BDC_PROD], mais ils ne sont pas installés sur la batterie de serveurs actuelle. Installez une fonctionnalité ou une solution contenant ces fichiers.
    [MissingSetupFile] Le fichier [Features\WP_PresencesUploadImages_Feature1\WP_PresencesUploadImages\VisualWebPart1.webpart] est référencé [1] fois dans la base de données [WSS_Content_BDC_PROD], mais il n’est pas installé dans la batterie de serveurs actuelle. Installez la fonctionnalité/solution contenant ce fichier. Des fichiers de configuration sont référencés dans la base de données [WSS_Content_BDC_PROD], mais ils ne sont pas installés sur la batterie de serveurs actuelle. Installez une fonctionnalité ou une solution contenant ces fichiers.
    [MissingWebPart] La classe du composant WebPart [10cdc2ca-e97b-04b0-ed4c-20255762af42] (classe [WP_PresencesUploadImages.VisualWebPart1.VisualWebPart1] de l’assembly [WP_PresencesUploadImages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d3c716fc9dc5714b]) est référencée [1] fois dans la base de données [WSS_Content_BDC_PROD], mais elle n’est pas installée sur la batterie de serveurs actuelle. Installez la fonctionnalité/solution contenant ce composant WebPart. Des composants Web sont référencés dans la base de données [WSS_Content_BDC_PROD], mais ils ne sont pas installés sur la batterie de serveurs actuelle. Installez une fonctionnalité ou une solution contenant ces composants WebPart
    Ma question : comment retrouver l'endroit ou sont utilsées ces webparts ?

    Merci pour votre aide.

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    352
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 352
    Points : 234
    Points
    234
    Par défaut
    euh, je dois etre fatigué.
    j'ai redéployé mes solutions pour ne plus avoir le message. je les ai retirées ..... et le message n'est pas réapparu ....
    je comprends plus rien ....
    bon ben je lache l'affaire pour aujourd'hui et je reverrai tout ca demain à tête reposée ....

    désolé pour le dérangement ....

  3. #3
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Points : 5 347
    Points
    5 347
    Billets dans le blog
    5
    Par défaut
    Bonjour,
    Citation Envoyé par rigol'man Voir le message
    Je voudrais faire le ménage dans mes fonctionnalités, et donc les virer vu qu'elles ne servent pas. Mais le souci, c'est qu'elles sont utilisées, et si je les retire, j'ai des messages d'alerte dans ma partie "Problèmes et solutions" de mon administration centrale, disant qu'il manque des dépendances.
    Ma question : comment retrouver l'endroit ou sont utilsées ces webparts ?
    Il est tout à fait possible de le faire via PowerShell ! Le principe est simple, parcourir tes sites, puis tes sous webs, puis les bibliothèques de pages, puis récupérer chaque page, récupérer le GetLimitedWebPartManager et comparer l'assembly de chacune...
    Bref un peu de récursivité mais la logique et là.
    Si tu as besoin, j'ai fais un script complet permettant l'extraction de ces données (dans le cadre d'un audit de plateforme)...

    Citation Envoyé par rigol'man Voir le message
    j'ai redéployé mes solutions pour ne plus avoir le message. je les ai retirées ..... et le message n'est pas réapparu ....
    je comprends plus rien ....
    est référencé [1] fois dans la base de données [WSS_Content_BDC_PROD], mais il n’est pas installé dans la batterie de serveurs actuelle
    T'es sur que ton composant était correctement installé ?
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    352
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 352
    Points : 234
    Points
    234
    Par défaut
    je te remercie, je vais prendre l'idée, et faire un peu de récursivité. si je cale, je te demanderai de l'aide.

    T'es sur que ton composant était correctement installé ?
    Je ne suis pas sur, il y avait 3 fonctionnalités au total, mais une seule était utilisée. Peut etre que les autres étaient mal installées...

  5. #5
    Membre habitué
    Inscrit en
    Juin 2009
    Messages
    246
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 246
    Points : 194
    Points
    194
    Par défaut
    en m'aidant de ce que j'ai trouvé sur le net j'ai fait ce script pour ce qui est de retrouver les erreurs MissingSetupFile :

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    Param([Parameter(Position=0,Mandatory=$True)]$WebApplication, [SWITCH]$Delete)
    if ((Get-PSSnapin microsoft.sharepoint.powershell -ErrorAction SilentlyContinue) -eq $null) { 
    Add-PSSnapin -name Microsoft.SharePoint.PowerShell
    }
    function send-SQLQuery{
    Param([Parameter(Position=0,Mandatory=$True)] $SqlServer,
    [Parameter(Position=1,Mandatory=$True)] $SqlDatabase,
    [Parameter(Position=2,Mandatory=$True)] $SqlQuery) 
    $SqlConnection = New-Object System.Data.SqlClient.SqlConnection
    $SqlConnection.ConnectionString = "Server=" + $SqlServer + ";Database=" + $SqlDatabase + ";Integrated Security=True"
    write-host $sqlconnection.connectionString -f yellow
    $SqlCmd = New-Object System.Data.SqlClient.SqlCommand
    $SqlCmd.CommandText = $SqlQuery
    write-host $sqlquery -f yellow
    $SqlCmd.Connection = $SqlConnection
    $SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
    $SqlAdapter.SelectCommand = $SqlCmd
    $DataSet = New-Object System.Data.DataSet
    $SqlAdapter.Fill($DataSet)
    $SqlConnection.Close()
    $DataSet.Tables[0]
    }
    $webapp = get-spwebApplication $webapplication;
    $database = get-spcontentdatabase -webapplication $webapp;
    $tab = @();
    $result = @()
    Test-SPContentDatabase $database | where { $_.Category -eq "MissingSetupFile" } | % {
    	$MissingSetupFile = "'" + $_.message.substring($_.message.indexof("[") +1, $_.message.indexof("]") - $_.message.indexof("[")-1) + "'";
    	switch ($delete) {
    		$true {$action = "DELETE" }
    		$false { $action = "SELECT *" }
    		}
    	$SQLQuery = "{1} from AllDocs where SetupPath = {0}" -f $MissingSetupFile, $action
    	$errors = Send-SQLQuery -SqlServer $database.server -SqlDatabase $Database.name -SqlQuery $SQLQuery | where { $_.id -ne $null} | select Id, SiteId, DirName, LeafName, WebId, ListId, tp_ZoneID, tp_DisplayName 
    	switch ($delete) {
    		$false {
    		foreach ($myerror in $errors) {
    			$result += "url : {0}/{1}/{2}" -f $WebApp.url, $myerror.dirname, $myerror.leafname
    			}
    		}
    		$true {
    		$message =  "Suppression de la reference a {0} dans la base de donnees" -f $missingSetupFile
    		write-host $message -f red
    		}
    	}
    $result | sort -unique
    A voir si ça te convient .
    ATTENTION !! :
    le switch delete est a utiliser avec une extrême précaution, il implique un delete directement en base SharePoint.
    J'ai été obligé de le faire suite à un problème avec des wsp n'existant plus, m'empêchant de réparer l'erreur proprement.

  6. #6
    Expert confirmé Avatar de Lapinpanda
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2009
    Messages
    3 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 230
    Points : 4 913
    Points
    4 913
    Par défaut
    Bonjour,

    je désapprouve cette méthode

    On peut forcer la suppression d'une feature on rajoutant le param -force lors de l'utilisation de la méthode Uninstall-SPFeature
    Merci d'utiliser en cas de résolution de votre problème

    N'oubliez pas non plus le petit pouce vert pour récompenser celui que vous a aidé

  7. #7
    Membre habitué
    Inscrit en
    Juin 2009
    Messages
    246
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 246
    Points : 194
    Points
    194
    Par défaut
    c'est ce que j'avais essayé mais ça ne fonctionnait pas car elle n'etait pas trouvée via powershell .

  8. #8
    Membre expérimenté
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Points : 1 561
    Points
    1 561
    Par défaut
    Citation Envoyé par eldrad95 Voir le message
    c'est ce que j'avais essayé mais ça ne fonctionnait pas car elle n'etait pas trouvée via powershell .
    Avais tu installé le jeu d'instructions pour SharePoint sous PowerShell sinon il ne reconnaitra aucune instructrion.

    Add-PSSnapin Microsoft.SharePoint.PowerShell
    Ex développeur Php / J2EE.
    Actuellement reconverti à SharePoint 2013

    Mon blog SP 2013

  9. #9
    Membre habitué
    Inscrit en
    Juin 2009
    Messages
    246
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 246
    Points : 194
    Points
    194
    Par défaut
    Oui oui, les commandes etaient reconnus, ce sont les features qui n'étaient pas trouvées.

Discussions similaires

  1. [Joomla!] Comment supprimer des avertissements dans un site hébergé ?
    Par jockhip12 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 29/05/2012, 19h16
  2. Comment introduire des frames dans un site ?
    Par rpd05 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 20/06/2007, 13h57
  3. Comment cacher des propriétés dans un nouvel objet ?
    Par Pedro dans le forum Composants VCL
    Réponses: 2
    Dernier message: 22/10/2003, 18h53
  4. [langage] Comment rajouter des champs dans une liste
    Par toto_titi dans le forum Langage
    Réponses: 4
    Dernier message: 28/08/2003, 14h09
  5. [] [Réseau] Renommer des fichiers dans un site FTP
    Par JerBi dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 22/08/2003, 00h35

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