Månadsarkiv: Februari 2011

Ändra webbplatsen kolumngrupper i SharePoint Designer 2010

Jag skapade en massa webbplatskolumner med SharePoint Designer 2010 i morse och insåg att jag hade gett dem alla fel grupp.  Det var pinsamt svårt att räkna ut.  Jag visste inte var att klicka...

image

Jag höll vilja att dubbelklicka på raden själv eller klicka på kolumninställningar i menyfliksområdet.

Som det visar sig, det rätta svaret (eller minst ett korrekt svar) är att klicka på själva gruppen.  Vänta en stund och sedan det gör att du kan ange ett värde, som visas:

image

Ganska lätt när du vet vad du ska göra, men det undgått mig för lite.

</slutet>

Prenumerera på min blogg.

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

Manuellt redigera SPD XOML-filen att rensa variabler

I det här inlägget här ("Få svar tillbaka från aktivitetens Start godkännande Process"), Jag nämnde att du av misstag kan lägga en hel massa av arbetsflödet variabler i arbetsflödet SharePoint Designer.  Saker kan snabbt bli rörigt och svårläst.  Särskilt, Om du lägger till åtgärden "Starta godkännande processaktivitet" ditt arbetsflöde, ta bort den och lägga till den igen, du sluta med all denna verksamhet arbetsflöde variabler två gånger. 

Det är en verklig smärta att gå igenom och ta bort alla dem manuellt, så jag även om jag skulle försöka ta bort dem direkt från XOML-filen.  Detta visade sig vara lätt att göra. 

Första, du behöver söka efter den faktiska XOML-filen.  Jag skrev om detta ämne här: http://www.mstechblogs.com/paul/how-to-find-and-edit-spd-2010-workflow-xoml-files.  En gång hittade, öppna upp den XOML-filen och leta upp en variabel som du vill ta bort.  I detta fall, Jag la "Börja godkännandeprocessen" aktiviteten till mitt arbetsflöde två gånger.  Jag vill ta bort en Arbetsflödesvariabel som heter "isItemApproved" eftersom det inte längre används och det finns en dubblett variabel som heter "isItemApproved1". 

Helt enkelt göra en textsökning för variabeln.  Min skärm ser ut så här:

image 

Om du söker runt i XOML-filen, ser du att "IsItemApproved1" används på många olika platser, medan den ursprungliga "IsItemApproved" är helt enkelt definieras en gång och aldrig använt.

Ta bort den och sedan spara filen.

Det bara knepigt är att jag hade faktiskt stänga ut SPD alldeles och öppna den igen innan SPD erkände att fältet bort.

Självklart, ta bort fält är inte det enda du kan göra med XOML och jag kan blogga om andra ämnen som denna i framtiden.

Du vara mycket försiktig med vad du gör här och ta säkerhetskopior av ditt arbete.  Du kan göra en till synes obetydliga / subtil förändring här att trashes arbetsflödet så långt SPD är berörda och du kan förlora timmars ansträngning medan du återskapa det.

</slutet>

Prenumerera på min blogg.

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

Hur att hitta och redigera SPD 2010 Arbetsflödet XOML arkivera

Jag forskade ett enkelt sätt att ta bort en massa arbetsflöde variabler utan att spendera min eftermiddag i en fullt utvecklad SPD klick tortyr session.  Min tanke var att redigera XOML direkt, som är XML-filen underliggande SPD: s deklarativa arbetsflöden.  Detta är hur jag hittade det.

Första, gå till alternativet alla filer under platsobjekt i navigering.  Du behöver behörighet att se detta, så om det är saknat för dig, vädja till rätt admin person att ge dig priv.  Det är vad det ser ut:

image

 

Alla filer visar en lista över... alla filer:

image

Markera mappen arbetsflöden och du ser en lista över mappar för varje arbetsflöde:

image

Klicka i rätt mapp och  du se en lista på alla intressanta godsaker som gör upp en deklarativ SPD arbetsflöde.  Högerklicka på XOML-filen och välj "öppna med-> SharePoint Designer (Öppna som XML)"för att redigera XOML direkt:

image

Kan du göra en manuell säkerhetskopiering innan du fippla med saker.  En vanlig klistra in filen direkt i SPD är förmodligen tillräckligt bra, eller du kan kopiera klistra in hela XML-text och spara den på skrivbordet eller vad är din brukar i dessa fall.

</slutet>

Prenumerera på min blogg.

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

Att få svar tillbaka från Start godkännande processaktiviteten

Jag har spelat runt med SharePoint Designer arbetsflödets fancy nya "Börja godkännandeprocessen" aktivitet och var snabbt omintetgörs eftersom jag inte kunde direkt svara på frågan, "var det godkänt eller inte?”. 

