Månedligt arkiv: Februar 2011

Ændre kolonne webstedsgrupper i SharePoint Designer 2010

Jeg skabt en masse kolonner ved hjælp af SharePoint Designer 2010 her til morgen, og indså, at jeg havde givet dem alle de forkerte gruppe.  Det var pinligt svært at regne ud.  Jeg vidste ikke, hvor du skal klikke...

image

Jeg holdt ønsker at dobbeltklikke på rækken, sig selv eller klik på knappen Indstillinger for kolonne i båndet.

Da det viser sig, det korrekte svar (eller i det mindste ét korrekt svar) er til enkelt klik på gruppen selv.  Vent et øjeblik og derefter det vil tillade dig at indtaste en værdi, som vist:

image

Temmelig nemt, når du ved hvad de skal gøre, men det undgik mig for lidt.

</slutningen>

Abonner på min blog.

Følg mig på kvidre på http://www.twitter.com/pagalvin

Manuelt redigere SPD XOML fil at rense variabler

I dette indlæg her ("Getting svar tilbage fra Start godkendelse proces aktivitet"), Jeg nævnte, at du ved et uheld kan tilføje en hele slog af arbejdsproces variabler din SharePoint Designer arbejdsprocessen.  Ting kan hurtigt blive rodet og svær at læse.  Specifikt, Hvis du føjer handlingen "Start godkendelse proces aktivitet" til din arbejdsproces, slette det og tilføje det igen, du ender op med alle af den paagaeldende virksomhed workflow variabler to gange. 

Det er en reel smerte til at gå igennem og slette alle dem manuelt, så jeg selvom jeg ville prøve at fjerne dem direkte fra XOML-filen.  Dette viste sig for at være nemt nok at gøre. 

Første, Du skal finde den faktiske XOML-filen.  Jeg skrev om dette emne her: http://www.mstechblogs.com/paul/how-to-find-and-edit-spd-2010-workflow-xoml-files.  Når fundet, åbne XOML-filen og Find en variabel, du vil fjerne.  I dette tilfælde, Jeg tilføjet "Starte godkendelsesprocessen" aktivitet til min arbejdsgang to gange.  Jeg ønsker at fjerne en arbejdsproces variabel opkaldt "isItemApproved", da det ikke længere anvendes og der er en dublet variabel med navnet "isItemApproved1". 

Simpelthen gøre en tekstsøgning for variablen.  Min raster ser sådan ud:

image 

Hvis du søger rundt i XOML-filen, du vil se, at "IsItemApproved1" bruges i mange forskellige steder, mens den oprindelige "IsItemApproved" er kun defineret én gang og aldrig brugt.

Slette det og derefter gemme filen.

Den kun tricky del er, at jeg skulle faktisk lukke ud SPD helt og åbne det igen før SPD erkendte, at feltet slettet.

Selvfølgelig, slette felter er ikke det eneste du kan gøre med XOML og jeg kan blog om andre emner som dette i fremtiden.

Du skal være meget forsigtig med, hvad du gør her og tage backup af dit arbejde.  Du kan gøre et tilsyneladende mindre / subtile ændring her at trashes arbejdsproces så vidt SPD er bekymret og du kunne miste timer indsats mens du genopbygge det.

</slutningen>

Abonner på min blog.

Følg mig på kvidre på http://www.twitter.com/pagalvin

Hvordan til at finde og redigere SPD 2010 Arbejdsprocessen XOML filer

Jeg forsker en nem måde at fjerne en flok arbejdsproces variabler uden at skulle bruge min eftermiddag i en fuld blæste SPD Klik tortur session.  Min tanke var at redigere XOML direkte, som er XML-filen underliggende SPDS deklarativ arbejdsprocesser.  Dette er, hvordan jeg fandt det.

Første, gå til indstillingen alle filer under stedet objekter i Navigation.  Du har brug for passende tilladelser til at se dette, så hvis det mangler for dig, appellere til den rigtige admin person til at give dig priv.  Dette er, hvad det ligner:

image

 

Alle filer viser en liste over... alle filer:

image

Vælg mappen arbejdsgange og du se en liste over mapper for hver arbejdsproces:

image

Klik i den korrekte mappe og  du se en liste over alle de interessante godbidder, der udgør en SPD deklarativ arbejdsproces.  Højreklik på .xoml-filen og vælg "Åbn med-> SharePoint Designer (Åbn som XML)"til at redigere XOML direkte:

image

Kan du lave en manuel backup før du rode med ting.  En regelmæssig copy/paste af filen direkte i SPD er nok godt nok, eller du kan kopiere indsætte hele XML-teksten og gemme det på dit skrivebord eller hvad er din plejer i disse tilfælde.

</slutningen>

Abonner på min blog.

Følg mig på kvidre på http://www.twitter.com/pagalvin

Få svar tilbage fra Start godkendelse proces aktivitet

Jeg har spillet med SharePoint Designer arbejdsprocessens fancy nye "Starte godkendelsesprocessen" aktivitet og hurtigt blev forpurret, fordi jeg straks ikke kunne besvare spørgsmålet, "blev det godkendt eller ikke?”. 

