SharePoint Shop Talk öppna q&En Session torsdag 08/13 @ 12:30 PM EDT

Arcovis kommer att vara värd för vår andra "SharePoint Shop Talk" session torsdag vid 12:30 PM EDT. Visa upp din SharePoint frågor och vi gör vårt bästa för att underhålla dig med banjo skämt, Smart men ofarliga Sågningar av våra panelmedlemmar och kanske också svaret en fråga eller två. Denna veckas "officiella" panelen innehåller din verkligen, Mina Arcovis partners (Natalya Voskresenskaya och Harry Jones) och Laura Rodgers (av Twitter & EndUserSharePoint Fame). Bob fox hotade att gå med också, men jag tar inte det alltför allvarligt. Sista gången, Vi hade en stor publikdeltagande som suddig linjen mellan panelmedlemmar och deltagare och jag förväntar mig samma sak kommer hända torsdag.

Denna händelse är medsponsor integrerade system och tjänster grupp (www.issgroup.net).

Vänligen registrera dig här: https://www323.livemeeting.com/lrs/8000043750/Registration.aspx?pageName=9xrzxfs9x34sb0sm

Om du har frågor som du vill att vi, bara ringa till samtalet och be den. Om du vill att vi ska tänka på det först, Skicka oss ett mail eller lämna en kommentar här.

Ser du då!

</slutet>

Prenumerera på min blogg.

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

Redan existerande villkor: SharePoint Alert mallar till undsättning (?)

En av mina klienter arbetade med en tidigare entreprenör att bygga ut en liten men användbar HR ansökan för företaget. Som entreprenör för SharePoint Designer för att använda arbetsflödet portion av lösningen. Det är lite av en röra. Till exempel, Det finns nio SPD arbetsflöden till stöd för en enda logisk arbetsflödesprocessen och upp till fem av dem kan eld samtidigt vid varje givet tillfälle ges rätt förutsättningar. It’s not easy to debug 🙂

Min kund har ett antal fortfarande utestående krav, varav en är att generellt ge mer sammanhang när systemet skickar ut e-postmeddelanden – både i e-post själv samt tillhörande Aktivitetsformulär. Som SPD vet arbetsflöde genomförare, "samla in data från användare" SPD åtgärden faktiskt skapar en uppgift med en anpassad innehållstyp. När vi använder att åtgärder, Vi får inte ange mycket. Vi kan snabbt för vissa värden (t.ex. "godkänna" eller "Neka") och vi kan ange en hårdkodade värdet i rubriken och beskrivningen. Det är allt.

Mina kunders krav är två gånger:

  1. När SharePoint skickar ett mail om en aktivitetstilldelning, innehålla en hel del information om uppgiften i e-kroppen.
  2. Viktigare, överlägset – När användaren klickar på länken uppgift i e-, uppgiftsformuläret bör ha all information godkännaren behöver för att göra sin godkänna eller neka beslut. Nu, chefen måste klicka på själva artikeln länken att borra ner i de underliggande detaljerna och tycker ingen om att. Du måste klicka i e-. Måste du klicka på en typ av obskyra på uppgiften. Sedan kan du titta på underliggande data (en InfoPath utgör i detta fall). Klicka du på rygg/rygg, m.m.. Alla hatar det.

Jag har ärvt detta något rörig teknisk lösning och jag vill göra ändringar i de minst påträngande sättet möjligt.

Det jag tar just nu är att skapa en egen alert mall. Du kan läsa om det här. Flödet fungerar så här:

  • SPD arbetsflödet körs.
  • Vid något tillfälle, det tilldelar en uppgift till en chef.
  • SharePoint-systemet skickar automatiskt ut en varning till att manager. Detta är inte en del av det SPD arbetsflöden utan snarare "vad SharePoint gör." (SharePoint-tidstjänsten, Jag tror).
  • En anpassad alert hanterare anropas för standard alert processen (efter magiska regler refererade som beskrivs ovan artikel).
  • När min anpassade alert hanteraren körs, Det genererar en vacker e-post. Viktigare, eftersom den har uppgiften i hand, det pryder också den faktiska uppgiften med alla samband information krävs för att uppfylla kravet på business.
  • Användaren får e-post och det är full av användbara kontextinformation.
  • Användaren klickar på aktivitetens länk och uppgiften i sig är full av användbara kontextinformation.
  • Alla går hem att ha vattenmelon och glass.

