Exportation-SPWeb Me dit "InvalidData” Mais les données sont valides

Je suis en train d'écrire un article pour les bonnes gens à www.sharepointbriefing.com et il faut déployer une liste d'une ferme de développement d'une ferme de production.  Je suis toujours habitué à l'utilisation de stsadm et besoin de briser cette habitude, Si je pète le SharePoint 2010 Management Shell et joué autour à l'aide d'exportation-SPWeb à ma liste de sauvegarde.  Quelle une chose étrangement difficile qui s'est avéré être!

Je continuais de faire cette erreur:

image

Cette erreur, "InvalidData: (Microsoft.share…CmdletExportweb » ») a killing me.  Je suis embarrassé à combien de temps j'ai lutté avec cette.

J'avais déjà exécuter un mur avec PowerShell et stsadm utilisée pour obtenir autour d'elle.  J'ai essayé cette fois et j'ai obtenu de bons résultats.

J'ai passé beaucoup de temps à tergiverser avec l'option –Identity, puis enfin avec –ItemURL.  Il s'avère que l'option ItemURL requiert un chemin d'accès complet de la liste et bibliothèque vous  à exporter sans le http://bit de serveur.  Si, Malgré le fait que l'argument de l'identité est pointant sur un sous-site Web, le ItemURL n'est pas par rapport à l'identité, mais par rapport à la collection de sites.

Il aurait été agréable de la cmdlet pour me dire ce qui était valide minimale (l'identité de l'espèce) et ce qui n'était pas valide (ItemUrl).  Ces touches peu aident les gens à embrasser le produit.  Pas un grand ding contre SharePoint, mais un peu un au moins 🙂

J'espère que ce post permettra d'économiser quelqu'un d'un peu de chagrin à l'avenir.

</fin>

S'abonner à mon blog.

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

En collaboration avec TreeNodeBinding dans l'ASP.NET Treeview contrôle

J'ai travaillé sur ce que j'espère sera un peu libérés CodePlex projet qui fournit un peu intégré nice de WebPart parler les uns aux autres via des connexions fournisseur et consommateur dans le but de l'exploration d'un site SharePoint sous les couvertures.  (Cela a certainement été fait avant, mais il s'agit d'un projet d'apprentissage autant qu'autre chose).  Le but est d'être un remplacement pour la vue Explorateur de windows de SharePoint 2010 bibliothèques de documents.

Le code a l'habituel récursive appel vers le bas de la SPWeb et SPLists d'une donnée à partir de point.  L'objet qui effectue cette traversée crée une chaîne XML qui ressemble à ceci:

<sitecollection url =’http://demo2010a:9090′>
 
<Web
     titre = 'Hello World Sandbox' 
     Modèle =' un site pour les équipes d'organiser rapidement, auteur, et partager de l'information, BLAH BLAH BLAH »>

     <Liste
        titre ='BCC_Health_Services_FAQs’
        Modèle ='CustomList’
       
ListID =’http://demo2010a:9090/helloworldsandbox[delim]1e02b001-3cb2-4f17-b63d-7809e86b4174′>
    
</Liste>

     <Liste
        titre = « BCC_Notifications » 
        Modèle = « CustomList » 
        ListID =’
http://demo2010a:9090/helloworldsandbox[delim]5a5a13d1-877 c-41 c 0-9063-b9612be80d5e’>
     </Liste>

  </Web>

</sitecollection>

Je m'attends à nettoyer que XML avant tout est dit et fait.

Je veux rentrer en fin de compte que l'information up et dans un contrôle Treeview.  Pas exactement la terre stuff bouleversante.

Le défi que j'ai pris ici est de connecter l'arborescence d'un contrôle de Source de données XML plutôt que de construire manuellement mon TreeView comme je traverse l'arbre.  Je l'ai fait en partie parce que je me fais délibérément choses plus fort sur moi-même (Ce n'est après tout un projet d'apprentissage) et en partie parce que j'ai cette notion vague qui construire des nœuds d'arbre que je traverse l'arbre n'est pas une bonne idée à long terme.

