Månedlige Arkiver: Februar 2011

Endre kolonnen områdegrupper i SharePoint Designer 2010

Jeg opprettet en slew av områdekolonner ved hjelp av SharePoint Designer 2010 Denne morgenen og innså at jeg hadde gitt dem gruppen på feil.  Det var embarrassingly vanskelig å finne ut.  Jeg visste ikke hvor du skal klikke...

image

Jeg holdt ønsker å dobbel falle i staver raden seg selv, eller velg knappen kolonneinnstillinger på båndet.

Som det viser seg, det riktige svaret (eller minst ett riktig svar) er å enkelt klikk på selve gruppen.  Vent et øyeblikk og deretter det gjør det mulig å angi en verdi, som vist:

image

Ganske enkelt når du vet hva de skal gjøre, men det eluded meg for litt.

</slutten>

Abonner på bloggen min.

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

Manuelt redigere SPD XOML-filen for å rydde opp variabler

I dette innlegget her ("Få svar tilbake fra Start godkjenning prosessen aktivitet"), Jeg nevnte at du ved et uhell kan legge til en hel slew av arbeidsflytvariabler i SharePoint Designer arbeidsflyten.  Ting kan fort bli rotete og vanskelig å lese.  Spesielt, Hvis du legger til "Start godkjenning prosessen aktivitet" handlingen arbeidsflyten, slette den og legge den til igjen, du ender opp med alle at aktiviteten arbeidsflytvariabler to ganger. 

Det er en reell smerte for å gå gjennom og slette alle de manuelt, så jeg om jeg ville prøve å fjerne dem direkte fra XOML-filen.  Dette viste seg for å være enkelt nok å gjøre. 

Første, du trenger å finne den faktiske XOML-filen.  Jeg skrev om dette emnet her: http://www.mstechblogs.com/paul/how-to-find-and-edit-spd-2010-workflow-xoml-files.  En gang grunnlegge, Åpne opp XOML-filen og Finn en variabel som du vil fjerne.  I dette tilfellet, Jeg lagt "Starte godkjenningsprosessen"-aktiviteten til min arbeidsflyt to ganger.  Jeg vil fjerne en arbeidsflyt variabel kalt "isItemApproved" siden den brukes ikke lenger, og det er en duplicate variabel kalt "isItemApproved1". 

Bare gjøre en tekst etter variabelen.  Skjermbildet ser slik ut:

image 

Hvis du søker rundt i XOML-filen, du vil se at "IsItemApproved1" brukes i mange forskjellige steder, mens den opprinnelige "IsItemApproved" er bare definert en gang og aldri brukt.

Slette den og deretter lagre filen.

Den bare vanskelige delen er at jeg hadde egentlig lukke ut SPD helt og åpner den på nytt før SPD erkjent at feltet slettet.

selvfølgelig, slette felt er ikke det eneste du kan gjøre med XOML, og jeg kan blogg om andre emner som dette i fremtiden.

Du vil være svært forsiktig med hva du gjør her og ta sikkerhetskopier av arbeidet ditt.  Du kan gjøre en tilsynelatende mindre / subtil endring her som trashes arbeidsflyten så langt SPD er opptatt, og du kan miste timer arbeid mens du bygger det opp på nytt.

</slutten>

Abonner på bloggen min.

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

Hvordan du finner og redigere SPD 2010 Arbeidsflyt XOML-filer

Jeg var forsker på en enkel måte å fjerne en haug med arbeidsflytvariabler uten å bruke min ettermiddag i en full blåst SPD Klikk tortur økt.  Min tanke var å redigere XOML direkte, som er en XML-fil underliggende SPDS deklarativ arbeidsflyter.  Dette er hvordan jeg fant det.

Første, gå til alternativet alle filer under Site-Objects i navigasjon.  Trenger du riktig tillatelse til å vise dette, så hvis det mangler for deg, appellere til den høyre admin personen til å gi deg priv.  Dette er hvordan det ser ut:

image

 

Alle filer som viser en liste over … alle filene:

image

Velg mappen arbeidsflyter og ser du en liste over mapper for hver arbeidsflyt:

image

Klikker inn i riktig mappe og  Du kan se en liste over alle de interessante godbitene som utgjør en deklarativ SPD-arbeidsflyt.  Rett falle i staver opp på xoml-filen og velg "Åpne med –> SharePoint Designer (Åpne som XML)"Hvis du vil redigere XOML direkte:

image

Du bør gjøre en manuell sikkerhetskopiering før du fele med ting.  En vanlig avskrift/pasta av filen direkte i SPD er sannsynligvis god nok, eller du kan kopiere lime inn hele teksten i XML og lagre den på skrivebordet ditt, eller hva er din wont i disse tilfellene.

</slutten>

Abonner på bloggen min.

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

Få svar tilbake fra den prosessen startaktivitet godkjenning

Jeg har spilt med SharePoint Designer arbeidsflyten fancy nye "Starte godkjenningsprosessen" aktivitet og ble raskt stymied fordi jeg ikke kunne svare på spørsmålet én gang, "var det godkjent eller ikke?”. 

