none
SharePoint 2010/2013 – Résoudre les problèmes de dépendances RRS feed

  • Discussion générale

  • Bonjour à tous,

    Vu la longueur du tip je me permet de mettre le lien vers mon blog car ne passe pas sur technet :)

    Petit tip sur les problèmes de dépendance concernant les solutions installées qui parviennent souvent après l'installation d'une solution ou migration SP2007 - SP2010 - SP2013.

    Voila donc le lien de ma contribution:

    http://vlecerf.fr/blog/2013/02/01/sharepoint-20102013-resoudre-les-problemes-de-dependances/

    Bonjour à tous,

    Aujourd’hui je vous propose des solutions pour résoudre les problèmes de dépendance sur votre ferme SharePoint.

    Vous avez surement lors d’une migration eu ce petit message

    problémedependance

     

    Une fois que vous cliquez dessus, l’analyseur d’intégrité vous donne des erreurs tel que [MissingSetupFile] , [MissingWebPart] , [MissingSiteDefinition] ou même [MissingAssembly].

    Plusieurs solutions s’offre à nous.Des gentils développeurs ont eu l’idée de développer un petit outil qui peut dans certain cas résoudre ces problèmes. Vous pouvez le trouver ici:  CodePlex – FeatureAdmin

    Si ce petit soft ne peux pas résoudre les problèmes de dépendances il faut donc mettre les mains dans la Base de donnée SharePoint (Hein????) et oui!

    Rendez vous dans le SQL Server Management et ouvrez une nouvelle fenêtre de requête en sélectionnant la base de contenu concernée par l’erreur de dépendance.(vous trouverez le nom de celle ci dans l’erreur)

    Avant toute chose faites un backup de la base!

    Voici cas par cas les actions à faire:

    [MissingSetupFile]

    Récupérez le lien du fichier manquant dans l’erreur commençant par « Feature… » et faites un select comme ceci:

    1
    2
    select * from AllDocs
    where SetupPath like '%Features\MetroGrid_Feature1\MetroGridResources\css\custom-theme\images\ui-icons_cd0a0a_256x240.png%'

    Cette requête vous retourne autant de ligne que ce fichier est référencé dans la base. resultselectmissingsetupfile Copiez l’id avec un clic droit

    resultselectmissingsetupfile2 Il reste qu’a faire un delete comme ceci:

    1
    delete from AllDocs where id = '2ED0CF7C-58A7-4274-BFD1-19FA50811519'

    La référence est supprimée de la base.Reste à réanalyser les problèmes afin de voir si il ne reste pas d’autre référence dans une autre base de contenu par exemple. resultdeletemissingsetupfile Pour la suite le déroulement est le même, juste les requêtes qui change, je vais donc me passer de faire des screenshots ;)

    [MissingFeature]

    1
    2
    3
    4
    select *
    from features
    join webs on (features.webid = webs.id)
    where featureid = 'L'id de votre fonctionnalité manquante'

    Une fois l’id récupéré soit vous pouvez désactiver la fonctionnalité directement via le site (je recommande) si vous ne pouvez pas, un petit delete devrait faire l’affaire!

    [MissingAssembly]

    1
    2
    3
    4
    5
    SELECT *
    from EventReceivers event
    join webs on (event.webid = webs.id)
    join sites site on (site.id = event.siteid)
    where Assembly = ‘Assembly manquante que vous trouverez dans le message d'erreur'

    Une fois l’id récupéré, faites un delete également.

    [MissingSiteDefinition]

    1
    2
    3
    select *
    from webs
    where webtemplate = 'id du template'

    idem que précédemment, un delete.

    [MissingWebPart]

    1
    2
    3
    4
    5
    select *
    from AllWebParts webpart
    join alldocs doc on (webpart.tp_PageUrlID = doc.ID)
    join sites site on (site.id = webpart.tp_siteid)
    where tp_WebPartTypeId  = ‘id du webpart’

    Je vous conseil ici une fois l’url récupérée, de vous rendre sur celle ci et de rajouter à la fin de l’url ?Contents=1 Vous pourrez ainsi supprimer facilement le webpart de la page.

    Voila, j’espère que mon expérience sur ce problème pourra résoudre le votre ;)

    A bientôt!


    Mon blog sur SharePoint
    Site du Groupe AFG
    viadeotwitter



    lundi 8 avril 2013 11:09