Le problème avec cette approche est que le contrôle Treeview ne sait pas les bons attributs sur les nœuds intéressants comme « liste » ou « web » donc elle montre cette sortie par défaut:

 

image

Ce n'est pas utile.  C'est où la classe TreeNodeBinding aide.  Je peux utiliser cela pour raconter le contrôle Treeview comment il doit interpréter le code XML.  Voici un exemple:

TNB = nouveau TreeNodeBinding();
TNB.DataMember = « liste »; // Il s'agit de l'étiquette dans le code xml d'un site.
TNB.TargetField = « listid »;
TNB.ValueField = « title »;
TNB.ToolTipField = « Template »;

Cette liaison raconte le treeview que lorsqu'il trouve une <Liste> nœud XML, appliquer les liaisons pour TargetField, ValueField et ToolTipField.  En mai app, Ces cartes comme suit:

  • TargetField: Lorsque quelqu'un clique sur une valeur de nœud, C'est ce que vous obtiendrez pour SelectedNode.Value.  Cela ne veut ne pas être confus avec…
  • ValueField: C'est ce que vous voulez le contrôle Treeview pour afficher à l'utilisateur.
  • ToolTipField: La valeur par le XML que vous souhaitez comme une info-bulle.

Ajouter que TreeNodebinding pour les liaisons de données de l'arborescence et vous obtenez sortie comme ceci:

 

image

J'aurai plus sur tout ce que je continue sur le projet et finalement mettons cela sur Codeplex.

</fin>

S'abonner à mon blog.

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

Trouver le grand Talent de SharePoint

Voici un autre article que j'ai écrit pour les bonnes gens à Briefing de SharePoint intitulée « recherche SharePoint doué ». L'article tente de donner quelques conseils sur la façon de trouver des gens vraiment bonnes et expérimentées lorsque vous cherchez à élargir votre personnel.

Voici un teaser:

Teaser

Check it out.

</fin>

S'abonner à mon blog.

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

Sauvegarde-SPSite cmdlet silencieusement échoue lorsque exécuté avec des autorisations de mauvais

J'étais sur un serveur et exécute une commande backup ennuyeux de site collection avec l'applet de commande powershell sauvegarde-SPSite et obtenu le message d'erreur suivant:

Sauvegarde-SPSite : Impossible de trouver un objet SPSite avec Id ou URL: …  (message complet ci-dessous)

image

J'ai eu des problèmes avec ce serveur, donc il m'a fait penser que le serveur était malade ou quelque chose.  Je convertis à stsadm vieux bon et cette fois, j'ai une erreur différente:

Cette opération peut être effectuée que sur un ordinateur qui est joint à une batterie de serveurs … (message complet ci-dessous)

image

Bien sûr, il à la ferme et tout ce que, mais il produit pour moi que je suis connecté avec mon compte et j'ai normalement connecter sous un compte système sur ce serveur.  Je n'ai qu'et la sauvegarde a réussi.  Ce que je trouve intéressant, c'est que l'applet de commande m'a donné un message d'erreur parés de sécurité.  C'est genre de soigné mais n'a pas m'aider beaucoup :) 

<fin />

S'abonner à mon blog.

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

Directement à la liste de la prison – Client VPN Cisco

Été dernier, J'ai créé une liste « directement en prison » pour le réfrigérateur.  #1 sur la liste est Lawrence o ' Donnell (pour les prédictions inexactes), mais c'est bien au-delà de la portée de ce blog :)  Aujourd'hui, J'ajoute le client VPN de Cisco à la liste, et c'est dans la portée par un nez.

Un tas d'années il y a que beaucoup de clients utilisés Cisco VPN pour permettre l'accès à distance à leur site.  À l'époque, J'ai créé le PC virtuel pour chacun de ces clients et installé Cisco sur ce? Pourquoi?  Parce que Cisco bloque votre machine afin que vous ne pouvez pas même parcourir les imprimantes en réseau local, sans parler des outils dangereuses comme Skype, Communicateur et le "~" clé.  Mais,  Si vous l'installer sur une machine virtuelle, votre VM est verrouillée vers le bas mais pas de votre hôte. 

