Snabb & Lätt: Skapa en mapp och tilldela en innehållstyp (Eller, Har din KPI: er och äta dem också)

För att undvika en KPI problemet Jag skrev om här, Jag gjorde en del tester och upptäckte att KPI arbete mot mappar med meta-data på samma sätt som de arbetar mot dokument eller listobjekt. Jag bevisade det ut genom att skapa en ny innehållstyp baserat på innehållstypen mapp och sedan läggas några fält. Jag skapade vissa indikatorer och visat sig själv som KPI: er fungerar som förväntat. Detta var en Välkommen nyhet. Det är inte perfekt, för att specificera-du får från är KPI mot mapparna inte exakt vad du vill. Detta är inte för mycket en nackdel i mitt fall eftersom 1) slutanvändarna vet inte bättre och 2) drill-down går till en mapp. De klicka på mappnamnet och de är i artikeln. Det är två klick i stället för en, vilket inte är slutet av världen.

Detta flöt fint med det arbete jag gjorde. Jag skapar en mapp för varje dokument som får laddas upp. Detta görs via en händelsemottagare. Som en följd, Det är en bit av kakan att hålla den den överordnade mappens Metadatat synkade med KPI-driven metadata från själva filen eftersom VVS är redan på plats. Detta gör att jag kan ha mina KPI:er och äta dem också 🙂

Jag ändrade händelsemottagare för att lägga till mappen och ange sedan den nya katalogen innehållstypen till min anpassade KPI-vänlig innehållstyp. Denna bit kod gjorde susen:

 SPFolderCollection srcFolders = targetWeb.GetFolder("Dokument").Undermappar;
  SPFolder addedFolder = srcFolders.Add(egenskaper.ListItem.ID.ToString());
  SPContentTypeId kpiCT = nya SPContentTypeId("0x0120002A666CAA9176DC4AA8CBAA9DC6B4039F");
  addedFolder.Item["Innehålls typ-ID"] = kpiCT;
  addedFolder.Item.Update();

Att hitta den verkliga innehållstyp-ID, Jag åt den innehållstypen via Webbplatsinställningar och kopiera/klistrade in det från URL som visas:

bild

</slutet>

Prenumerera på min blogg!

Technorati Tags: ,

Snabb och enkel: Få SPFolder för en SPListItem i en händelsemottagare

Jag hatar att erkänna det, men jag kämpade med den här alla dag. Min händelsemottagare behöver uppdatera ett fält av dess överordnade mapp. Detta lite visar hur man gör det:

privat void UpdateParentFolder(SPItemEventProperties egenskaper)
{

SPFolder thisItemFolder = egenskaper.ListItem.File.ParentFolder;
thisItemFolder.Item["ZZ godkännandestatus"] = "Goda nyheter, alla!";
thisItemFolder.Item.Update();


} // UpdateParentFolder

I detta fall, Jag arbetar med ett dokumentbibliotek och egenskaper kommer från en ItemAdded-händelse.

Tricket är att du inte kan få SPFolder för artikeln direkt från själva objektet (dvs. egenskaper.ListItem.Folder är null). I stället, gå till listan artikelns associerad fil och få filens mapp.

</slutet>

Prenumerera på min blogg!

Technorati Tags:

Ännu en annan händelsemottagare Debug Trick

Jag är säker på att inte jag är den första personen att komma med detta. Men, Jag har inte märkt någon publicera ett trick som denna sedan jag började betala nära uppmärksamhet till gemenskapen i juli. Så, Jag trodde att jag skulle skicka det här snabbt och enkelt debug spets.

Jag arbetar på en händelsemottagare började genererar detta fel i den 12 kupan:

Fel vid laddning och kör händelsemottagare Conchango.xyzzyEventReceiver i xyzzy, Version = 1.0.0.0, Kultur = neutral, PublicKeyToken = blahbalhbalh. Ytterligare information finns under. : Object reference not set till en instans av ett objekt.

