2010-02-05 3 views
3

Je suis complètement perplexe avec ceci:SharePoint QuickLaunch et TopNavigationBar dissapearing

J'ai un site SharePoint personnalisé avec QuickLaunch sur la gauche et en haut la barre de navigation (qui sont bien sûr visible par défaut).

Ce site personnalisé comporte plusieurs sous-sites qui héritent tous de la navigation du site racine.

Tout fonctionne correctement, mais après le recyclage de l'application, les deux menus à gauche et en haut disparaissent lorsque j'entre dans l'un des sites pour la première fois! Après un simple rafraîchissement, tout redevient normal, tous les menus sont visibles. Après la recréation du site et des sous-sites, ils se comportent de la même manière: lors de la première visite - les menus ne sont pas visibles, après l'actualisation, ils sont visibles et restent visibles jusqu'à ce que je fasse recycler un pool d'applications. Parfois, un seul menu (barre supérieure ou lancement rapide) disparaît et le second est normalement visible, et je pense également avoir rencontré une situation où il a disparu pendant l'utilisation normale du site, et non après le recyclage.

Il n'y a rien dans le journal des événements. Cependant, il y a une trace dans le journal ULS. Lorsque le lancement rapide ou la barre supérieure ne disparaît qu'une seule nouvelle ligne (oui, seulement celle-ci, aucune trace de pile ou autre information) est ajoutée:

02/05/2010 10: 24: 19.18 w3wp.exe (0x171C) 0x17BC Windows SharePoint Services Général 8kh7 Élevé Impossible d'effectuer cette action. Réessayer. Eh bien, en effet, il est dit que quelque chose ne va pas qui fait disparaître le menu. Quelqu'un peut-il m'aider à diagnostiquer cela ou sait peut-être pourquoi ces menus disparaissent?

+0

Avez-vous déjà trouvé exactement ce qui causait cela? J'ai lu ce fil mais rien ne ressort comme s'appliquant à nous. Les deux zones de nav seront rendues ou non au hasard, au hasard lorsque j'appuie sur refresh dans mon navigateur. 10 minutes plus tard c'était bien pour certaines sous-sites mais pas pour les autres. On dirait que SP devient plutôt bancal! – Tor

Répondre

0

Gylo avez-vous activé la fonctionnalité de publication sur ces sites? Il s'agit d'une situation connue lors de la restauration de modèles de sites enregistrés avec la publication activée (à l'aide d'un petit hack) lorsque le Top Navigation n'apparaît pas pour la première fois.

Quelle version utilisez-vous? (Actions du site => Définitions du site l'indique)

+0

Non, la fonction de publication est désactivée. C'est sur MOSS 2007. Vous avez dit que c'était une "situation connue", avez-vous des liens ou des ressources? Peut-être que c'est quelque chose de similaire. – Gylo

+0

La «situation connue» se produit lorsque vous faites ce que j'ai dit (enregistrer un site de publication en tant que modèle, ce qui n'est pas autorisé - vous devez utiliser une petite astuce, puis restaurer le site - le menu sera brisé et corrigé à la prochaine actualisation et à) –

+0

OK, merci pour un indice, mais je crée le site et son site est un modèle régulier (fichier ONET.XML) qui est un modèle simple, sans fonctionnalités supplémentaires comme la publication activée. – Gylo

0

Il se peut que vous ayez manipulé Navigation dans la définition du site et retiré le nœud de navigation avec l'ID de 1002. Ce nœud est responsable du stockage de la navigation Web et même si votre site Web utilise navigation partagée, vous aurez la navigation disparaissant dans certaines circonstances. Vérifiez si votre-web.Navigation.TopNavigationBar est null. Si c'est le cas, ce n'est pas très simple de restaurer le nœud # 1002. Voici un correctif que j'ai écrit pour résoudre ce problème sur l'environnement de production. Testez-le d'abord!

public override void FeatureActivated(SPFeatureReceiverProperties properties) 
    { 
     SPSite site = properties.Feature.Parent as SPSite; 

     using (SPWeb web = site.OpenWeb("/information")) 
     { 
      if (web.Navigation.TopNavigationBar == null) 
      { 
       List<SPContentDatabase> contentdatabases = new List<SPContentDatabase>(); 

       SPSecurity.RunWithElevatedPrivileges(delegate() 
       { 
        SPNavigationNode node = new SPNavigationNode("", web.ServerRelativeUrl, false); 

        web.AllowUnsafeUpdates = true; 

        try 
        { 
         SPNavigationNodeCollection navigationNodes = null; 
         navigationNodes = web.Navigation.GlobalNodes; 

         navigationNodes.AddAsFirst(node); 
        } 
        finally 
        { 
         web.AllowUnsafeUpdates = false; 
        } 

        SPContentDatabase database = site.ContentDatabase; 

        using (SqlConnection con = new SqlConnection(database.DatabaseConnectionString)) 
        { 
         con.Open(); 

         using (SqlCommand command = con.CreateCommand()) 
         { 
          command.CommandText = string.Format(@"UPDATE NavNodes 
          SET Url='', Eid={0}, ElementType=1, DocId=NULL 
          WHERE Eid={1} 
           and WebId='{2}' 
           and SiteId='{3}'", 
           1002, 
           node.Id, 
           web.ID.ToString(), 
           site.ID.ToString() 
          ); 

          command.ExecuteNonQuery(); 
         } 
        } 
       }); 
      } 
     } 
    } 
+0

Veuillez vous reporter à [cet article] (https://support.microsoft.com/fr-fr/kb/841057) avant d'exécuter des modifications sur les bases de données SharePoint. – dstarkowski