Je me souviens de ces jours de gloire aujourd'hui parce que je dois utiliser un client VPN Cisco * nouveau * il verrouille moi et je dois utiliser dans une minute.  Je suis plutôt blog combien le client VPN Cisco mérite d'être en prison plutôt que d'utiliser it…

</fin>

S'abonner à mon blog.

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

SharePoint Fest – Denver

Je vais être parlant à Denver à l'événement fête de SharePoint sur mai.  Je vais discuter des affaires courantes et défaut technique-de-choses à faire dans les workflows SharePoint Designer et esquisser quelques modèles, vous pouvez utiliser pour résoudre les.

Il y a beaucoup d'autres choses très intéressantes en cours lors de la Conférence, donc check it out: http://www.sharepointfest.com/Denver/

Il n'est pas un événement gratuit et j'ai un code d'escompte handy, donc laisser un commentaire ou ping à que moi et je donnerai volontiers.

</fin>

S'abonner à mon blog.

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

Mettre en place un système Global de Notification pop-up

J'ai écrit un article pour www.SharePoint.briefing.com le droit »Mettre en place un système Global de Notification pop-up.”  Cette fonction a été mis en place pour un collège communautaire de communiquer des fermetures d'écoles en raison de la neige et ainsi de suite. 

Il utilise une liste personnalisée, Out of the box SharePoint web services et certains jQuery pour faire le travail.

Voici un teaser:

image

Lire tout cela ici: http://www.sharepointbriefing.com/features/article.php/3918471/Implement-a-Global-Pop-up-Notification-System.htm

</fin>

S'abonner à mon blog.

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

Reliant les filtres de champ de texte à votre composant WebPart personnalisé

Je voulais recevoir des informations de filtre champ de texte dans SharePoint 2010 dans ma part du web personnalisé.  J'ai essayé en utilisant Cet article MSDN comme une base, mais l'article est soit rompu ou je suis il suit tout simplement pas correctement.

La recherche un peu plus relevée Mike Smith Contribution de MSDN ici (http://social.msdn.microsoft.com/forums/en-us/sharepointdevelopment/thread/72F1732A-7F93-441E-8644-2E82BBB153D9).

Il y a beaucoup de choses là-bas sur les composants WebPart connectables mais l'article de Mike est aussi simple qu'elle obtient.

</fin>

S'abonner à mon blog.

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

Attribution d'espaces de noms Web Part (Ou, Une raison pour "un composant WebPart ou un contrôle de formulaire Web sur cette Page ne peut pas être affichée ou importée)”

J'ai travaillé pour obtenir mes côtelettes de dev de retour et à cette fin, travail sur un projet de loisir qui a les bits suivants:

  • Composant WebPart connecté qui reçoit un site ou un site collection URL une hors de la zone de composant WebPart de filtre de texte SharePoint.
  • Ce composant WebPart recherche toutes les infos le site sélectionné, génère un paquet XML et remet au large d'un autre WP sur la page (via des connexions).
  • 3WebPart rd reçoit le code XML et quelques XSL transforme stuff.

Je voulais vous renommez l'espace de noms de tous les bits de « Nivlag » et je m'obtenir frappé avec l'erreur suivante lorsque j'ai déployé le composant WebPart à  mon environnement de test:

Un composant WebPart ou un contrôle de formulaire Web sur cette Page ne peut pas être affichée ou importé.  Le type n'a pas pu être trouvé ou il n'est pas enregistré comme sûrs.

C'est le problème du débutant mais je pense que je serait griffonner une note à ce sujet en tout cas.  J'a provoqué l'erreur lorsque je right-clicked sur l'espace de noms par défaut (qui par défaut pour le nom du projet), Refactoriser sélectionnée et puis renommer comme ceci:

image

Qui a fait renommer les choses dans un tas d'endroits dans le projet, mais il ne suffit pas.  Vous devrez également plusieurs autres réglages:

1. Ouvrir et éditer un fichier manuellement, « ShaerPointProjectItem.spdata ». Que XML du fichier qui a un <SafeControls> article.  La fonction rename espace de noms n'est pas au courant de ce fichier pour une raison quelconque, Si vous avez besoin mettre à jour manuellement de la Namespace il.

2. Modifier manuellement le fichier .webpart.  Pour une raison quelconque, Visual Studio ne modifie pas cette référence soit.  Changement de la »<type>« nœud afin de tenir compte de votre espace de noms modifié il.

3. Enfin, Selon la façon dont vous refactorisé le changement d'espace de noms, Visual studio peut avoir également mis à jour la chaîne qui fait référence à votre fichier .ascx ici:

Private const string _ascxPath = @ "~/_CONTROLTEMPLATES ……

Vous devrez peut-être changer cela en retour.  Vous allez car vous obtiendrez une erreur semblable au suivant lorsque vous essayez et ajoutez le composant WebPart à une zone de la partie web sur un  page:

Erreur de serveur dans ' /’ Application.


Le fichier ' /_CONTROLTEMPLATES/Nivlag/VisualWebPart1/VisualWebPart1UserControl.ascx’ n'existe pas.

Description: Une exception non gérée s'est produite pendant l'exécution de la requête web en cours. Veuillez consulter la trace de la pile pour plus d'informations sur l'erreur et où il a pris naissance dans le code.
Détails de l'exception: System.Web.HttpException: Le fichier ' /_CONTROLTEMPLATES/Nivlag/VisualWebPart1/VisualWebPart1UserControl.ascx’ n'existe pas.
Erreur de la source:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

 

Fixer la référence y et vous devriez être bon d'aller.

4. Enfin, le fichier ASCX avait toujours une référence (pour moi) l'espace de noms originaux anciens (la fonction de refactoriser/renommer n'a pas corriger cela).  Vous savez sur cette erreur lorsque vous essayez ajoutez le composant WebPart à la page et le message suivant:

Erreur de serveur dans ' /’ Application.


Erreur de l'analyseur

Description: Une erreur s'est produite pendant l'analyse d'une ressource nécessaire à cette demande de service. Veuillez revoir les détails de l'erreur suivante analyse spécifique et modifier votre fichier de source de manière appropriée.
Message d'erreur analyseur: Pouvait pas charger le type « RenameNameSpace.VisualWebPart1.VisualWebPart1UserControl ».
Erreur de la source:

Ligne 6:  <%@ Import Namespace="Microsoft.SharePoint" %> 
Ligne 7:  <%@ Register Tagprefix = "WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version = 14.0.0.0, Culture = neutral, PublicKeyToken = 71e9bce111e9429c" %>
Ligne 8:  <%@ Control Language = "C#" AutoEventWireup = "true" CodeBehind="VisualWebPart1UserControl.ascx.cs" Inherits="RenameNameSpace.VisualWebPart1.VisualWebPart1UserControl" %>

Fichier source: /_CONTROLTEMPLATES/RenameNameSpace/VisualWebPart1/VisualWebPart1UserControl.ascx    Ligne: 8


Informations de version: Microsoft.NET Framework Version:2.0.50727.4927; ASP.NET Version:2.0.50727.4927

Modifier le fichier .ascx directement et régler l'espace de noms brisé.

À ce point, J'ai enfin eu un composant WebPart dans l'espace de noms de mon choix.

</fin>

S'abonner à mon blog.

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

Point de performance – Il n'est pas juste pour les Geeks BI les plus

J'ai écrit un petit article sur le Point de rendement plus tôt cette semaine et il est vient d'être publié www.sharepointbriefing.com.  Voici l'intro:

 

image

Cliquez ici pour lire l'article.

Je pense que l'expérience de développement de Point de Performance globale est délicate en ce moment, mais il est vraiment accessible.  Dans les versions précédentes, Elle a estimé comme c'était simplement un pont trop loin pour la plupart des gens de SharePoint.  Le nouveau contexte exige d'obtenir vos mains sales, mais quand vous avez sous les couvertures, Il est tout à fait reconnaissable.

</fin>

S'abonner à mon blog.

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