Jag visste inte var jag hade infört detta fel eftersom jag hade gjort för många saker i en av min kod/distribuera/provcyklerna.

Jag försökte Denna lösning att få min pdb där med förhoppningar att SharePoint 12 kupan skulle Visa stackspårning, men ingen lycka. Jag vet inte om det är möjligt och om någon gör, behaga låta mig veta 🙂

Jag vet att det är möjligt att Skriv din egen logga meddelanden till den 12 kupan. Ärligt talat, Jag ville ha något lite mindre skrämmande och snabbare att genomföra.

Det slog mig att jag åtminstone kunde få några grundläggande spårningsinformation genom att fånga och åter kasta generiska undantag som detta:

  försök {
    UpdateEditionDate(egenskaper);
  }
  fånga (Undantag e)
  {
    kasta nya Undantag("Dispatcher, UpdateEditionDate(): Undantag: [" + e.ToString() + "].");
  }

Detta visade upp i den 12 Hive thusly:

Fel vid laddning och kör händelsemottagare Conchango.xyzzyEventReceiver i xyzzy, Version = 1.0.0.0, Kultur = neutral, PublicKeyToken = blahblahblah. Ytterligare information finns under. : Dispatcher, UpdateEditionDate(): Undantag: [NullReferenceException.: Object reference not set till en instans av ett objekt. på Conchango.xyzzyManagementEventReceiver.UpdateEditionDate(SPItemEventProperties egenskaper) på Conchango.xyzzyManagementEventReceiver.Dispatcher(SPItemEventProperties egenskaper, Sträng eventDescription)].

Som gav mig alla detaljer jag behövde för att spåra upp det särskilda problemet och jag förväntar mig att använda den mycket framöver.

</slutet>

Prenumerera på min blogg!

Söndag Funny: “EJ FÖR EXPORT”

Tillbaka runt 1998, företaget jag arbetade på tiden fått viss finansiering för att skapa en ny e-handel produkt. Vi hade hela spektrat av affärsmässiga krav att uppfylla. Det skulle vara snabb, lätt för slutanvändare, flashiga, flera språk, m.m.. Sorgligt att säga, Jag haft förmodligen inte som en ambitiös uppsättning arbete att utföra sedan de berusande dagarna.

Denna ansträngning föregick Microsoft.net. Plain vanilla ASP var fortfarande något nytt (eller åtminstone mycket främmande för mitt företag). "Tegel och murbruk" företag var dömda. Dömd! Detta är att säga att det banbrytande arbete. Inte Hadron Collider pionjärarbete, men för oss i vår lilla värld, det banbrytande arbete.

Vi var galet upptagen. Vi gjorde mini POCs nästan varje dag, räkna ut hur du upprätthåller tillstånd i sin natur statslösa medium, räkna ut flera språkfrågor, rad-nivå säkerhet. Vi hade även skapa ett ordförråd att definiera grundläggande termer (Jag föredrog statliga-beständig men av någon anledning, Den obekväma "statefull" segrat).

Eftersom vi vanvettigt uppfinna denna produkt, marknadsföring och försäljning var ut att försöka sälja den. På något sätt, de lyckades sälja den till vår mardrömsscenario. Även om vi utforma och genomföra en företagslösning, vi verkligen inte förväntar sig den första kunden att använda varenda funktion vi inbyggda i produkten dag noll. Denna kund behövs flera språk, en radikalt annorlunda användargränssnittet från "standard" system men med samma affärslogik. Flera språk var särskilt svårt i detta fall, eftersom vi alltid fokuserat på spanska eller franska, men i detta fall, Det var kinesiska (som är en dubbel-byte-tecken anger och krävs särskild hantering med tanke på den teknik som vi använt).