Det korte svar er det ganske let at få svaret.  Når du føjer denne aktivitet til dine vigtigste arbejdsproces, SPD tilføjer en bazillion variabler til arbejdsprocessen variabler og parametre-datakilde, som du kan se her:

SNAGHTML2350fe72

Du vil også bemærke, hvis du tilføjer mere end én af disse, SPD føjer et "1" og så videre til alle variabler. 

Jeg fandt, at når jeg har slettet den første "Starte godkendelsesprocessen" aktivitet, det første sæt af tilknyttede arbejdsproces variabler forblev (Desværre).  Så, Pas på, hvordan du bruger dette fordi ellers, du vil ende op med  en meget rodet liste over arbejdsprocessen variabler.

Jeg giver Microsoft kredit for at følge den "er" navngivningskonvention for en boolesk variabel.  Konventionen gør det temmelig klart, hvilken type data der formodes for at være der.

I forske, Jeg fandt denne nyttige artikel: http://office.microsoft.com/en-us/sharepoint-designer-help/workflow-actions-in-sharepoint-designer-2010-a-quick-reference-guide-HA010376961.aspx.  Det gør ikke rigtig adresse dette specifikke spørgsmål, men har nogle gode oplysninger om emnet, så jeg vil gå der, hvis du ønsker at lære mere om denne specifikke aktivitet og sine søskende.

</slutningen>

Abonner på min blog.

Følg mig på kvidre på http://www.twitter.com/pagalvin

SharePoint Designer 2010 REST funktion

Jeg arbejder ud nogle log, hvor medarbejdere kan anmode om ferie, sygedage, osv. En valideringsregel kræver, at du altid skal anmode tid ud i 4 timers mellemrum.  Det er let nok at – brug en modulo funktion.  Modulo funktion fortæller du resten i division.  Hvis der ikke er en rest, modulo er nul, ellers, Det er, hvad der er tilbage.  For eksempel, 8 mod 4 = 0 (8 / 4 = 2 med ingen brøk).  På den anden side, 8 mod 5 er 3.

Jeg havde brug at gøre dette én gang med SPD 2007 engang og jeg faktisk endte med at bruge en InfoPath-formular til at løse, så det blev håndteret på den forreste ende på tidspunktet.  I det aktuelle tilfælde, der kan være en InfoPath-formular i billedet, men det er ikke klart endnu.  Så, Jeg arbejdede ud en teknik til at sikre tidspunktet anmodninger er altid i 4 timers intervaller.  Jeg skulle til at gøre math, Gem det i en streng og derefter gøre nogle understreng ting. 

Jeg trækker op SPD 2010 og til min overraskelse (og en lille forlegenhed) der er en modulus funktion allerede:

image

Jeg er igen positivt overrasket over, at noget jeg havde brug for er allerede der ud af kassen.  Det virker som en underlig funktion for Microsoft at inkludere i mix.  Det har en slags "Dette er let, så lad os smide det "føler for det..  Jeg sympatiserer med det, som jeg gøre det selv hele tiden.  Dette CodePlex projekt har en masse små funktioner, der skyldes ItsEasy princippet.  På samme tid, Microsoft fortsætter med at støtte beviser "95% af måde" effekt med produktet.  De gennemfører funktionen rest, men ikke funktionen AFRUND, for eksempel.

</slutningen>

Abonner på min blog.

Følg mig på kvidre på http://www.twitter.com/pagalvin

CodePlex projekt – SP2010 Explorer

Som en del af et igangværende forsøg på at få de tekniske lavt niveau oplysninger om SharePoint 2010, Jeg har oprettet en "SharePoint Explorer"slags værktøj.  Idéen er ikke ny.  Jeg brugte dette projekt mere end én gang: http://sharepointexplorer.codeplex.com/.  Min idé er at skabe en SharePoint version, bruger tilsluttet webdele for at vise alle de lavniveau detaljer at objektmodellen kan give. 

Dette blog-indlæg tjener som både en annoncering af projektet samt en opfordring til frivillige.  Hvis du er interesseret i at arbejde på dette projekt, Lad mig vide via e-mail (Galvin.Paul@gmail.com) og vi vil arbejde ud.

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

</slutningen>

Abonner på min blog.

Følg mig på kvidre på http://www.twitter.com/pagalvin

SharePoint Designer 2007 Arbejdsproces udvidelser CodePlex projekt

Jeg stiller sammen mit andet CodePlex projekt (detaljer for at blive annonceret på onsdag i denne uge, plus eller minus) og jeg havde et kig på min første projekt, "SharePoint Designer arbejdsprocessen udvidelser". Jeg var chokeret og flov over at se, at det er blevet downloadet over 4,800 gange:

image

Jeg glemte dybest set om dette projekt i sidst 12 måneder. Jeg er flov over, fordi jeg har stort set opgivet det.

Jeg vil have en anden ser og minde mig selv om, hvad det er alle om.

Hvis nogen er interesseret i at arbejde på dette, Lad mig det vide og vi vil se om samarbejde på det. 4,800 downloads er ikke en kæmpe mængde, men det er mere end jeg nogensinde indså og det er nok værd at nogle indsats afhente det og gennemføre det fremad.