Jag gjorde en snabb POC och det fungerar bra i en labbmiljö. Jag får min anpassade e-varning som förväntat. Jag får också uppdatera uppgiftsbeskrivning och titeln.

Bara knepigt lite, så långt, är att undvika en situation där notifieringen uppdaterar objektet, utlöser en annan varning. Detta oroa inte mig.

Ser lovande ut hittills...

Fina med detta är att jag inte behöver att slänga med någon av de befintliga SPD arbetsflödena. De är lyckligt ovetande om att en alert hanterare är"SIW RUNNIN I DA BAKGRUND, DECORATIN TEH UPPGIFT LISTA WIF MOAR SAMMANHANG”.

</slutet>

Prenumerera på min blogg.

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

Levande SharePoint Q&En Session torsdag 07/30/09 @ 12:30 PM EDT slutar 1:30PM EDT

Uppdatering: Formatet för detta är i grunden ett konferenssamtal med ett par PPT bilder att ställa på scenen. Vi har en SharePoint-miljö på stativ genom att skjuta upp ifall det hjälper, men detta är främst folk pratar högt. Det kommer att finnas möjligheter för följa upp via e-post.

Gå tillbaka till min första någonsin SharePoint konferens, drygt ett år sedan, Jag har drabbats av hur fantastiskt live Q&En session kan vara. Konferensarrangörer hade satt ihop ett slags ad hoc-grupp av "experter" (dvs. människor som hängde och inte var rädd för att titta till fåniga upp på scenen) att besvara alla frågor som kom från publiken i rummet. Det var i mitt huvud då, och regelbundet sedan dess, att vara värd för en liknande session men gör det på nätet och telefonen. Jag tror inte att det kan vara lika bra som i-person-Q&En session, men jag tror att det kan vara ganska cool.

Jag fick äntligen runt till det och nästa torsdag, 07/30, mitt företag (Arcovis) och affärspartner, Integrerade system och tjänster, kommer att vara värd en Q&En vilja att. Jag hoppas att göra detta regelbundet, så ofta som varje vecka.

Denna konstituerande session kommer förmodligen vara lite ojämn, men konceptet är detta:

  • Om du har frågor som du skulle vilja ha besvarade under sessionen, bara visa upp och be.
  • Om du vill, Du kan maila frågan i förväg.

Vi planerar att spendera den första halvan av Q&A på mailade frågor och sedan öppna upp något som någon frågar efter det.

Mötet äger rum på torsdag, 07/30 börjar på 12:30 och slutar på 1:30 PM EDT.

Om du är intresserad, Vänligen registrera dig här: https://www323.livemeeting.com/lrs/8000043750/Registration.aspx?pageName=pxlsd9fpsm2md7h9

Panelen kommer att omfatta mig och andra SharePoint-armaturer. You’ll have to sign up to find out who they are 🙂

Om du vill vara en av de armaturer för en framtida Q&En session, Låt mig veta.

</slutet>

Prenumerera på min blogg.

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

Technorati Tags:

Bädda in utvecklare anteckningar inuti din InfoPath-formulär

Jag fortfarande lever i InfoPath-formulär världen och jag behövde göra en av dessa "små" ändringar i en form som, Tyvärr, bryter en namngivningskonvention som jag antog med det två veckor sedan. Jag tänkte för mig själv, "någon ska titta på denna sak ett år från nu och säga, "Vad tänkte Paul? Av Jove, hans namnkonventionen är meningslöst!”

Jag insåg att jag kunde skapa en vy i formuläret för detta och sedan, En gång till, insåg att jag kunde ha gjort något sånt här hela tiden. Jag la "Developer anteckningar" utsikt till InfoPath-formuläret som sådan:

image

Jag har konfigurerat formuläret så att användare inte kan komma till denna uppfattning och därför, Det är bara synlig med InfoPath-klienten i designvyn. Nu känner jag mig lite inokulerade mot vissa framtida okända utvecklare titta på min form och tänkande dåliga tankar om mig. Puh!