Snabbspolning framåt är några månader och jag på ett Northwest airlines flyg till Peking. Jag har varit så upptagen med att förbereda för denna resa som jag har nästan ingen aning vad det är som för att åka dit. Jag hade läst en bok en gång om hur en Amerikan hade varit i Kina i flera år och hade lärt sig språket. En dag han gick staden och frågade några människor för vägbeskrivning. Konversationen gick något detta:

  • Amerikansk: "Kan du berätta hur man får till [XX] Street?"
  • Kinesiska: "Ledsen, Vi talar inte svenska".
  • Amerikansk: "Oh, Tja tala jag Mandarin." och han frågade dem igen på kinesiska, men tydligare (så gott han kunde).
  • Kinesiska: Mycket artigt, "Ledsen, Vi talar inte svenska".

Konversationen gick sådär för stycke och amerikanen gav upp i frustration. Som han skulle lämna dem att han hörde en man talar till andra, "Jag kunde ha svurit han frågade efter vägen till [XX] Street."

Jag hade plockat upp några bitar här och andra kvasi information om Kina och "goda råd":

  • En koreansk tillsammans arbetat sa att jag behövde vara försiktiga med kinesiska eftersom "de skulle försöka få mig berusad och dra nytta av du" i avkänningen av pressa mig in i dåliga affärsbeslut.
  • Vi fick inte köra bil (Det förekom viss förvirring om huruvida detta var en anpassad, ett rättsligt krav eller bara klientens regel).
  • Det fanns särskilda regler för att gå igenom tullen.
  • Vi var inte tillåtna att använda amerikanska pengar för något.
  • Du ska inte lämna tips. Det är en förolämpning om du gör.

Och slutligen, Jag hade relativt färska minnen av Tiananmen massakern. När jag var på college, Jag minns att se realtid Usenet inlägg som världen tittade på i skräck.

I korthet, Jag var väldigt nervös. Jag var inte bara normal-nervös i den bemärkelsen att jag leverera en lösning som var tiopotenser mer komplicerat än något jag någonsin har utfört. Jag var också orolig oavsiktligt bryter en regel som kunde få mig i trubbel.

Jag är på detta 14 timmars flygning och fast det var businessklass, 14 timmar är en förbannat lång tid. Det finns bara så många sätt att roa dig genom att läsa, titta på filmer eller spela med magnetiserade besticken. Ännu en riktigt bra bok är svårt att läsa flera timmar i sträck.

Så småningom, Jag började läsa förpackningsmaterialet på en bit av programvara jag hand-bar med mig till klienten, Netscapes webbserver. Jag läser de/programkrav, de marknadsföring blurbs, tittar på en vacker bild och plötsligt, Jag noll i på jätten "ej för EXPORT" Varning, något om 128 bitarskryptering. Jag stoppade rutan tillbaka i min väska, Varning nedåt (som om det skulle ha hjälpt) och försökte hålla visioner Midnight Express ur mitt huvud.

Ser tillbaka på det nu, Jag borde ha varit orolig, om det vid alla, När jag lämnade USA, not when I was entering China 🙂 Nothing untoward happened and I still consider that to be the best and most memorable business trip I’ve had the pleasure of making.

</slutet>

Prenumerera på min blogg!

Technorati Tags: ,

Lösning: SPQuery söker inte mappar

Förra veckan var jag genomföra en "utvecklas" lösning för en klient som använder BDC- och SPQuery och sprang in vissa svårigheter med att använda SPQuery mot ett dokumentbibliotek som innehåller mapparna. Nedersta raden: tilldela "rekursiv" Visa attributet för frågan.

Mitt scenario:

  • På måndag, Jag ladda upp ett dokument och leverera några meta-data.
  • Följande vecka, Jag laddar upp ett nytt dokument. Mycket av detta nya dokument metadata bygger på det dokument som jag lagt upp på måndag (som vi kallar "samlingsdokumentet").
  • Vi har skapat en web service fasad som tillhandahåller en BDC-gränssnitt i listan så att användare enkelt kan hitta måndag dokumentet via en titel sökning.
  • BDC-datakolumnen ger ett användarvänligt gränssnitt. (Detta är en del av mitt försök att använda BDC för en mer vänlig uppslagskolumn).

