Archives mensuelles: Juin 2011

Laissez Shining exemples Lead the Way à l'Adoption accrue de SharePoint

Ma première entrée de blog BrightStarr « pure » a été publiée aujourd'hui.  Voici un teaser:

Il y a eu beaucoup de conversation sur les Internets de la fin sur le sujet de l'adoption de SharePoint et surtout l'absence de. Personne ne veut aller à tous la difficulté de concevoir une infrastructure agricole et la sécurité, participant à des ateliers, mettre sur pied un aspect chic, travailler sur une architecture de l'information solide rocher qui peut résister à des vicissitudes de l'entreprise re-associations et enfin, un déploiement remplis de fanfare vient de découvrir trois mois après go-live que moins de 50% de la société employés sont à l'aide de SharePoint et la plupart d'entre eux est l'utiliser pour remplacer les anciens serveurs de fichiers réseau (« le s:\ lecteur").

Pas de solution miracle (ou un seul billet de blog) va résoudre ce problème. Cependant, Il y a beaucoup de choses que vous pouvez faire pour réduire le risque d'un portail SharePoint anémique. Une telle technique est le "modèle d'exemple Shining."

J'aimerais connaître d'autres stratégies d'adoption de SharePoint que vous vous souciez de partager.  Si vous partagez, Veuillez laisser un commentaire sur le blog BrightStarr.

Lire tout cela ici: http://www.brightstarr.com/US/Pages/blog-view.aspx?BlogID=52

</fin>

S'abonner à mon blog.

Me suivre sur Twitter à http://www.twitter.com/pagalvin

"Accès refusé” à Default.aspx sur un SharePoint 2010 Site de Sub

Un de mes clients est allé vivre avec leur SharePoint 2010 environnement aujourd'hui.  Nous avons découvert qu'un certain groupe d'utilisateurs n'a pas pu accéder à leur page d'accueil par défaut.  SharePoint a répondu avec « Accès refusé » et le habituel « signe en tant qu'un autre utilisateur » ou « demande d'accès » réponse. 

Lorsque nous avons utilisé la fonction « Vérifier l'accès » sympathiques, il a confirmé que les utilisateurs finaux aient réellement accès.  Encore, ils ne peuvent pas obtenir de la page.

J'ai suivi beaucoup de routes à diverses impasses jusqu'à ce que j'ai décidé de comparer les composants WebPart sur la page brisée contre une page de travail similaires.  Je le faisais en mettant la page en mode de maintenance en ajoutant"?contenu = 1 » à la page. Si, il ressemblait à "http://Server/subsite/subsite/default.aspx?contenu = 1 ". 

Cela m'a montré deux composants WebPart nommé « Erreur » avec une description comme « Erreur » sur la page brisée.  Je ne pensais pas prendre une casquette d'écran à la fois.

J'ai enlevé la leur et qui a résolu le problème.

J'ai vu une question comme ce come up sur les forums dans le passé, et j'étais très sceptique sur l'insistance de l'affiche qu'il avait mises en place correctement la sécurité.  Je * sais * j'ai eu le droit de la sécurité Sourire  La prochaine fois, Je vais être plus ouverte et moins sceptique.

</fin>

S'abonner à mon blog.

Me suivre sur Twitter à http://www.twitter.com/pagalvin

Échantillons de XSLT et jQuery

J'ai fait beaucoup de XSLT et jQuery et pensée que serait partager quelques extraits que d'autres peuvent trouver utiles dans l'avenir.

Exemple 1: Émettent JavaScript simple / jQuery dans XSLT:

<XSL:match de modèle « quelque chose =" XML:espace = « sauvegarde »>

  <!– Vide dans le champ masqué de requête filtres amical –>
  <script type = « text/javascript »>
    $(document).prêt(fonction(){
      $(« #QueryFriendlyFilters »).Val(« vide »);
    });
  </script>

</XSL:modèle>

Que le bit émet quelques JavaScript qui attend pour la page à la fin de chargement (en raison de la $(document).prêt(…)) et puis définit la valeur d'un champ masqué nommé QueryFriendlyFilters dans la valeur littérale « vide ».

Exemple 2: Utilisation <XSL:Si> pour vérifier la « supérieur à »,  « moins de », etc..

<XSL:match de modèle « quelque chose =" XML:espace = « sauvegarde »>

  <div id = « fdcAllFilters »>
 
    <XSL:si test="@Count>0">
      <span class = « fdcFilterLabel »>Filtres actifs:</travée>
    </XSL:Si>

    <!– plus de choses se passe ici. –>

</XSL:modèle>

L'extrait de code ci-dessus vérifie si un attribut nommé « Comte » de l'élément « quelque chose » est supérieur à zéro.  Le code XML derrière ce serait quelque chose comme:”

<quelque chose de Count = « 5 » />

Exemple 3: Parcourir tous les éléments, disséminer les appels jQuery.

<!– Parcourir tous les filtres et afficher le bon  Liens. –>
<XSL:pour chaque select = « UserFilter »>

  <une classe = FilterHref »" href = "javascript:mySubmitPage(« RemoveUserFilter »,'{@ ID}’)">[X]</un>

  <span class = « fdcFilterLabel »><XSL:valeur de select="@FilterValue"/></travée>

  <script type = « text/javascript »>

    $(document).prêt(fonction(){
        <XSL:texte><![CDATA[$(« #QueryFriendlyFilters »).Val( ($(« #QueryFriendlyFilters »).Val() + " ]]></XSL:texte>\"<XSL:valeur de select="@FilterValue"/>\"<XSL:texte><![CDATA["));]]></XSL:texte>
    });

  </script>

</XSL:pour chaque>

L'extrait de code ci-dessus est le plus complexe et il peut y avoir des moyens plus faciles de le faire.

Le XML derrière tout cela ressemble grossièrement à ce:

<UserFilter ID = « 123 » FilterValue = « xyzzy » />

Cet extrait est une itération à travers <UserFilter> nœuds. 

Elle émet d'abord une ancre qui balise lorsque l'utilisateur clique sur invoque une fonction JavaScript qui est déjà sur la page, « mySubmitPage » et passe la valeur d'un attribut le <UserFilter> nœud nommé « ID ». 

Il émet ensuite certains jQuery qui attend pour la page de chargement.  Que jQuery met à jour un champ masqué nommé « QueryFriendlyFilters » en ajoutant la valeur de l'attribut FilterValue.  Remarque tous le fou <XSL:texte> et <![CDATA[ … ]]> Stuff.

C'est tout, espérons que cela aide!

</fin>

S'abonner à mon blog.

Me suivre sur Twitter à http://www.twitter.com/pagalvin