</slutet>

Prenumerera på min blogg.

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

Technorati Tags:

Hantera InfoPath visningar

Jag verkar gå via InfoPath faser där, Out of the blue, Jag crafting en massa former. Mina fingrar lära sig använda verktyget väl och sedan jag gå igenom nio månaders torka och måste lära sig det över igen.

Jag är mitt i en InfoPath-fas och jag skapar InfoPath-formulär med en massa visningar. En sak du förmodligen märka är att InfoPath 2007 klienten visar vyer i alfabetisk ordning. Detta är ett elände några gånger. Min bästa teknik är dessa dagar att prepend ett tal till vynamnet så att de visar alltid i den ordning jag vill, som illustreras här:

image

Jag önskar jag hade gjort det hela tiden.

</slutet>

Prenumerera på min blogg.

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

Technorati Tags:

InfoPath-formuläret tjänster, Formulärbaserad autentisering (FBA) och unika filnamn

Jag har varit arbetande på vissa InfoPath-formulär i veckan i MOSS i FBA miljö och lärde, När jag gick för att distribuera formulären till en produktionsmiljö med en FBA zon som användarnamn() funktionen funktion fungerar inte. Jag använde det för att generera unika filnamn.

Brunn, denna funktion fungerar inte i ett FBA-miljö (minst, inte ur lådan). Och, vid närmare eftertanke, med användarnamn på det sätt som jag hade planerat skulle inte har garanterat ett unikt filnamn som helst.

Min lösning var att använda nu() funktion och en regel som bränder på lastning av form. Jag tilldela sedan filnamnet till dataelement när den är tom:

image

image

Fördelen med denna metod är att filnamnet anges endast en gång. (Jag Visa inte det i skärmbilden, men sätta ett villkor på regeln att endast eld när "myFilename" är tom). Jag används för att ange namnet på data source nivå. Normalt, Jag skulle göra något (Dålig) Gillar det här:

image

Problemet med det är att om användare A öppnar formuläret på måndag och användaren B ändrar det på tisdag, du ska sluta med två olika former eftersom två olika användare sparas det med olika användarnamn.

Så, som irriterande som FBA kan i allmänhet och med InfoPath i synnerhet, Det fick mig att tänka en liten men mycket viktig teknisk detalj och strategi som jag inte skulle ha gjort annars!

</slutet>

Prenumerera på min blogg.

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

Technorati Tags:

Skydda SharePoint lista/bibliotek dokumentvyer verkar (typ av) Möjligt med jQuery

Detta är en annan post i min pågående serie om hur du använder jQuery med SharePoint.
Om du vill veta mer om jQuery, Jag rekommenderar: jQuery i aktion av Björn Bibeault och Yehuda Katz.

En av de första saker som jag trodde, När jag började att spela med jQuery, var om vi kunde använda den för att säkra en SharePoint-vy. Svaret är "nej" (eller åtminstone, Jag påstår inte att det är möjligt). Men, Det är säkert möjligt att göra det svårt för människor att se en viss vy.

Jag började med min sandlåda miljö när du arbetar på detta. Jag skrev om att miljön här: Snabb och enkel: Skapa din egen jQuery sandlåda för SharePoint.