Sista BDC-fasad tjänsten använder en fråga som denna för att göra sökningen:

 // Använde U2U verktyg för att hjälpa till att skapa denna CAML query.
      oQuery.Query =
        "<Där>";

      om (titleFilter.Length > 0)
        oQuery.Query  =
          "  <Och>";

      oQuery.Query  =
        "    <Och>" +
        "      <GEQ>" +
        "        <FieldRef namn =  "DocumentId" />" +
        "        <Värde typ =  "Text">" + minId + "</Värde>" +
        "      </GEQ>" +
        "      <LEQ>" +
        "        <FieldRef namn =  "DocumentId" />" +
        "        <Värde typ =  "Text">" + maxId + "</Värde>" +
        "      </LEQ>" +
        "    </Och>";

      om (titleFilter.Length > 0)
        oQuery.Query  =
          "    <Innehåller>" +
          "      <FieldRef namn =  "Title" />" +
          "      <Värde typ =  "Text">" + titleFilter + "</Värde>" +
          "    </Innehåller>" +
          "  </Och>";
      oQuery.Query  =
        "</Där>";

Under det inledande skedet av utveckling, Detta fungerade bra. Men, vi infört mappar i katalogen för att lösa vissa problem och plötsligt, min BDC-picker skulle inte återvända några resultat. Jag spårade det ner till det faktum att SPQuery skulle aldrig återvända några resultat. Vi använde mappar främst för att tillåta flera filer med samma namn till vara belastat upp men med olika meta-data. När filen är uppladdad, Vi skapar en mapp baserade på listan objektets ID och sedan flytta filen där (Jag skrev om att Här; Vi har haft blandade resultat med detta synsätt, men på hela, det fungerar bra). Användaren inte bryr sig om mappar och faktiskt, förstå inte riktigt att det finns några mappar. Vi har konfigurerat alla synpunkter på biblioteket för att visa objekt utan hänsyn till mappar.

Jag slog detta problem två gånger som det tekniska genomförandet utvecklats och löst det annorlunda varje gång. Första gången, Jag var inte med operatorn innehåller i frågan. Utan en innehåller operator, Jag kunde lösa problemet genom att ange vyn på den SPQuery student. Istället för att använda standard konstruktören:

SPList oList = web.Listor["Dokument"];

SPQuery oQuery = nya SPQuery();

Jag använde istället en konstruktor som angav en vy:

SPList oList = web.Listor["Dokument"];

SPQuery oQuery = nya SPQuery(oList.Views["Alla dokument"]);

Som löste problemet och jag började få mina resultat.

Jag la sedan innehåller operatören i mixen och det bröt igen. Det visar sig att operatorn innehåller, så längt som jag kanna berätta, fungerar inte med om på samma sätt som i en enklare GEQ / LEQ operatörer. Jag auktoriserat inte något forskande och lärde sig att frågans ViewAttributes ska anges till "Recursive", som i:

oQuery.ViewAttributes = "Räckvidd = "Recursive"";

Som löste problemet för innehåller. I själva verket, Detta löste också min ursprungliga söka problem och om jag hade specificerat rekursivt attributet första gången, Jag skulle inte ha köra frågan igen.

Det faktum att en Visa-baserade SPQuery fungerar för vissa operatörer (GEQ/LEQ) och inte andra (INNEHÅLLER), tillsammans med det faktum att KPI inte verkar fungera alls med som innehåller mappen dokument bibliotek leder mig att tro att SPQuery har några ortogonalitet frågor.

Särskilt tack:

</slutet>

Prenumerera på min blogg!

MOSS KPI bugg? Listmarkör knuten till dokumentbibliotek med mappar

