Eksport-SPWeb forteller meg "InvalidData” Men dataene er gyldig

Jeg er i ferd med å skrive en artikkel for de gode menneskene på www.sharepointbriefing.com og det innebærer distribuere en liste fra en utvikling gård til en produksjonsfarm.  Jeg er fortsatt vant til å bruke stsadm og må break som vane, så jeg fyrte opp SharePoint 2010 Management Shell og spilte rundt med eksport-SPWeb for å sikkerhetskopien min liste.  Hva en merkelig vanskelig ting som viste seg å være!

Jeg holdt får denne feil:

image

Denne feilen, "InvalidData: (Microsoft.Share...CmdletExportweb"") var å drepe meg.  Jeg flau på hvor lenge jeg kjempet med dette.

Jeg hadde tidligere kjøre inn i en vegg med PowerShell og brukte stsadm å komme rundt det.  Jeg prøvde det igjen denne gangen og jeg fikk gode resultater.

Jeg tilbrakte mye tid tukle rundt med alternativet –Identity og deretter til slutt med –ItemURL.  Det viser seg at alternativet ItemURL krever en fullstendig bane i listebibliotek du  eksportere uten http://serveren bit.  Så, tross for at argumentet identitet peker til et sekundært webområde, ItemURL er ikke i forhold til identifiserer men i forhold til områdesamlingen.

Det ville vært fint for cmdleten å fortelle meg hva var minimal gyldig (Identitet i dette tilfellet) og hva var ugyldig (ItemUrl).  Disse små tingene hjelpe folk omfavne produktet.  Ikke en stor ding mot SharePoint, but a little one at least 🙂

Forhåpentligvis vil dette innlegget spare noen litt sorg i fremtiden.

</slutten>

Abonner på bloggen min.

Følg meg på Twitter på http://www.twitter.com/pagalvin

Arbeide med TreeNodeBinding i ASP.NET Treeview-kontrollen

Jeg har jobbet på det jeg håper vil bli en snart utgitt CodePlex prosjekt som gir en fin integrert bit av webdeler som snakker til hverandre via leverandør/forbruker tilkoblinger for å utforske et SharePoint-område under dynen.  (Dette er sikkert gjort før, men dette er en læring prosjekt så mye som noe annet).  Dette er ment å være en erstatning for windows Utforsker-visningen av SharePoint 2010 dokumentbiblioteker.

Koden er vanlige rekursiv påkalte Spwebs og SPLists fra en gitt start punkt.  Objektet som gjør at traversering bygger opp en XML-streng som ser omtrent slik ut:

<SiteCollection url =’http://demo2010a:9090′>
 
<Web
     Tittel = "Hei verden sandkasse" 
     Mal = "et område hvor grupper raskt organisere, Forfatter, og dele informasjon, BLAH BLAH BLAH'>

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

     <liste
        Tittel = 'BCC_Notifications' 
        Mal = 'CustomList' 
        ListId =’
http://demo2010a:9090/helloworldsandbox[delim]5a5a13d1-877 c-41 c 0-9063-b9612be80d5e’>
     </liste>

  </Web>

</SiteCollection>

Jeg forventer å rydde opp som XML før alt er sagt og gjort.

Jeg ønsker å få den informasjonen til slutt opp og inn i en Treeview-kontrollen.  Ikke akkurat jord knuste ting.

Utfordringen jeg tok på her var å koble trevisningen til en XML-datakilde kontrollen i stedet for manuelt å bygge opp min TreeNode som jeg traversere treet.  Jeg gjorde dette, delvis fordi jeg bevisst gjør ting vanskeligere på meg selv (Dette er et prosjekt for læring tross alt) og delvis fordi jeg har denne vage forestillingen om at bygge opp trenoder som jeg traversere treet er ikke lurt på lang sikt.

Problemet med denne tilnærmingen er at Treeview-kontrollen ikke vet om god attributtene på interessante nodene som "list" eller "web", slik at den viser dette output som standard:

 

image

Det er ikke nyttig.  Dette er hvor TreeNodeBinding klassen hjelper.  Jeg kan bruke dette til å fortelle Treeview-kontrollen hvordan det skal tolke XML.  Her er et eksempel:

tnb = nye TreeNodeBinding();
tnb.DataMember = "liste"; // Dette er etiketten i xml for et område.
tnb.TargetField = "listid";
tnb.ValueField = "title";
tnb.ToolTipField = "Mal";

Denne bindingen forteller treeview at når den finner en <liste> noden i XML, bruke bindinger for TargetField, ValueField og ToolTipField.  I mai app, Dette kartet som følger:

  • TargetField: Når noen klikker på en nodeverdien, Dette er hva du får for SelectedNode.Value.  Dette er ikke å forveksles med...
  • ValueField: Dette er hva du vil Treeview å vise til brukeren.
  • ToolTipField: Verdien fra XML-filen du vil bruke som et verktøytips.

Legg til at TreeNodebinding i trevisningen databindinger, og du får utgang som dette:

 

image

Jeg vil ha mer på alt dette som jeg fortsette på prosjektet, og til slutt sette dette på Codeplex.

</slutten>