Att "säkra" en Visa, Följ dessa steg:

  1. Skapa en vy som du vill skydda. Jag gjorde det och kallade det "Säkrade View".

    Detta är vad det ser ut när det inte är "säker":

    image

  2. Lägga till webbdelen Innehållsredigeraren till vyn sida använda knep beskrivs i artikel i sandlådan (dvs. Lägg till "sidvisning = delad&ToolPaneView = 2 "till URL).
  3. Räkna ut din SharePoint _spUserId crazy sÃ, tro eller ej:
    1. Logga in på din SharePoint-miljö.
    2. I webbläsarens Adress-fält, typ: "javascript:Alert(_spUserId").
    3. Spela in resultatet (Det är "13" i mitt fall).

      image

  4. Lägg till följande javascript till din CEWP i kodvyn:

    <script typ ="text/javascript"
        src =".. /.. /jQuery Library/jQuery-1.3.2.min.js">
    </skript>
    
    <script typ ="text/javascript">
      $(funktionen() {
    
        Alert(_spUserId);
    
        var theSecuredView = $("iframe[FilterLink * = säkrade % 20View]');
    
        om ((theSecuredView.length > 0) && (_spUserId == 13))
          $("iframe[FilterLink * = säkrade % 20View]').förälder().förälder().förälder().HTML("<TR bgcolor = röd><TD>Ingen utsikt för dig!</TD></TR>");
      });
    
    </skript>
    

Jag har tagit det alert(_spUserId) linje in där för att visa hur detta inte verkligen en "säkra" en Visa, men helt enkelt göra det svårare att se. Mer om det i ett ögonblick.

I princip, jQuery är ute efter en iFrame på sidan som har ett attribut som innehåller "Secured % 20View" i dess värde. När den finner det, Vi kontrollerar för att se om den aktuella användaren är "13". Om det är, Vi vandrar upp DOM till en <TR> tag (som jag räknat ut genom att Visa källa och spåra det) och sedan ersätta den TR-taggen med mitt budskap. Jag vet faktiskt inte hur robust är (Jag är väldigt misstänksam, I själva verket), utom den arbetat i min sandlåda. Om jag hittar ett bättre sätt, Jag ska blogga om det.. Detta är resultatet:

image

Jag klickar på OK och data ersätts med en stor röd meddelande:

image

Som du kan berätta, det sättet jag genomföra denna "säkerhet" lösning är att låta webbdelen som göra sig. Efter den är klar, Jag skriva över dess innehåll med min "ingen vy för dig!"meddelande.

Trots att det inte är verkligen en "säkrade" "Visa, Det är potentiellt användbara och med några smart arbete, Det kan så småningom komma securable i en mer formell mening. Den grundläggande frågan är att klienten blir alla data och sedan, först när det blir data, det torkar det. Om klienten är att få uppgifter, en smart användare kan förhindra jQuery körs på alla och se vad han/hon vill se.

Det finns andra nackdelar. Denna "säkerhet" tillvägagångssätt bygger bort en _spUserId. Vi vill att riktigt säkert baserat på SharePoint-säkerhetsmodellen i full, eller åtminstone av användarnamn. Det blir successivt svårare, men jag ser några bra saker skrivna om detta ämne, så jag hoppas det är ett bra svar på det problemet.

Listan över vyer sig putsas, om möjligt. Jag har inte försökt att räkna ut. Jag antar att det är möjligt, men inte riktigt lösa de grundläggande säkerhetsproblem eftersom någon kunde fortfarande bara Skriv Webbadressen till vyn de vill (om de visste det). Men, trimning är meningsfullt. Det är en bra användbarhet funktion och bidrar till att fördunkla saker. Om en användare inte vet att Visa evenemanget finns, de inte kommer att förmodligen försöka använda den. Ibland, Det är bra nog.

Med lite tur, Jag har mer att skriva om detta ämne med tiden.

</slutet>

Prenumerera på min blogg.

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

Snabb och enkel: Ett bättre sätt att använda jQuery att dölja ett textfält i ett SharePoint-formulär

Detta är en annan post i min pågående serie om hur du använder jQuery med SharePoint.
Om du vill veta mer om jQuery, Jag rekommenderar: jQuery i aktion av Björn Bibeault och Yehuda Katz.

Tidigare, Jag skrev om hur du använder jQuery att lokalisera och dölja ett textfält i ett formulär. Jag brydde mig för det specifika tillvägagångssättet (Jag kedja föräldrar – det är helt enkelt inte gjort dessa dagar, åtminstone i familjer med kvalitet).

När jag först började att tänka på det, Jag visste att jag behövde till finna en <TR> som jag kunde åberopa Dölj() metoden. Min tidiga försök att hitta rätt <TR> var ungefär så här:

$("tr:har(input[titel = gömma mig!])');

Problemet med det är att det skulle finna varje <TR> tag som hade någon överordnad relation till gömma mig! fältet, även om gömma mig! är kapslade många nivåer djupt i <TR>'s. Det visar sig att min sandlåda formuläret, Detta uttryck finner 9 olika TR som har gömma mig! som ett barn någonstans i sin DOM-trädet. Jag insåg att jag kunde gå tillbaka upp trädet från fältet sig, så det är hur jag hamnade missbrukar föräldrar, men det sitta inte bra med mig.

Jag gav en tanke till detta och en av de saker jag läser slutligen är meningsfullt: Jag kunde använda inte() metoden att trimma ut <TR>: s jag inte vill ha i min inslagna som. Som ledde mig till detta:

$("tr:har(input[titel = gömma mig!])').inte("tr:har(TR)').Dölj();

Den första biten hittar alla de <TR> Taggar som har gömma mig! fältet var som helst i deras egen hierarki. Det sedan remsor ut någon <TR> Det har också ett barn <TR>. Detta lämnar oss med en enda <TR> som:

1) Har ingen <TR> underordnade poster

2) Har fältet som barn.

Vi kan sedan använda Dölj() metod att den resulterande och vi är klar.

Jag är fortfarande lite nervös om detta, men inte lika nervös som kedja föräldrar.

Jag vet inte om detta är en bästa praxis eller inte. Det kan vara ett mer lämpligt sätt att identifiera just den <TR> att vi bryr oss om i en SharePoint form. Om du vet, Vänligen skriv en kommentar.

</slutet>

Prenumerera på min blogg.

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

Snabb och enkel: Använda jQuery för att dölja ett textfält i ett SharePoint-formulär

Detta är en annan post i min pågående serie om hur du använder jQuery med SharePoint.
Om du vill veta mer om jQuery, Jag rekommenderar: jQuery i aktion av Björn Bibeault och Yehuda Katz.

UPPDATERING (redan!): Jag tänkte på ett bättre sätt att hitta den <TR> tag jag vill dölja och skrev om det här. Du kan fortfarande finna denna artikel intressant hur som helst så är jag leavnig upp.

Jag vill dölja ett textfält, "Dölj mig!"som visas:

image

Följande jQuery gör susen för mig:

<script typ ="text/javascript">

  $(funktionen() {


    $("ingång[titel = gömma mig!]').förälder().förälder().förälder().Dölj();

  });

</skript>

Koden säger, "hitta mig alla ingående fält vars titel = gömma mig!. Sedan, få sina överordnade och bredvid överordnade och * nästa * förälder (Puh!) och åberopa Dölj() metod på det där, vad det råkar vara.

Jag beräknat ute den överordnade strukturen genom att visa HTML-koden för formuläret som SharePoint skapats som visas:

<TR>
    <TD nowrap= true" nederkant= "top" bredd= "190px" klass= "ms-formlabel">
        <H3 klass= "ms-standardheader">
            <nobr>Gömma mig!</nobr>
        </H3>
    </TD>

    <TD nederkant= "top" klass= "ms-formbody" bredd= "400 pixlar">
        <!-- Fältnamn = "Dölj mig!"
                 FieldInternalName = "Hide_x0020_Me_x0021_"
                 FieldType = "SPFieldText"
        -->
        <Spänn dir= "ingen">
            <input
                Namn= "ctl00$ m$ g_bdb23c2c_fde7_495f_8676_69714a308d8e$ ctl00$ ctl04$ ctl02$ ctl00$ ctl00$ ctl04$ ctl00$ ctl00$ TextField"
                typ= "text"
                MaxLength= "255"
                ID= "ctl00_m_g_bdb23c2c_fde7_495f_8676_69714a308d8e_ctl00_ctl04_ctl02_ctl00_ctl00_ctl04_ctl00_ctl00_TextField"
                titel= "Dölj mig!"
                klass= "ms-lång" />
                <br>
        </Spänn>


    </TD>
</TR>

Denna bild visar samma, men märkt upp med föräldrar:

image

Den första föräldern (1) är en span-tagg. Spans överordnade (2) är en TD-tagg och sedan slutligen vi kommer till verkligt förälder jag vill dölja (3) vilket är TR-taggen själv.

Detta är ett ganska hemska tillvägagångssätt eftersom det är extremt beroende av mycket specifika strukturen av denna form. När SharePoint 2010 kommer ut, hela denna struktur skulle kunna ändra och bryta detta tillvägagångssätt. Vad jag verkligen vill göra är hantverk en jQuery väljare som är i linje med "hitta mig alla TR (och enda TR-Taggar) som har någonstans i deras underordnade element ett inmatningsfält vars titel = gömma mig!”. Jag börjar från botten och flytta. Förutsatt att jag lista ut, Jag kommer lägga upp en uppdaterad "snabb och enkel" post.

</slutet>

Prenumerera på min blogg.

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

del.icio.us Taggar: ,

Snabb och enkel: Skapa din egen jQuery sandlåda för SharePoint

Detta är en annan post i min pågående serie om hur du använder jQuery med SharePoint.
Om du vill veta mer om jQuery, Jag rekommenderar: jQuery i aktion av Björn Bibeault och Yehuda Katz.

Det är förvånansvärt enkelt att komma igång med jQuery i SharePoint (Till mig). (Jag har allvarliga frågor om en "best practices" metod att distribuera dessa saker till produktion, men det är för en annan dag). Jag har precis börjat spela med denna teknik och därför, Jag skapade en sandlåda miljö att använda. Om du vill komma igång med jQuery, Du kan hitta detta tillvägagångssätt användbara.

1. Skapa en tom webbplats

Skapa en tom webbplats någonstans i din webbplats och kallar det något smart som "jQuery Sandbox".

2. Hämta jQuery

Du kan hämta den jQuery javascript biblioteket här: http://docs.jquery.com/Downloading_jQuery

Spara det till på skrivbordet.

Jag har blitt användande den "minified" versionen.

3. Skapa ett SharePoint-dokumentbibliotek

I din sandlåda webbplats, skapa ett dokumentbibliotek.

4. Ladda jQuery biblioteket till SharePoint

Åt doc biblioteket du just skapade och ladda jQuery biblioteket.

5. Skapa en anpassad SharePoint-lista

Jag har börjat med en anpassad lista eftersom jag vill slänga med SharePoint standardformulären. Du kan också skapa en sida i ett bibliotek för sidor eller webbdelssidor och förmodligen en massa andra ställen.

Lägga till vissa kolumner i listan anpassad så att du har något att köra jQuery mot. Min ursprungliga mål var att:

  1. Dölja ett fält.
  2. Tilldela ett värde till ett fält.

Med detta mål i åtanke, Jag la två textfält. Över tid, Jag ska spela med länkar, bilder, uppslag, m.m..

6. Ändra webbdelssidan NewForm.aspx och lägga till webbdelen Innehållsredigeraren

Detta är en liten svart magic-ish , att det är ett nytt koncept för mig. Jag lärde mig först om detta från Paul Grenier, SharePoint jQuery Superstar, på hans CodePlex project-webbplats: http://spff.codeplex.com/.

Följ dessa steg för att lägga till en CEWP på samma sida som visar NewForm.aspx för någon anpassad lista:

  1. Få tillgång till den anpassade listan och klicka på ny.
  2. Lägga till följande URL:: Sidvisning = delade&ToolPaneView = 2

Som kommer att förvandla din tråkiga vanilj datainmatningsformulär från något sådant:

image

Till detta:

image

Lägga till webbdelen Innehållsredigeraren på sidan.

7. Skriva din första jQuery kod

Öppna det CEWP i kodvyn och lägga till följande:

image

Här är den faktiska koden om du vill klistra in:

<script typ ="text/javascript"
    src =".. /.. /jQuery Library/jQuery-1.3.2.min.js">
</skript>

<script typ ="text/javascript">
  $(funktionen() {

    $("#resultsID").HTML("Det finns" + $("a").storlek() + "en Taggar Taggar på denna sida.");

  });
</skript>

Resultat:
<DIV id ="resultsID"></div>
/resultat

Observera att först <skript> tag refererar till faktiska jQuery biblioteket. Förmodligen, dessa saker förändras över tiden, så ska du se till att du en) använda den rätt namn och b) Peka på korrekt SharePoint-dokumentbiblioteket.

Sola sig i glansen

Om du gjorde det rätt, du ser ett resultat som liknar följande:

image

Inslagning

Detta är inte det enda sättet att komma igång, men det är snabbt, lätt och isolerade från befintliga SharePoint-miljön.

</slutet>

Prenumerera på min blogg.

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

del.icio.us Taggar: ,