UPPDATERING 02/29/08: Jag löste problemet genom att skapa en mapp och sedan tilldela en innehållstyp till broschyren vilken de metadata som jag behöver för KPI: erna. Jag beskrivs som lite mer detaljerat här.

Vi har genomfört en teknisk lösning där användare ladda upp dokument i ett dokumentbibliotek. En händelsemottagare skapar en katalog och flyttas till den katalogen (med hjälp av en teknik som liknar vad jag skrev om Här). Vi har framgångsrikt navigerat runt de potentiella problem orsakade av händelsen mottagare som byta namn på uppladdade filer (främst på grund av att användare aldrig börja deras dokument genom att klicka på "ny" men i stället skapa docs lokalt och sedan ladda upp dem).

Metadata för dessa dokument innehåller ett ja/nej webbplatskolumn kallas "brådskande" och en annan webbplatskolumn kallas "Status". Vi måste uppfylla ett krav på företag som visar andelen "brådskande" dokument vars status är "Väntande".

Detta är oftast enkel att göra och jag beskrev något så mycket sånt här på SharePoint-Beagle med massor av skärm skott om du är intresserad.

I ett nötskal, Jag gjorde följande:

  • Skapa en vy på doc biblioteket kallas "Väntande".
  • Konfigurera vyn så att ignorera mappstruktur.
  • Skapa en KPI-lista.
  • Skapa en indikator i listan som pekar på doc lib och som "väntande" Visa.

Detta helt enkelt fungerar inte. KPI visar mitt mål (t.ex. fem brådskande dokument) men alltid visar det faktiska antalet brådskande dokument som noll. Paradoxalt nog, Om du borrar ner till Detaljer, Det visar de fem brådskande dokument i listan. Jag skapade en mycket enkel scenario med två dokument, en i en mapp och en inte. Här är skärmdump:

bild

Ovanstående skärmdump visar tydligt att det finns två dokument i vyn men "värde" är en. "CamlSchema" med tomt dokument-Id i rotmappen och den andra är i en mapp som heter "84".

Det förefaller mig att även om du anger en vy, KPI: N hedra inte "Visa alla objekt utan mappar" inställning och i stället, begränsar sig till rotmappen.

Om jag har fel, snälla släpp mig en linje eller lämna en kommentar.

</slutet>

Prenumerera på min blogg!

Technorati Tags:

SPD arbetsflöde “Samla in Data från en användare”: Ändra genererade Aktivitetsformulär

Jag arbetar på ett projekt som använder fem olika SharePoint Designer arbetsflöden för att hantera vissa dokumentgodkännanden. SPD ger den "samla in datan från en användare" åtgärd så att vi kan uppmana användaren för olika bitar av information, såsom huruvida de godkänner, några kommentarer och kanske fråga vad de hade för middag andra natten.

Formerna är perfekt fungerande. De är bundna till en uppgiftslista som en innehållstyp. De är 100% systemgenererade. Detta är deras styrka och svaghet. Om vi kan leva med standard form, då är vi bra att gå. Men, Vi har inte för mycket kontroll över hur SPD skapar form. Om vi inte gillar det standardbeteendet, Vi behöver tillgripa olika knep att komma runt det (till exempel, att ange prioriteten för en aktivitet).

Jag behövde lämna en länk om formulären uppgift att öppnas Visa egenskaper (DispForm.asxp) för den relaterade artikeln"" i ett nytt fönster. Detta ger ett klick tillgång till metadata för den relaterade artikeln. Detta är vad jag menar:

bild

Tack och lov, Vi kan göra det och det är inte mycket svårt. I stort sett, brand upp SPD, Navigera till den katalog som rymmer Arbetsflödesfiler och öppna ASPX-filen du vill ändra. Dessa är bara klassiska XSL-transformeringen instruktioner och om du har muckade med itemstyle.xsl, Sök eller andra XSL-scenarier, Detta kommer att bli lätt för dig. I själva verket, Jag hittade det är i allmänhet lättare eftersom formuläret genererade är lite lättare att följa jämfört med en webbdel för Sök kärna resultat (eller mardrömslika CWQP).