Det korta svaret är att det är ganska lätt att få svaret.  När du lägger till denna aktivitet till din huvudsakliga arbetsflöde, SPD lägger en bazillion variabler till arbetsflödet variabler och parametrar datakälla, som ni kan se här:

SNAGHTML2350fe72

Du kommer också att notera att om du lägger till mer än en av dessa, SPD lägger till "1" och så vidare till alla variabler. 

Jag fann att när jag tog bort den första "Börja godkännandeprocessen" aktiviteten, den första uppsättningen av associerade arbetsflödet variabler återstod (Tyvärr).  Så, var försiktig hur du använder detta eftersom annars, du ska sluta med  en mycket rörig lista över arbetsflödet variabler.

Jag ger Microsoft kredit för att följa "är" namnkonventionen för en boolesk variabel.  Denna konvention gör det ganska klart vilken typ av data är tänkt för att vara där.

I forska, Jag hittade den här bra artikel: http://office.microsoft.com/en-us/sharepoint-designer-help/workflow-actions-in-sharepoint-designer-2010-a-quick-reference-guide-HA010376961.aspx.  Det verkligen ta inte upp denna särskilda fråga, men har några bra information på ämnet så jag skulle åka dit om du vill veta mer om denna specifika verksamhet och dess syskon.

</slutet>

Prenumerera på min blogg.

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

SharePoint Designer 2010 Funktionen rest

Jag arbetar ut några logga där anställda kan begära semester, sjukledighet, m.m.. Ett verifieringsuttryck kräver att du alltid måste begära tid bort i 4 timmars mellanrum.  Detta är lätt att – använda en modulo funktion.  Modulo funktion berättar resten i division.  Om det finns någon resten, modulo är noll, Annars, Det är allt som är kvar.  Till exempel, 8 mod 4 = 0 (8 / 4 = 2 med inga bråk).  Å andra sidan, 8 mod 5 är 3.

Jag behövde göra detta en gång med SPD 2007 en gång och jag faktiskt slutade använda ett InfoPath-formulär för att lösa, så det var hanterats på fronten på gång.  I det aktuella fallet, Det kan finnas ett InfoPath-formulär i bilden, men det är inte klar ännu.  Så, Jag arbetade ut en teknik för att säkerställa att den tiden är alltid i 4 timme i taget.  Jag skulle göra matten, spara den i en sträng och sedan göra några understräng grejer. 

Jag drar upp SPD 2010 och till min förvåning (och lite besvär) Det finns en modulo funktion redan:

image

Jag är återigen positivt överraskad att något jag behövde redan är det ur lådan.  Det verkar som en konstig funktion för Microsoft att inkludera i mixen.  Den har ett slags "det är lätt, så låt oss kasta den "känsla.  Jag sympatiserar med det, som jag gör det själv hela tiden.  CodePlex projektet har en massa små funktioner som resulterar från den ItsEasy principen.  På samma gång, Microsoft fortsätter att stödja bevis "95% av vägen" effekten med produkten.  De genomför funktionen Mod, men inte funktionen avrunda, till exempel.

</slutet>

Prenumerera på min blogg.

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

CodePlex projekt – SP2010 Explorer

Som en del av ett pågående försök att lära sig de tekniska låg nivå detaljerna för SharePoint 2010, Jag har skapat en "SharePoint Explorer"typ av verktyg.  Idén är inte ny.  Jag använde detta projekt mer än en gång: http://sharepointexplorer.codeplex.com/.  Min idé är att skapa en SharePoint-version att använder anslutna webbdelar för att visa alla lågaktivt detaljer att objektmodellen kan ge. 

Detta blogginlägg fungerar som både ett tillkännagivande av projektet samt ett samtal för volontärer.  Om du är intresserad av att arbeta på detta projekt, Låt mig veta via e-post (Galvin.Paul@gmail.com) och vi ska träna det.

Här är projektet: http://sp2010explorer.codeplex.com/

</slutet>

Prenumerera på min blogg.

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

SharePoint Designer 2007 Arbetsflödet Extensions CodePlex projekt

Jag sätter ihop min andra CodePlex-projektet (Detaljer kommer att tillkännages på onsdag denna vecka, plus eller minus) och jag hade en titt på mitt första projekt, "SharePoint Designer arbetsflöde Extensions". Jag var chockad och generad över att se att det är laddats ner över 4,800 gånger:

image

Jag glömde i princip detta projekt under senaste 12 månader. Jag skäms eftersom jag i huvudsak har övergett det.

Jag kommer att ha en annan ser och påminna mig själv om vad det handlar om.

Om någon är intresserad av att arbeta med detta, Låt mig veta och vi får se om samarbete på det. 4,800 nedladdningar är inte en gigantisk mängd, men det är mer än jag insåg att någonsin och det är nog värt några försök plocka upp och bära det fram.

</slutet>

Prenumerera på min blogg.

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

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