Det korte svaret er at det er ganske enkelt å få svar.  Når du legger til denne aktiviteten din hovedregel arbeidsflyt, SPD legger til en bazillion-variabler i arbeidsflytvariabler og parametere-datakilde, som du ser her:

SNAGHTML2350fe72

Du vil også oppmerksom på at hvis du legger til mer enn én av disse, SPD legger en "1" og så videre til alle variablene. 

Jeg fant ut at når jeg slettet den første "Starte godkjenningsprosessen"-aktiviteten, det første settet med tilknyttede arbeidsflyt variabler forble (Dessverre).  Så, være forsiktig med hvordan du bruker dette fordi ellers, du vil ende opp med  en veldig rotete liste over arbeidsflytvariabler.

Jeg gir Microsoft kreditt for at du følger navnekonvensjonen "er" for en boolsk variabel.  Denne konvensjonen gjør det ganske klart hva slags data er ment for å være det.

I forskning, Jeg fant dette nyttig artikkelen: http://office.microsoft.com/en-us/sharepoint-designer-help/workflow-actions-in-sharepoint-designer-2010-a-quick-reference-guide-HA010376961.aspx.  Det virkelig adressen ikke dette bestemte problemet, men har noen god informasjon om emnet, slik at jeg ville gå dit Hvis du vil lære mer om dette spesifikke aktiviteten og sideordnede.

</slutten>

Abonner på bloggen min.

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

SharePoint Designer 2010 Funksjonen rest

Jeg jobber ut noen Logg der ansatte kan be om ferie, sykefravær, osv.. En valideringsregel krever at du må be alltid om tid av 4 timen intervaller.  Dette er enkelt nok å gjøre-bruke en modulo funksjon.  Modulus funksjonen forteller deg resten i divisjon.  Hvis det er ingen resten, modulus er null, ellers, Det er alt som er igjen.  For eksempel, 8 mod 4 = 0 (8 / 4 = 2 med ingen brøk).  på den andre siden, 8 mod 5 er 3.

Jeg trengte å gjøre dette en gang med SPD 2007 en gang og jeg faktisk endte opp med å bruke et InfoPath-skjema til å løse, så det ble behandlet på front end samtidig.  I det aktuelle tilfellet, Det kan være et InfoPath-skjema i bildet, men det er ikke klart ennå.  Så, Jeg jobbet ut en teknikk for å sikre at gang forespørsler er alltid i 4 timeintervaller.  Jeg skulle gjøre regnestykket, lagre den i en streng, og deretter gjøre noen inneholder en delstreng ting. 

Jeg trekke opp SPD 2010 og til min overraskelse (og litt forlegenhet) Det er en modulo funksjonen allerede:

image

Jeg er igjen hyggelig overrasket over at noe jeg trengte er allerede der ute av boksen.  Det synes som en merkelig funksjon for Microsoft å inkludere i miksen.  Den har en slags "Dette er lett, så la oss kaste den i"følelse.  Jeg sympatiserer med det, som jeg gjøre det selv hele tiden.  CodePlex prosjektet har en haug med små funksjoner som følge av ItsEasy prinsippet.  På samme tid, Microsoft fortsetter å støtte bevis "95% av veien" effekten med produktet.  De implementere funksjonen, men ikke funksjonen AVRUND, for eksempel.

</slutten>

Abonner på bloggen min.

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

CodePlex Project – SP2010 Explorer

Som en del av et pågående forsøk på å lære de tekniske lavt nivå detaljene for SharePoint 2010, Jeg har opprettet en "SharePoint Explorer"slags verktøy.  Ideen er ikke ny.  Jeg brukte dette prosjektet mer enn én gang: http://sharepointexplorer.codeplex.com/.  Min idé er å lage en SharePoint versjon at bruker koblet webdeler til å vise alle lavnivå detaljene at objektmodellen kan gi. 

Denne bloggen fungerer som både en kunngjøring av prosjektet samt en samtale for frivillige.  Hvis du er interessert i å jobbe på dette prosjektet, gi meg beskjed via e-post (Galvin.Paul@gmail.com) og vi vil jobbe den ut.

Her er prosjektet: http://sp2010explorer.codeplex.com/

</slutten>

Abonner på bloggen min.

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

SharePoint Designer 2007 Arbeidsflyt utvidelser CodePlex Project

Jeg setter sammen mitt andre CodePlex-prosjekt (detaljer for å bli annonsert på onsdag i denne uken, pluss eller minus) og jeg hadde en titt på mitt første prosjekt, "SharePoint Designer arbeidsflyt Extensions". Jeg var sjokkert og flau å se at det er blitt lastet ned over 4,800 ganger:

image

Jeg har glemt i utgangspunktet om dette prosjektet i sist 12 måneder. Jeg flau fordi jeg egentlig har forlatt den.

Jeg skal ha en annen se og minner meg om hva det handler om.

Hvis noen er interessert i å jobbe på dette, gi meg beskjed og vi vil se om samarbeid om det. 4,800 nedlastinger er ikke et gigantisk beløp, men det er mer enn jeg noensinne realisert og det er nok verdt litt innsats plukke den opp og bære det frem.

</slutten>

Abonner på bloggen min.

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

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