Export-SPWeb berättar "InvalidData” Men Data är giltigt

Jag håller på att skriva en artikel för den goda människor vid www.sharepointbriefing.com och det handlar om hur du distribuerar en lista från en utveckling gård till en gård för produktion.  Jag är fortfarande vana vid att använda stsadm och måste bryta denna vana, så jag sköt upp SharePoint 2010 Management Shell och spelade omkring med Export-SPWeb för att säkerhetskopiera min lista.  Vad konstigt svår sak som visat sig vara!

Jag höll att få felet:

image

Felet, "InvalidData: (Microsoft.share…CmdletExportweb"") döda mig.  Jag är generad på hur länge jag kämpade med detta.

Jag hade tidigare köra in i väggen med PowerShell och används stsadm att komma runt det.  Jag provat det även denna gång och jag fick bra resultat.

Jag tillbringade mycket tid åt att fixa med alternativet –Identity och sedan slutligen med –ItemURL.  Det visar sig att alternativet ItemURL kräver en fullständig sökväg i listan/bibliotek du  vill exportera utan http://servern bit.  Så, Trots det faktum att argumentet identitet pekar på en underwebbplats, ItemURL är inte förhållande till att identifiera men förhållande till webbplatssamlingen.

Det skulle ha varit trevligt för cmdlet berätta vad var minimalt giltig (Identitet i detta fall) och vad var ogiltig (ItemUrl).  Dessa lite finputsning hjälpa människor att anamma produkten.  Inte en stor ding mot SharePoint, but a little one at least 🙂

Förhoppningsvis kommer att här inlägget spara någon lite sorg i framtiden.

</slutet>

Prenumerera på min blogg.

Följ mig på Twitter vid http://www.twitter.com/pagalvin

Arbeta med TreeNodeBinding i ASP.NET Treeview-kontrollen

Jag har arbetat på vad jag hoppas kommer att vara en snart släppt CodePlex projekt som ger lite trevlig integrerade webbdelar tala med varandra via leverantör/konsumenten anslutningar för att utforska en SharePoint-webbplats under omslag.  (Detta har verkligen gjorts före, men detta är ett lärande projekt så mycket som något annat).  Detta är menat att vara en ersättning för windows explorer-vy av SharePoint 2010 dokumentbibliotek.

Koden har det vanliga rekursivt kalla ned SPWeb och SPLists från en viss börjar peka.  Objektet som inte alla att närheten bygger upp en XML-sträng som ser ut så här:

<sitecollection url =’http://demo2010a:9090′>
 
<Web
     Title = "Hello World sandlåda" 
     Mallen = "en webbplats att snabbt ordna, författare, och dela information, BLA BLA BLA ">

     <lista
        Titel ='BCC_Health_Services_FAQs’
        Mallen ='CustomList’
       
ListId =’http://demo2010a:9090/helloworldsandbox[delim]1e02b001-3cb2-4f17-b63d-7809e86b4174′>
    
</lista>

     <lista
        Title = "BCC_Notifications" 
        Mallen = "CustomList" 
        ListId =’
http://demo2010a:9090/helloworldsandbox[delim]5a5a13d1-877 c-41 c 0-9063-b9612be80d5e’>
     </lista>

  </Web>

</sitecollection>

Jag förväntar mig att rensa upp som XML innan allt är sagt och gjort.

Jag vill slutligen få informationen upp och in i en Treeview-kontrollen.  Inte exakt jorden krossas grejer.

Jag tog den här utmaningen var att ansluta trädvyn till en XML-datakälla kontroll i stället för manuellt bygga upp mina treenodes som jag bläddra i trädet.  Jag gjorde detta delvis på grund av att jag avsiktligt gör saker svårare på mig själv (Det är ju ett lärande projekt) dels för att jag har denna vaga idén att bygga upp trädnoder som jag bläddra i trädet är inte bra på lång sikt.

Problemet med detta tillvägagångssätt är att Treeview-kontrollen inte vet om de goda attribut på intressanta noderna som "lista" eller "web" så att det visar denna produktion som standard:

 

image

Det är inte användbart.  Det är där klassen TreeNodeBinding hjälper.  Jag kan använda detta tala Treeview-kontrollen hur det bör tolka XML.  Här är ett exempel:

tnb = nya TreeNodeBinding();
tnb.DataMember = "lista"; // Är detta etiketten i xml för en webbplats.
tnb.TargetField = "listid";
tnb.ValueField = "titel";
tnb.ToolTipField = "Mall";

Denna bindning berättar TreeView-kontrollen att när den hittar en <lista> noden i XML, tillämpa bindningarna för TargetField, ValueField och ToolTipField.  I maj app, dessa karta som följer:

  • TargetField: När någon klickar på en nodvärde, Detta är vad du får för SelectedNode.Value.  Detta skall inte förväxlas mot…
  • ValueField: Detta är vad du vill TreeView-kontrollen ska visas för användaren.
  • ToolTipField: Värdet från XML-filen som du vill använda som en knappbeskrivning.

Lägga till att TreeNodebinding i trädvyn DataBindings och du får utdata såhär:

 

image

I have mer om allt detta som jag fortsätta på projektet och så småningom sätta detta på Codeplex.

</slutet>

Prenumerera på min blogg.

Följ mig på Twitter vid http://www.twitter.com/pagalvin

Att hitta stora SharePoint talang

Här är en annan artikel som jag skrev för den goda människor vid SharePoint Briefing rätt "att hitta stora SharePoint talang". Artikeln försöker ge några råd om hur att hitta riktigt bra och väl erfarna människor när du är ute efter för att expandera din personal.

Här är en teaser:

Teaser

Kolla in.

</slutet>

Prenumerera på min blogg.

Följ mig på Twitter vid http://www.twitter.com/pagalvin

Säkerhetskopiering-SPSite cmdlet utan förvarning misslyckas när körs med felaktiga behörigheter

Jag var på en server och kör en tråkig webbplats samling kommandot Säkerhetskopiera med Backup-SPSite powershell cmdlet och fick följande fel:

Säkerhetskopiering-SPSite : Kan inte hitta ett SPSite objekt-Id eller URL: …  (hela meddelandet nedan)

image

Jag har haft problem med servern så det fick mig att tro att servern var sjuka eller något.  Jag växlat till goda gamla stsadm och denna gång fick jag ett annat fel:

Den här åtgärden kan endast utföras på en dator som är ansluten till en servergrupp … (hela meddelandet nedan)

image

Självklart, det det på gården och alla som, men det mig att jag var inloggad med mitt eget konto och jag normalt logga in som ett systemkonto på denna server.  Jag gjorde det och säkerhetskopian lyckades.  Vad jag tycker är intressant är att cmdlet gav mig ett säkerhetsmeddelande trimmade fel.  Det är typ av snyggt men hjälpte mig mycket :) 

<slutet />

Prenumerera på min blogg.

Följ mig på Twitter vid http://www.twitter.com/pagalvin

Direkt till fängelse lista – Cisco VPN-klient

Förra sommaren, Jag skapade en "direkt till fängelse"-lista för kylskåpet.  #1 på listan är Lawrence O'Donnell (för felaktiga prognoser), men det är långt utöver omfattningen av denna blogg :)  Idag, Jag lägger med Ciscos VPN-klient till listan, och det är i omfattningen av en näsa.

En massa år sedan många av klienter används Cisco VPN för att aktivera fjärråtkomst till deras webbplats.  Då, Jag skapade virtuella datorer för varje av dessa klienter och installerat Cisco på som? Varför?  Eftersom Cisco låser datorn så att du inte ens bläddra lokala nätverksskrivare, än mindre farliga verktyg som Skype, Communicator och "~" nyckel.  Men,  Om du installerar det på en VM, din VM är låst men inte din värd. 

Jag påminns om de glansdagar idag eftersom jag måste använda en Cisco VPN-klient * igen * och det låser mig och jag har att använda det i en minut.  Jag skulle snarare blogg om hur mycket Cisco VPN-klient förtjänar att vara i fängelse i stället för att använda den...

</slutet>

Prenumerera på min blogg.

Följ mig på Twitter vid http://www.twitter.com/pagalvin

SharePoint Fest – Denver

Jag kommer att tala i Denver vid händelsen SharePoint Fest den maj.  Jag kommer att diskutera vissa gemensamma företag och teknisk vill-att-göra i SharePoint Designer arbetsflöden och beskriva vissa mönster som du kan använda för att lösa dem..

Det finns massor av andra mycket intressanta saker som pågår vid konferensen, så Kolla in: http://www.sharepointfest.com/Denver/

Det är inte en fri händelse och jag har en händig rabattkod, så lämna en kommentar eller ping mig och jag kommer gärna ge ut.

</slutet>

Prenumerera på min blogg.

Följ mig på Twitter vid http://www.twitter.com/pagalvin

Genomföra ett globalt System för popup-anmälan

Jag skrev upp en artikel för www.SharePoint.briefing.com rätt"Genomföra ett globalt System för popup-anmälan.”  Den här funktionen implementerades för ett community college att kommunicera skolan stängningarna beror på snö och så vidare. 

Den använder en anpassad lista, i rutan SharePoint web services och några jQuery att göra arbetet.

Här är en teaser:

image

Läs hela saken här: http://www.sharepointbriefing.com/features/article.php/3918471/Implement-a-Global-Pop-up-Notification-System.htm

</slutet>

Prenumerera på min blogg.

Följ mig på Twitter vid http://www.twitter.com/pagalvin

Anslutande Text Fältfilter till din anpassade webbdel

Jag ville ta emot information från ett textfält filter i SharePoint 2010 i min egen webbdel.  Jag försökte med hjälp här MSDN-artikeln som grund men artikeln är antingen trasig eller jag bara inte följer det korrekt.

Lite mer forskande uppskruvad Mike Smith MSDN bidrag Här (http://social.msdn.microsoft.com/forums/en-us/sharepointdevelopment/thread/72F1732A-7F93-441E-8644-2E82BBB153D9).

Det finns en massa saker ute på anslutningsbara webbdelar men Mikes artikel är lika enkelt som det blir.

</slutet>

Prenumerera på min blogg.

Följ mig på Twitter vid http://www.twitter.com/pagalvin

Byta namn på Web del namnområden (Eller, Ett skäl för "en webbdel eller webbformulärkontroll på den här sidan inte kan visas eller importeras)”

Jag har arbetat för att få min dev mandelmassa tillbaka och i detta syfte, arbetar på ett hobby-projekt som har följande bitar:

  • Ansluten webbdel som tar emot en webbplats eller webbplats samling URL från en ut i rutan SharePoint Text filterwebbdel.
  • Den här webbdelen letar upp all information den valda platsen, genererar ett XML-paket och händer det ut till en annan WP på sidan (via anslutningar).
  • 3rd webbdelen tar emot XML och gör vissa XSL omvandla grejer.

Jag ville byta namn på namnutrymme alla bitar att "Nivlag" och jag var att få hit med följande fel när jag distribuerat webbdelen  min testmiljö:

En webbdel eller webbformulärkontroll på den här sidan kan inte visas eller importeras.  Typ kunde inte hittas eller den har registrerats inte som säker.

Detta är en nybörjare problem men jag trodde att jag skulle skriva ned en anteckning om detta ändå.  Jag orsakade felet när jag högerklickade på standard namn space (som standard projektnamnet), markerade Refactor och sedan byta namn på så:

image

Som byta namn på saker i ett gäng platser i projektet, men det räcker inte.  Du måste också göra flera andra justeringar:

1. Öppna och redigera en fil manuellt, "ShaerPointProjectItem.spdata". Att en XML-fil som har ett <SafeControls> avsnitt.  Funktionen Byt namn namnområde inte är medvetna om denna fil av någon anledning, så du måste manuellt uppdatera Namespace det.

2. Redigera filen .webpart manuellt.  Av någon anledning, Visual Studio ändrar inte denna hänvisning antingen.  Ändra den "<typ>"nod att återspegla förändrade namnområdet det.

3. Slutligen, beroende på hur du refactored namnområdet ändra, Visual studio får har också uppdaterat den sträng som refererar till filen .ascx här:

privata konstanten sträng _ascxPath = @ "~/_CONTROLTEMPLATES ……

Du kan behöva ändra det tillbaka.  Ska du eftersom du får ett felmeddelande av följande slag när du försöker lägga till en webbdel i en webbdelszon på en  sida:

Servaren misstag i ' /’ Ansökan.


Filen "/_CONTROLTEMPLATES/Nivlag/VisualWebPart1/VisualWebPart1UserControl.ascx’ finns inte.

Beskrivning: Ett ohanterat undantag uppstod under körningen av den aktuella webbegäran. Vänligen granska stackspårningen för mer information om felet och var det uppstod i koden.
Undantag Detaljer: System.Web.HttpException: Filen "/_CONTROLTEMPLATES/Nivlag/VisualWebPart1/VisualWebPart1UserControl.ascx’ finns inte.
Källkod fel:

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.

 

Åtgärda referensen det och du bör vara bra att gå.

4. Slutligen, den faktiska ASCX filen fortfarande hade en referens (för mig) i gamla ursprungliga namnområdet (funktionen refactor/Byt namn åtgärda inte detta).  Du vet om det här felet när du försöker lägga till en webbdel på sidan och få följande meddelande:

Servaren misstag i ' /’ Ansökan.


Parsningsfel

Beskrivning: Ett fel uppstod vid parsningen av en resurs som krävs för att utföra den här begäran. Granska följande specifika parse fel uppgifter och ändra ditt källfilen på lämpligt sätt.
Tolken felmeddelande: Kunde inte ladda typ "RenameNameSpace.VisualWebPart1.VisualWebPart1UserControl".
Källkod fel:

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

Källfil: /_CONTROLTEMPLATES/RenameNameSpace/VisualWebPart1/VisualWebPart1UserControl.ascx    Linje: 8


Versionsinformation: Microsoft.NET Framework Version:2.0.50727.4927; ASP.NET Version:2.0.50727.4927

Redigera filen .ascx direkt och åtgärda brutna namnområdet.

Vid denna punkt, Slutligen hade jag en webbdel som lever i namnområdet för mitt val.

</slutet>

Prenumerera på min blogg.

Följ mig på Twitter vid http://www.twitter.com/pagalvin

Performance Point – Det är inte bara för BI nördar något mer

Jag skrev upp en liten artikel om PerformancePoint tidigare i veckan och det är just publicerats www.sharepointbriefing.com.  Här är intro:

 

image

Klicka här för att läsa artikeln.

Jag tror att den övergripande prestanda punkt utveckling erfarenheten är obekväma vid denna tidpunkt, men det är definitivt tillgänglig.  I tidigare versioner, Det kändes som det var helt enkelt en bro för mycket för de flesta SharePoint.  Den nya miljön kräver att få händerna smutsiga, men när du får under täcket, Det är ganska kända.

</slutet>

Prenumerera på min blogg.

Följ mig på Twitter vid http://www.twitter.com/pagalvin