Abonner på bloggen min.

Følg meg på Twitter på http://www.twitter.com/pagalvin

Å finne fantastisk Talent for SharePoint

Her er en artikkel jeg skrev for den gode folket på SharePoint-Briefing tittelen "finne stor SharePoint Talent". Artikkelen forsøker å gi noen råd om hvordan finne virkelig gode og godt erfarne folk når du søker for å utvide dine ansatte.

Her er en teaser:

Teaser

Sjekk det ut.

</slutten>

Abonner på bloggen min.

Følg meg på Twitter på http://www.twitter.com/pagalvin

Sikkerhetskopi-SPSite-cmdlet stille mislykkes når utført med feil tillatelser

Jeg var på en server og kjører en kjedelig områdesamling sikkerhetskopiering kommando med sikkerhetskopi-SPSite-powershell cmdlet og fikk følgende feil:

Sikkerhetskopi-SPSite : Finner ikke et SPSite-objekt med Id eller URL: …  (hele meldingen nedenfor)

image

Jeg har hatt problemer med denne serveren så den fremstilt meg tenke at serveren var syk eller noe.  Jeg byttet til gode gamle stsadm og denne gangen jeg fikk en annen feil:

Denne operasjonen kan utføres på en datamaskin som er koblet til en serverfarm... (hele meldingen nedenfor)

image

selvfølgelig, det det på gården og alt, men det oppstår for meg at jeg var logget på med min egen konto og jeg normalt logge på som en systemkonto på denne serveren.  Jeg gjorde det og sikkerhetskopien lyktes.  Hva jeg finner interessant er at cmdleten ga meg en trimmet feilmelding.  Som ryddig type, men hjelpe ikke meg mye :) 

<slutten />

Abonner på bloggen min.

Følg meg på Twitter på http://www.twitter.com/pagalvin

Rett til fengsel liste – Cisco VPN-klient

Fjor sommer, Jeg laget en "rett til fengsel"-liste for kjøleskap.  #1 listen er Lawrence O'Donnell (for unøyaktig spådommer), men det er langt utover omfanget av denne bloggen :)  I dag, Jeg legger Ciscos VPN-klient til listen, og som i omfanget av en nese.

Mange år siden mange kunder brukes Cisco VPN til å aktivere ekstern tilgang til deres nettsted.  Da, Jeg opprettet virtuelle PCer for klienter og installert Cisco på det? hvorfor?  Fordi Cisco låses maskinen slik at du kan selv bla gjennom lokale nettverksskrivere, si farlig verktøy som Skype, Communicator og "~" nøkkel.  men,  Hvis du installerer den på en VM, VM er låst ned men ikke verten. 

Jeg blir påminnet om disse glansdager i dag fordi jeg måtte bruke en Cisco VPN-klient * igjen * den låser meg og jeg har brukt det i et minutt.  Jeg vil heller blogg om hvor mye Cisco VPN klient fortjener å være i fengsel i stedet for å bruke den...

</slutten>

Abonner på bloggen min.

Følg meg på Twitter på http://www.twitter.com/pagalvin

SharePoint Fest – Denver

Jeg vil snakke i Denver på SharePoint Fest arrangementet mai.  Jeg skal diskutere noen felles bedrift og teknisk ønsker-å-gjøre i SharePoint Designer arbeidsflyter og skissere noen mønstre du kan bruke til å løse dem..

Det er mye andre veldig interessante ting skjer på konferansen, så sjekk den ut: http://www.sharepointfest.com/Denver/

Det er ikke et fritt hendelse og jeg har en rabattkode hendig, så legge igjen en kommentar eller ping meg og jeg vil gjerne gi ut.

</slutten>

Abonner på bloggen min.

Følg meg på Twitter på http://www.twitter.com/pagalvin

Implementere en Global popup varslingssystem

Jeg skrev en artikkel for www.SharePoint.Briefing.com med tittelen"Implementere en Global popup varslingssystem.”  Denne funksjonen ble implementert for en community college kommunisere skolen nedleggelser på grunn av snø og så videre. 

Den bruker en egendefinert liste, esken SharePoint web services og noen jQuery å gjøre arbeidet.

Her er en teaser:

image

Lese hele her: http://www.sharepointbriefing.com/features/article.php/3918471/Implement-a-Global-Pop-up-Notification-System.htm

</slutten>

Abonner på bloggen min.

Følg meg på Twitter på http://www.twitter.com/pagalvin

Koble tekst feltfiltre til din egendefinerte webdel

Jeg ønsket å motta informasjon fra et tekstfelt-filter i SharePoint 2010 i min egendefinerte webdel.  Jeg forsøkt benytter Denne MSDN-artikkelen som en basis, men artikkelen er enten ødelagt eller jeg bare ikke følge det riktig.

Litt mer søker skrudd opp Mike Smiths MSDN-bidrag her (http://social.msdn.microsoft.com/forums/en-us/sharepointdevelopment/thread/72F1732A-7F93-441E-8644-2E82BBB153D9).

Det er mange ting der ute på connectable webdeler men Mikes artikkelen er så enkelt som det blir.

</slutten>

Abonner på bloggen min.

Følg meg på Twitter på http://www.twitter.com/pagalvin

Gi nytt navn til webdel navneområder (Eller, En grunn for "en webdel eller webskjemakontroll på denne siden ikke kan vises eller importeres)”

Jeg har jobbet for å få min dev koteletter tilbake og som avslutter, arbeider på en hobby prosjekt som har følgende biter:

  • Tilkoblede webdelen som mottar et område eller en URL-adresse for område-samlingen fra en ute av boksen tekstfilter for SharePoint-webdel.
  • Denne webdelen slår opp alle info den valgte området, genererer en XML-pakke og hender det av til en annen WP på siden (via-tilkoblinger).
  • 3Rd-webdelen mottar XML og gjør noen XSL-transformering ting.

Jeg ønsket å gi nytt navn til navneområde på alle biter til "Nivlag", og jeg var å komme hit opp med følgende feil når jeg distribuert webdelen til  min testmiljø:

En webdel eller webskjemakontroll på denne siden kan ikke vises eller importeres.  Typen ble ikke funnet, eller den er registrert ikke som sikre.

Dette er en nybegynners problem, men jeg trodde jeg ville døyt ned et notat om dette likevel.  Jeg forårsaket feilen når jeg høyreklikket på standard-navneområde (som som standard prosjektnavnet), valgte Refactor og deretter gi nytt navn på denne måten:

image

Som gi nytt navn ting i en rekke steder i prosjektet, men det er ikke nok.  Du må også gjøre flere andre justeringer:

1. Åpne og redigere en fil manuelt, "ShaerPointProjectItem.spdata". At en XML-fil som har en << SafeControls> delen.  Navneområdet rename-funksjonen er ikke klar over denne filen uansett grunn, så må du oppdatere Namespace det manuelt.

2. Hvis du vil redigere *.WebPart filen manuelt.  Uansett grunn, Visual Studio endrer ikke denne referansen enten.  Endre den "<type>"node for å gjenspeile de endrede navneområdet det.

3. Til slutt, avhengig av hvordan du refactored navneområdet endre, Visual studio kan også oppdatert strengen som refererer til .ascx-fil her:

private const streng _ascxPath = @ "~/_CONTROLTEMPLATES ……

Du må kanskje endre som tilbake.  Du vil, fordi du får en feilmelding lik følgende når du prøve å legge til webdelen til en webdel-sone på en  siden:

Serverfeil inne ' /’ Program.


Filen ' /_CONTROLTEMPLATES/Nivlag/VisualWebPart1/VisualWebPart1UserControl.ascx’ finnes ikke.

Beskrivelse: Det oppstod et ubehandlet unntak under kjøring av gjeldende webforespørsel. Gå gjennom stakksporingen hvis du vil ha mer informasjon om feilen og hvor den oppstod i koden.
Unntaksdetaljer: System.Web.HttpException: Filen ' /_CONTROLTEMPLATES/Nivlag/VisualWebPart1/VisualWebPart1UserControl.ascx’ finnes ikke.
Kildefeil:

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.

 

Fikse referansen det, og du bør være godt å gå.

4. Til slutt, den faktiske ASCX filen fortsatt hadde en referanse (for meg) i gamle opprinnelige navneområdet (refactor/rename-funksjonen fastsette ikke denne).  Du vil vite om denne feilen når du prøve og legge til webdelen på siden, og får følgende melding:

Serverfeil inne ' /’ Program.


Parserfeil

Beskrivelse: Det oppstod en feil under analysering av en ressurs som er nødvendig for å behandle denne forespørselen. Gå gjennom følgende bestemte feildetaljer og endre konfigurasjonsfilen på riktig måte.
Parserfeilmelding: Kan ikke laste typen 'RenameNameSpace.VisualWebPart1.VisualWebPart1UserControl'.
Kildefeil:

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

Kildefilen: /_CONTROLTEMPLATES/RenameNameSpace/VisualWebPart1/VisualWebPart1UserControl.ASCX    Linje: 8


Versjonsinformasjon: Microsoft.Framework versjon:2.0.50727.4927; ASP.NET-versjon:2.0.50727.4927

Redigere .ascx filen direkte og reparere brutte navneområdet.

På dette punktet, Jeg endelig hadde en webdel som bor i navneområdet med mitt valg.

</slutten>

Abonner på bloggen min.

Følg meg på Twitter på http://www.twitter.com/pagalvin

Ytelse-punkt – Det er ikke bare for BI Geeks noen mer

Jeg skrev opp en liten artikkel om ytelse punkt tidligere denne uken og det er nettopp blitt publisert www.sharepointbriefing.com.  Her er intro:

 

image

Klikk her for å lese artikkelen.

Jeg tror at den generelle ytelsen punkt utvikling erfaringen på dette tidspunktet er klosset, men det er definitivt tilgjengelig.  I tidligere versjoner, det føltes som det var bare en bro for langt for de fleste SharePoint.  Det nye miljøet krever få hendene skitne, men når du kommer under dekker, Det er ganske gjenkjennelig.

</slutten>

Abonner på bloggen min.

Følg meg på Twitter på http://www.twitter.com/pagalvin