</slutningen>

Abonner på min blog.

Følg mig på kvidre på http://www.twitter.com/pagalvin

Eksport-SPWeb fortæller mig "InvalidData” Men Data, der er gyldig

Jeg er ved at skrive en artikel til de gode folk på www.sharepointbriefing.com og det drejer sig om installation af en liste fra en udvikling gård til en gård ved produktion.  Jeg er stadig vant til at bruge stsadm og har brug at bryde vane, så jeg fyrede op til SharePoint 2010 Administrationsshell og spillede rundt ved hjælp af eksport-SPWeb til backup af min liste.  Sikke en underlig vanskelige ting, der viste sig at være!

Jeg holdt fik denne fejl:

image

Denne fejl, "InvalidData: (Microsoft.Share...CmdletExportweb"") var aflivning mig.  Jeg er flov på hvor længe jeg kæmpede med dette.

Jeg havde tidligere løbe ind i en mur med PowerShell og brugte stsadm at komme udenom.  Jeg prøvede det igen denne gang og jeg fik gode resultater.

Jeg brugte en masse tid roder rundt med indstillingen –Identity og derefter til sidst med –ItemURL.  Det viser sig, at indstillingen ItemURL kræver en fuld sti liste/bibliotek du  vil eksportere uden http://Server bit.  Så, trods det faktum, at argumentet identitet peger på et underordnet websted, ItemURL er ikke i forhold til at identificere, men i forhold til gruppen af websteder.

Det ville have været rart for cmdlet-kommandoen til at fortælle mig, hvad var minimalt gyldig (Identitet i dette tilfælde) og hvad er ugyldigt (ItemUrl).  Disse små finesser hjælpe folk omfavne produktet.  Ikke en stor ding mod SharePoint, but a little one at least 🙂

Forhåbentlig vil dette indlæg spare nogen en smule af sorg i fremtiden.

</slutningen>

Abonner på min blog.

Følg mig på kvidre på http://www.twitter.com/pagalvin

Arbejder med TreeNodeBinding i ASP.NET Treeview kontrol

Jeg har arbejdet på hvad jeg håber bliver en snart frigivet CodePlex projekt, der giver en flot integreret bit af webdele taler til hinanden via udbyder og forbruger forbindelser med henblik på at udforske et SharePoint-websted under dynen.  (Dette er helt sikkert blevet gjort før, men det er en læring projekt så meget som noget andet).  Dette er tænkt som en erstatning for windows Stifindervisning af SharePoint 2010 dokumentbiblioteker.

Koden har den sædvanlige rekursive kalde ned SPWeb og SPLists fra en given startende punkt.  Det objekt, der gør alle der gennemkører opbygger en XML-streng, der ser noget som dette:

<SiteCollection url =’http://demo2010a:9090′>
 
<Web
     title = 'Hej verden sandkasse' 
     Skabelon =' et websted for hold hurtigt organisere, Forfatter, og dele oplysninger, BLAH BLAH BLAH ">

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

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

  </Web>

</SiteCollection>

Jeg forventer at rydde op, at XML før alt er sagt og gjort.

Jeg vil i sidste ende får disse oplysninger op og ind i en Treeview control.  Ikke ligefrem jorden rystende ting.

Den udfordring, jeg tog på her skulle tilsluttes en XML-datakilde kontrol i stedet for manuelt at opbygge min treenodes som jeg krydse træet i træstrukturen.  Jeg gjorde dette, dels fordi jeg bevidst gør tingene sværere for mig selv (Dette er et projekt, læring efter alle) og dels fordi jeg har denne vage begreb at opbygge trænoderne som jeg krydse træet er ikke en god idé for på lang sigt.

Problemet med denne tilgang er, at kontrolelementet Treeview ikke ved om de gode attributter på de interessante noder som "liste" eller "web", så det viser dette output som standard:

 

image

Det er ikke nyttigt.  Dette er, hvor klassen TreeNodeBinding hjælper.  Jeg kan bruge dette til at fortælle Treeview kontrol hvordan det bør fortolke XML.  Her er et eksempel:

tnb = ny TreeNodeBinding();
tnb.DataMember = "liste"; // Dette er etiketten i XML-koden for et websted.
tnb.TargetField = "listid";
tnb.ValueField = "titel";
tnb.ToolTipField = "Skabelon";

Denne bindende fortæller treeview, når den finder en <liste> node i XML-, anvende bindings for TargetField, ValueField og ToolTipField.  I maj app, disse kort som følger:

  • TargetField: Når nogen klikker på en nodeværdi, Dette er hvad du får for SelectedNode.Value.  Dette er ikke at forveksle med...
  • ValueField: Dette er hvad du vil Treeview skal vises til brugeren.
  • ToolTipField: Værdien fra XML-filen, som du vil bruge et værktøjstip.

Tilføje, at TreeNodebinding til trævisningens DataBindings og du får output som dette:

 

image

Jeg vil have mere på alt dette som jeg videre med projektet og til sidst sætte dette op på Codeplex.

</slutningen>

Abonner på min blog.

Følg mig på kvidre på http://www.twitter.com/pagalvin