Självklart, Det finns en stor fallgrop. SPD: s arbetsflödesredigeraren förväntar sig full kontroll över filen. Om du ändrar det, SPD glatt över din ändringar ge rätt uppsättning omständigheter. Jag gjorde två snabba tester för att se hur illa detta skulle kunna få. De båda förutsätter att du har tagit fram ett giltigt SPD arbetsflöde som använder den "samla in datan från en användare" steg.

Testet 1:

  • Ändra aspx-filen för hand.
  • Testa den (Kontrollera att ändringar sparats korrekt och didn't break någonting).
  • Öppna arbetsflödet och lägga till en icke-närstående åtgärd (såsom "logga in historia").
  • Spara arbetsflödet.

Resultat: I detta fall, SPD inte återskapa form.

Testet 2:

  • Gör samma sak som #1 utom direkt ändra "samla in-data från en användare" åtgärd.

Resultat: Detta återskapar formuläret från början, onlineläge ändringarna.

Slutliga anteckningar:

  • Minst två SPD åtgärder skapa formulär här: "Samla in Data från en användare" och "Tilldela att göra objekt". Båda dessa åtgärder’ formulär kan ändras manuellt.
  • Jag har kunnat skapa min länk till dispform.aspx eftersom, i detta fall, relatera artikeln har alltid dess ID inbäddad i den relaterade artikeln URL. Jag fick möjlighet att extrahera den och sedan bygga en <en href> bygger på att tillhandahålla ett klick meta data funktionen. Det är osannolikt att din URL följer denna regel. Det kan finnas andra sätt att få ID för den relaterade artikeln men jag har inte haft att korsa det överbryggar, så jag inte vet om att den andra sidan av klyftan.
  • Jag undersöka inte, men jag skulle inte bli förvånad om det finns något slags mallfil i den 12 registreringsdatafilen som jag kunde ändra för att påverka hur SPD genererar formulären standard (ungefär som vi kan ändra varning mallar).

</slutet>

Prenumerera på min blogg!

Är “Okänt fel” Meddelanden verkligen bättre än en stackspårning?

Jag läste Dårhusens blogginlägg om hur man Aktivera stack trace visar och nu är jag undrar: Varför inte vi alltid Visa en stackspårning?

Som kom med denna regel och varför följer vi det?

Slutanvändarna kommer att veta något är fel i båda fallen. Åtminstone med en stackspårning, de kan trycka på kontroll-printscreen, kopiera/klistra in i ett mail och skicka det till det. Det skulle helt klart minska den tid och ansträngning som krävs för att lösa frågan.

</slutet>

Technorati Tags:

Söndag (Pinsamt) Rolig: “Mitt namn är Paul Galvin”

Ett gäng år sedan, min chef bad mig att träna vissa användare på en produkt som kallas resultat. Resultaten är en slutanvändare rapporteringsverktyg. Det är ungefär detsamma som SQL Server Reporting Service eller kristall. På gång, Det var avsedd att köras på gröna rör (t.ex. Wyse 50 Terminal) ansluten till en Unix i via telnet.

Min standard svar på någon fråga som börjar med "kan du … " är "Ja" och det är där alla problem började.

Klienten var ett kemiskt företag ute i södra Kalifornien och hade bara om insvept en större ERP-genomförande bygger på QADS MFG/PRO. Genomförandeplanen nu kallas för utbildning power slutanvändare på produktens resultat.

Jag var inte en stor användare av detta verktyg och hade aldrig tränat någon innan. Men, Jag hade gjort ett antal andra utbildning klasser och var snabb på mina fötter, så jag inte var alltför orolig. Dennis, den verkliga heltid resultat-instruktören, hade gett mig sitt utbildningsmaterial. Ser tillbaka på det nu, Det är egentligen ganska absurt. Jag visste inte produkten väl, aldrig hade utbildats formellt på den och hade aldrig lärt det. Vad jag har utbildning någon på det?

Att komplicera saker logistiskt, Jag blev ombedd att gå och träffa någon i Chicago som en del av en före försäljning engagemang längs vägen. Planen var att flyga ur New Jersey, gå till Chicago, träffa utsikterna för en timme och sedan fortsätta till California.

Brunn, Jag kom till Chicago och försäljning killen i mitt lag hade gjort några misstag och aldrig bekräftade mötet. Så, Jag visade upp och utsikten var inte där. Toppen. Jag packa ihop och lämna och fortsätta till CA. Någonstans under denna process, Jag reda på att klienten lär sig mindre än 24 timmar före min ankomst som "Paul Galvin" undervisar klassen, inte Dennis. Klienten älskar Dennis. De vill veta "Vem är denne Paul Galvin?" "Varför ska vi lita på honom?" "Varför ska vi betala för honom?" Dennis uppenbarligen inte prenumerera på min "ge dåliga nyheter tidigt" filosofi. Toppen.

Jag anländer på flygplatsen och några otroligt dum anledning, Jag hade kollat mitt bagage. Jag gjorde det till LAX men mitt bagage inte. För mig, förlorar bagage är mycket som går igenom den sju stadier av sorg. Så småningom göra jag det till hotellet, med inget bagage, trött, hungriga och bär min (nu, mycket skrynkliga) kostym. Det tar lång tid att resa från Newark — till O'Hare — till en klient — tillbaka till O'Hare — och slutligen till LAX.

Slutligen tycker jag själv sitter på hotellrummet, mumsa på en snickers bar, utmattad och försöker trumma upp energi att skanna igenom utbildningsmaterialet igen så att jag inte ser ut som en komplett röv framför klassen. Detta var lite av en låg punkt för mig då.

Jag vaknade upp nästa dag, gjorde mitt bästa för att släta ut min kostym så att jag inte ser ut som Willy Loman på en dålig dag och leds till klienten. Som så ofta är fallet, person var hon fin, artig och trevlig. Detta stod i skarp kontrast till hennes extremt arga e-post/voicemails från föregående dag. Hon leder mig om 3 mil genom byggnad efter byggnad till en sektioneras bort området i jättelika kemiska lager där vi kommer att genomföra klassen för de närmaste tre dagarna. Den 15 eller 20 studenter montera långsamt, de flesta dem fortfarande väntar Dennis.

Jag börja alltid min utbildning klasser genom att introducera mig själv, att ge lite bakgrund och skriva min kontaktinformation på Whiteboard. Som jag säger, "God morgon, mitt namn är Paul Galvin", Jag skriver mitt namn, e-post och telefon nummer upp på vita tavlan i stora bokstäver så att alla kan se det tydligt. Jag hantera det faktum att jag byter Dennis och jag försäkra dem om att jag är en lämplig ersättare, m.m.. Jag har alla kort berätta deras namn och vad de vill uppnå ur klassen så att jag kan skräddarsy saker till deras specifika krav när jag går längs. Sedvanliga.

Vi wrap som och skjuta upp projektorn. Jag går för att radera min kontakt information och … Jag hade skrivit det i permanenta märkpenna. Jag var så generad. I min inre syn, det såg ut så här: Det är detta "Paul Galvin" person, sista minuten ersättning för våra älskade Dennis. Han bär en skrynklade upp kostym och orakad. Han har bara skrivit sitt namn stora bokstäver på våra vita ombord i permanenta märkpenna. Vad en syn!

Det hela slutade lyckligt, men. Detta var ett kemiskt företag, Trots allt. A grånade veteran anställd drog något från hyllan och, förmodligen i strid med EPA förordningar, rensat i styrelsen. Jag lyckades bo 1/2 dagen före klassen i hela kursen och de gav mig en bra recension i slutet. Detta cementerade min "pinch torped" rykte på mitt företag. Mitt bagage kom den första dagen, så jag var mycket mer presentabel dagar två och tre.

Så jag tog den röda ögonen hemma, Jag överväger "lärdomar". Det fanns mycket att begrunda. Kommunikation är nyckeln. Berätta för klienter om förändringar i plan. Inte någonsin kontrollera ditt bagage på flygplatsen om du möjligen kan undvika det.. Ta med extra "saker" Om du kollar ditt bagage och det gör inte det. Jag tror att den viktigaste lärdom, men, var detta: testa alltid en markör i det nedre vänstra hörnet av en vit bräda innan du skriver, i stora bokstäver, "Paul Galvin".

</slutet>

Technorati Tags: ,

Perspektiv: SharePoint vs. den stora Hadron Collider

På grund av några oddball United Airlines flyg ägde jag i mitten av 90-talet, Jag på något sätt slutade med ett erbjudande om att omvandla "oanvända km" i ett tiotal gratis tidningsprenumerationer. Det är hur jag hamnade prenumerera på Scientific American magazine.

Som programvara / samråd med människor, Vi möter många svåra affärsmässiga krav i vår karriär. Mest tid, Vi älskar de kraven skall uppfyllas och i själva verket, Det är nog varför vi tror att denna karriär är bäst i världen. Ibland undrar jag bara vad i hela världen skulle jag har gjort med mig själv om jag hade fötts vid någon annan tidpunkt i historien. Hur hemskt det vore att gå miste om vilka typer av arbete som jag får göra nu, på denna tid och plats i världshistorien? Jag tror: ganska hemska.

Under åren, några av de krav som jag har haft har varit extremt utmanande att möta. Komplexa SharePoint grejer, bygga web bearbetning ramverk baserade på icke-web-vänlig teknik, komplexa BizTalk-orkestern och liknande. Vi kan alla (förhoppningsvis) se stolt tillbaka på vår karriär och säga, "Ja, Det var en hård en att lösa, men till slut jag pwned som sumbitch!" Ännu bättre, ännu mer intressanta och roliga utmaningar väntar.

Personligen tror jag att mitt CV, i detta avseende, är ganska djup och jag är ganska stolt över det. (fast jag vet att min fru kommer aldrig att förstå 1/20th av det). Men denna vecka, Jag läste en artikel om den Stora Hadron Collider i min Scientific American tidningen och hade en av dessa sällsynta ödmjuk stunder där insåg jag att trots min "jätte" status i vissa kretsar eller hur djupt jag tror min väl erfarenhet, Det finns riktiga jättar i helt olika världar.

Folket i LHC-laget har några riktigt svåra frågor att hantera. Överväga att månen. Jag tror faktiskt inte mycket om månen (men jag har varit mycket misstänksam om det sedan jag lärde mig det saktar jordens rotation, som inte kan vara en bra sak för oss människor på lång sikt). Men, LHC team har oroa dig. LHCS mätinstrument är så känsliga att de påverkas av månens (Earth-rotation-slowing-and-eventually-Killing-all-Life) gravitation. Det är en fan av ett krav på att uppfylla — producera korrekta mätningar trots månens störningar.

Jag tänkte att fråga när jag läste denna mening: Ta emot "den första nivån kommer att och analysera data från endast en delmängd av alla detektorns komponenter, från som man kan plocka ut lovande händelser utifrån isolerade faktorer såsom huruvida sågs en energisk myon flyger ut på en stor vinkel från beam axel." Verkligen … ? Jag kan inte spela i den typ av sandlåda och aldrig kommer att.

Nästa gång jag är ute med några vänner, Jag kommer att höja en skål för de goda människorna som arbetar på LHC, hoppas de inte framgångsrikt väga boson Higgspartikeln och förbanna månen. Jag föreslår att du gör samma. It will be quite the toast 🙂

</slutet>

Technorati Tags: