Rask & Enkel: Opprett en mappe og tilordner en innholdstype (Eller, Har din KPIer og spise dem også)

For å omgå en KPI-problemet Jeg skrev om her, Jeg did noe tester og oppdaget at KPIS arbeid mot mapper med metadata på samme måte som de jobber mot dokumenter eller listeelementer. Jeg viste den ut ved å opprette en ny innholdstype basert på mappen innhold og lagt noen felt. Jeg laget noen indikatorer og bevist for meg selv som KPIer virker som forventet. Dette var velkomne nyheter. Det er ikke perfekt, fordi neddrillingen du får fra er KPI mot mappene ikke akkurat hva du vil. Dette er ikke mye en ulempe i mitt tilfelle fordi 1) sluttbrukeren ikke vet bedre og 2) neddrillingen går til en mappe. De klikker mappenavnet og de er på elementet. Det er to klikk i stedet for en, som er ikke slutten av verden.

Dette kom pent med arbeidet jeg gjorde. Jeg oppretter en mappe for hvert dokument som blir lastet opp. Dette gjøres via en hendelsesmottaker. Som et resultat, Det er et stykke kake å holde den overordnet mappe metadata som er synkronisert med KPI-drevet metadata fra selve filen siden avløp er allerede på plass. This allows me to have my KPI’s and eat them too 🙂

Jeg endret hendelsesmottaker legge til mappen og deretter angi denne nye mappen innholdstype min egendefinerte KPI-vennlig innholdstype. Tilværelse did kunsten:

 SPFolderCollection srcFolders = targetWeb.GetFolder("Dokumenter").Undermapper;
  SPFolder addedFolder = srcFolders.Add(egenskaper.ListItem.ID.ToString());
  SPContentTypeId kpiCT = nye SPContentTypeId("0x0120002A666CAA9176DC4AA8CBAA9DC6B4039F");
  addedFolder.Item["Innholdstype-ID"] = kpiCT;
  addedFolder.Item.Update();

Å finne de faktiske innholdstype-ID, Jeg åpnet denne innholdstypen via områdeinnstillinger og avskrift/pasta det fra URL-adressen som vises:

bilde

</slutten>

Abonner på bloggen min!

Technorati Merkelapper: ,

Rask og enkel: Få SPFolder av en SPListItem i en Event-mottaker

Jeg hater å innrømme det., men jeg kjempet med dette alle dag. Min hendelsesmottaker må oppdatere et felt i den overordnede mappen. Litt viser hvordan du gjør det:

privat ugyldige UpdateParentFolder(SPItemEventProperties Egenskaper)
{

SPFolder thisItemFolder = egenskaper.ListItem.File.ParentFolder;
thisItemFolder.Item["ZZ Godkjenningsstatus"] = "Gode nyheter, alle!";
thisItemFolder.Item.Update();


} // UpdateParentFolder

I dette tilfellet, Jeg arbeider med et dokumentbibliotek og egenskapene kommer fra en ItemAdded-hendelse.

Trikset er at du ikke kan få SPFolder av varen direkte fra selve elementet (dvs.. egenskaper.ListItem.Folder er null). I stedet, gå til listeelementet tilknyttede filen og få filmappe.

</slutten>

Abonner på bloggen min!

Technorati Merkelapper:

Ennå en annen hendelse mottaker Debug knep

Jeg sikker på at ikke jeg er den første personen til å komme opp med dette. Men, Jeg har ikke merke noen publisere et triks som dette siden jeg startet betalende hensyn til samfunnet i juli. Så, Jeg tenkte jeg skulle poste den denne rask og enkel feilsøking tips.

Jeg jobber med en hendelsesmottaker begynt å generere denne feilen i det 12 struktur:

Feil ved lasting og kjører hendelsesmottaker Conchango.xyzzyEventReceiver i xyzzy, Versjon = 1.0.0.0, Culture = neutral, PublicKeyToken = blahbalhbalh. Tilleggsinformasjon er under. : Objektreferanse er ikke satt til en forekomst av et objekt.

Jeg visste ikke hvor jeg hadde introdusert denne feilen fordi jeg hadde gjort for mange ting i en av min kode/distribuere og teste sykluser.

Jeg prøvde Denne løsningen å få min pdb der med håp om at SharePoint 12 strukturen vil vise stakksporingen, men uten hell. Jeg vet ikke om det er mulig og hvis noen ikke, gi meg beskjed 🙂

Jeg vet det er mulig å skrive din egen loggmeldinger til den 12 struktur. Ærlig, Jeg ville ha noe mindre skremmende og raskere å gjennomføre.

Det slo meg at jeg minst kunne få noen grunnleggende sporingsinformasjon ved å fange og re-kaster generiske unntak som dette:

  Prøv {
    UpdateEditionDate(Egenskaper);
  }
  fange (Unntak e)
  {
    kaste nye Unntak("Sentralen, UpdateEditionDate(): Unntak: [" + e.ToString() + "].");
  }

Dette dukket opp i den 12 hive thusly:

Feil ved lasting og kjører hendelsesmottaker Conchango.xyzzyEventReceiver i xyzzy, Versjon = 1.0.0.0, Culture = neutral, PublicKeyToken = blahblahblah. Tilleggsinformasjon er under. : Sentralen, UpdateEditionDate(): Unntak: [System.NullReferenceException: Objektreferanse er ikke satt til en forekomst av et objekt. ved Conchango.xyzzyManagementEventReceiver.UpdateEditionDate(SPItemEventProperties egenskaper) ved Conchango.xyzzyManagementEventReceiver.Dispatcher(SPItemEventProperties egenskaper, Streng eventDescription)].

Det ga meg alle detaljene jeg trengte å spore opp det aktuelle problemet, og jeg forventer å bruke det mye fremover.

</slutten>

Abonner på bloggen min!

Søndag Funny: “IKKE FOR EKSPORT”

Tilbake rundt 1998, selskapet jeg jobbet samtidig fikk noen midler til å opprette et nytt produkt som e-handel. Vi hadde hele skalaen av forretningsbehov å møte. Det måtte være rask, enkelt for sluttbrukere, prangende, flere språk, osv.. Trist å si, Jeg ikke har sannsynligvis hatt som en ambisiøs arbeid å gjøre siden de berusende dagene.

Dette pre-datert Microsoft.NET. Vanlig vanilje ASP var fortsatt noe nytt (eller minst veldig ukjent for firmaet). "Murstein og mørtel" selskaper ble dømt. Dømt! Dette er å si at det var banebrytende arbeid. Ikke Hadron Collider pionerarbeid, men for oss i vår lille verden, Det var banebrytende arbeid.

Vi var sprø Travel. Vi gjorde mini POCS nesten hver dag, finne ut hvordan du opprettholder tilstand i en iboende statsløse medium, finne ut flere problemer, rad brukersikkerhet. Vi hadde utvikler et ordforråd til å definere grunnleggende begreper (Jeg foretrakk state-vedvarende men for noen grunn, den keitete "statefull" vant dagen).

Som vi var vilt oppfinnelsen dette produktet, markedsføring og salg folk var der ute prøver å selge den. Liksom, de klarte å selge den til våre mareritt scenario. Selv om vi var utforming og implementering av en bedriftsløsning, vi egentlig ventet ikke den første kunden hver siste funksjonen vi bygget på produktet dagen null. Denne kunden nødvendig flerspråklig, et radikalt forskjellige brukergrensesnitt fra standard"" systemet, men med samme forretningslogikken. Flerspråklig var spesielt vanskelig i dette tilfellet, fordi vi alltid fokusert på spansk eller fransk, men i dette tilfellet, Det var kinesisk (som er et dobbelbyte-tegnsett satt og nødvendig spesiell håndtering gitt teknologien vi brukte).

Spol fremover er noen måneder og jeg på en Northwest airlines flight til Beijing. Jeg har vært så opptatt med å forberede for denne turen som jeg har nesten ingen anelse hva det er som for å gå dit. Jeg hadde lest en bok en gang om hvordan en amerikansk hadde vært i Kina i flere år og hadde lært seg språket. En dag han gikk byen og spurte noen om retninger. Samtalen gikk noe dette:

  • Amerikanske: "Kan du fortelle meg hvordan [XX] Street?"
  • Kinesisk: "Beklager, Vi snakker ikke engelsk".
  • Amerikanske: "Oh, Vel snakker jeg Mandarin." og han ba dem igjen på kinesisk, men tydeligere (som best han kunne).
  • Kinesisk: Veldig høflig, "Beklager, Vi snakker ikke engelsk".

Samtalen gikk på som det bit og amerikanske ga opp i frustrasjon. Som han forlot dem overhørte han en mann snakker til den andre, "Jeg kunne ha sverget han ba for veibeskrivelse til [XX] Street."

Jeg hadde plukket opp et par biter og stykker av andre Kina-relatert kvasi informasjon og "nyttige råd":

  • En koreansk co jobbet fortalte meg at jeg måtte være forsiktig av kinesiske fordi "de ville prøve å få meg full og dra nytte av du" i forstand av å presse meg til dårlig forretningsbeslutninger.
  • Vi fikk ikke lov til å kjøre biler (Det var litt forvirring som om dette var en tilpasset, en juridiske krav eller bare klientens regel).
  • Det var spesielle regler for å gå gjennom tollen.
  • Vi var ikke lov å bruke amerikanske penger for noe.
  • Du skal ikke etterlot tips. Det er krenkende hvis du gjør.

Og til slutt, Jeg hadde relativt fersk minner den Tiananmen-massakren. Da jeg var på college, Jeg husker sanntid Usenet innlegg som verden så på i skrekk.

Kort sagt, Jeg var veldig nervøs. Jeg var ikke bare normal-nervøs i den forstand at jeg var å levere en løsning som var flere størrelsesordener mer komplisert enn noe jeg noensinne hadde gjort før. Jeg var også bekymret tilfeldigvis bryte en regel som kan få meg i trøbbel.

Jeg på dette 14 timers flytur, og selv om det var businessklasse, 14 timer er forbannet lang tid. Det er bare så mange måter å underholde deg selv ved å lese, filmer eller spille med de magnetisert bestikk. Selv en virkelig god bok er vanskelig å lese for flere timer rett.

Til slutt, Jeg begynte å lese emballasjen på programvare jeg var hånden-bærer med meg til klienten, Netscapes webserver. Jeg leser kravene maskinvare/programvare, markedsføring presentasjon, ser ganske bildet og plutselig, Jeg fokusere på gigantiske "ikke FOR eksport" Advarsel, noe om 128 biters kryptering. Jeg fylt boksen tilbake i min bæreveske, Advarsel-skrift ned (som om det ville ha hjulpet) og prøvde å holde visjoner Midnight Express ut av hodet mitt.

Ser tilbake på det nå, Jeg burde ha vært bekymret, Hvis i det hele tatt, da jeg forlot 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.

</slutten>

Abonner på bloggen min!

Technorati Merkelapper: ,

Løsning: SPQuery søker ikke mapper

Denne siste uken var jeg implementere en "utvikling" løsning for en klient som bruker BDC og SPQuery og løp inn noen problemer med å bruke SPQuery mot et dokumentbibliotek som inneholder mapper. Bunnlinjen: Tilordne "rekursiv" Vis attributt for spørringen.

Meg filmmanuskriptet:

  • Mandag, Jeg laste opp et dokument og angi noen metadata.
  • Neste uke, Jeg laster opp et nytt dokument. Mye av dette nye dokumentet metadata er basert på dokumentet jeg lastet opp mandag (som vi kaller "hoveddokumentet").
  • Vi har laget en web service fasade som gir en BDC-grensesnitt til listen slik at brukere kan enkelt finne mandag dokumentet via en tittel søk.
  • En BDC-datakolonne gir et brukervennlig grensesnitt. (Dette er en del av mitt forsøk på å bruke BDC for mer vennlig oppslagskolonner).

Siste BDC fasade tjenesten bruker en spørring som dette for å gjøre oppslag:

 // Brukte U2U verktøyet for å hjelpe generere CAML spørringen.
      oQuery.Query =
        "<Der>";

      Hvis (titleFilter.Length > 0)
        oQuery.Query  = (likhetstegn)
          "  <Og>";

      oQuery.Query  = (likhetstegn)
        "    <Og>" +
        "      <GEQ>" +
        "        <FieldRef navn =  "DocumentId" />" +
        "        <Verditype =  "Text">" + minId + "</Verdi>" +
        "      </GEQ>" +
        "      <LEQ>" +
        "        <FieldRef navn =  "DocumentId" />" +
        "        <Verditype =  "Text">" + maxId + "</Verdi>" +
        "      </LEQ>" +
        "    </Og>";

      Hvis (titleFilter.Length > 0)
        oQuery.Query  = (likhetstegn)
          "    <Inneholder>" +
          "      <FieldRef navn =  "Title" />" +
          "      <Verditype =  "Text">" + titleFilter + "</Verdi>" +
          "    </Inneholder>" +
          "  </Og>";
      oQuery.Query  = (likhetstegn)
        "</Der>";

Under den innledende fasen av utviklingen, Denne arbeidet stor. Men, vi introdusert mapper i mappen å løse noen problemer og plutselig, min BDC-velgeren ville ikke returnerer noen resultater. Jeg sporet dette ned til det faktum at SPQuery ville aldri returnere noen resultater. Vi brukte mapper primært for å tillate flere filer med samme navn lastes, men med forskjellige metadata. Når filen er lastet opp, Vi skaper en mappe på listeelementet IDen og deretter flytte filen der (Jeg skrev om det her; Vi har hatt blandede resultater med denne tilnærmingen, men på hele, det fungerer bra). Brukeren ikke bryr seg om mapper og faktisk, ikke forstå at det er noen mapper. Vi har konfigurert alle visningene på biblioteket for å vise elementer uten hensyn til mapper.

Jeg traff dette problemet dobbelt så den tekniske gjennomføringen utviklet seg og løst det annerledes hver gang. Første gang, Jeg bruker ikke operatoren inneholder i spørringen. Uten en inneholder operatør, Jeg klarte å løse problemet ved å angi visningen i SPQuery contructor. Istedet for benytter Standardkonstruktøren:

SPList oList = web.Lister["Dokumenter"];

SPQuery oQuery = nye SPQuery();

Jeg brukte i stedet en konstruktør som angitt en visning:

SPList oList = web.Lister["Dokumenter"];

SPQuery oQuery = nye SPQuery(oList.Views["Alle dokumenter"]);

Det løste problemet og jeg begynte å få mine resultater.

Jeg deretter lagt operatoren inneholder inn i blandingen, og ble igjen. Det viser seg at operatoren inneholder, så vidt jeg kan fortelle, fungerer ikke med visningen på samme måte som i en enklere GEQ / LEQ operatører. Jeg did noe forskende og lært at spørringen ViewAttributes bør settes til "Rekursivt", som i:

oQuery.ViewAttributes = "Omfang = "Recursive"";

Det løste problemet for inneholder. faktisk, Dette også løst problemet mitt opprinnelige søk og hvis jeg hadde angitt rekursiv attributt første gang, Jeg ville ikke ha kjørt i spørsmålet igjen.

Det faktum at en visningsbasert SPQuery fungerer enkelte leverandører (GEQ/LEQ) og ikke andre (INNEHOLDER), kombinert med det faktum at KPIer ikke synes å arbeide med alle med mappen som inneholder dokumentet biblioteker fører meg til å tro at SPQuery har noen orthogonality problemer.

Spesiell takk:

  • Den gode folk på U2U og deres spørringsverktøyet.
  • Michael Hoffers store "Lær" blogginnlegg, kommentarer og svar.

</slutten>

Abonner på bloggen min!

Technorati Merkelapper: ,

MOSS KPI feil? Listeindikatoren knyttet til dokumentbiblioteket med mapper

OPPDATERINGEN 02/29/08: Jeg løste dette problemet ved å opprette en mappe og deretter tilordne en innholdstype til mappen som har metadata jeg nød for KPIene. Jeg beskrev det i litt mer detalj her.

Vi har implementert en teknisk løsning der brukere laste opp dokumenter til et dokumentbibliotek. En hendelsesmottaker oppretter en mappe og flytter filen til denne mappen (bruker en teknikk som ligner på det jeg skrev om her). Vi har vellykket navigert rundt potensielle problemene forårsaket av hendelsesmottakere som gi opplastede filer (hovedsakelig fordi brukere aldri begynne dokumentet ved å klikke på "ny" men i stedet opprette dokumenter lokalt og laster dem deretter opp).

Metadata for dokumentene inneholder Ja/nei områdekolonne kalt "haster" og en annen områdekolonne kalt "Status". Vi trenger å møte et forretningskrav som viser prosentandelen av "haster" dokumenter der statusen er "Ventende".

Dette er vanligvis enkel å gjøre og jeg noe veldig mye som dette på SharePoint Beagle med masse skjermbilder hvis du er interessert.

I et nøtteskall, Jeg did det fulgte:

  • Opprett en visning på doc bibliotek kalt "Ventende".
  • Konfigurere visningen for å ignorere mappestruktur.
  • Opprette en ytelsesindikatorliste.
  • Opprette en indikator som peker til doc lib og som "ventende" Vis.

Dette bare fungerer ikke. KPIen viser mitt mål (f.eks. fem inntrengende dokumenter) men alltid viser det faktiske antallet inntrengende dokumenter som null. Paradoksalt nok, Hvis du gå til detaljene, viser fem haster dokumentene i listen. Jeg laget en meget enkel situasjon med to dokumenter, i en mappe og en ikke. Her er skjermbilde:

bilde

Skjermbildet ovenfor viser tydelig det er to dokumenter i visningen men "value" er en. "-CamlSchema" med tomt dokument-Id er i rotmappen og den andre er i mappen "84".

Det synes for meg at selv om du angir en visning, KPI ære ikke i "Vis alle elementer uten mapper" Angi og i stedet, begrenser seg til rotmappen.

Hvis jeg tar feil, Vennligst send meg en linje eller Legg igjen en kommentar.

</slutten>

Abonner på bloggen min!

Technorati Merkelapper:

SPD-arbeidsflyt “Samle inn Data fra en bruker”: Endre genererte aktivitetsskjemaet

Jeg arbeider på et prosjekt som bruker fem forskjellige SharePoint Designer arbeidsflyt til å håndtere noen dokumentet godkjenninger. SPD gir "samle data fra en bruker" handlingen slik at vi kan be brukeren om forskjellige informasjonsbiter, som om de godkjenne den, noen kommentarer og kanskje spørre hva de hadde til middag den andre natten.

Skjemaene er perfekt funksjonelle. De er knyttet til en oppgaveliste som en innholdstype. De er 100% systemgenerert. Dette er deres styrke og svakhet. Hvis vi kan leve med standardskjemaet, så er vi gode å gå. Men, Vi har ikke mye kontroll over hvordan SPD oppretter skjemaet. Hvis vi ikke liker denne standardvirkemåten, Vi må ty til ulike triks for å komme rundt det (for eksempel, Angi prioritet for en oppgave).

Jeg måtte gi en link på disse aktivitetsskjemaer som åpnet Visningsegenskaper (DispForm.asxp) av den "relaterte varen" i et nytt vindu. Dette gir Ettklikkstilgang til metadata av den relaterte varen. Dette er hva jeg mener:

bilde

Heldigvis, Vi kan gjøre det og det er ikke vanskelig. Stort sett, fyre opp SPD, Naviger til mappen som huser arbeidsflytfilene og åpne ASPX-filen du vil endre. Dette er bare klassiske XSL-transformeringen instruksjoner og hvis du har kastet med itemstyle.xsl, Søk eller andre XSL-scenarier, Dette vil være enkelt for deg. faktisk, Jeg fant det å være generelt enklere siden det genererte skjemaet er noe lettere å følge sammenlignet med en kjerne søkeresultater-webdelen (eller marerittaktige CWQP).

selvfølgelig, Det er en stor fallgruve. Redigeringsprogrammet for SPD arbeidsflyt forventer full kontroll over filen. Hvis du endrer det, SPD lykkelig overskrive din endringer gi høyre sett med omstendigheter. Jeg gjorde to rask tester for å se hvor ille dette kan få. Begge forutsetter at du har laget en gyldig SPD arbeidsflyt som bruker "samle data fra en bruker" Trinn.

Test 1:

  • Endre filen ASPX for hånd.
  • Test den (Kontroller at endringene var riktig lagret og ikke ødelegge noe).
  • Åpne arbeidsflyten og legger til en relatert handling (som "log historie").
  • Lagre arbeidsflyten.

Resultatet: I dette tilfellet, SPD ikke gjenopprette skjemaet.

Test 2:

  • Gjør det samme som #1 bortsett fra direkte endre "samle data fra en bruker" handling.

Resultatet: Dette oppretter nytt skjema fra bunnen, skrive over endringene.

Siste notater:

  • Minst to SPD handlinger oppretter skjemaer som dette: "Samle Data fra en bruker" og "Tilordne til elementet". Begge disse handlingene’ skjemaer kan endres manuelt.
  • Jeg kunne generere min link til dispform.aspx fordi, i dette tilfellet, relatere varen har alltid sin ID innebygd i den relaterte varen URL. Jeg klarte å pakke den og deretter bygge en <et href> basert på det å gi funksjonen ett klikk meta data tilgang. Det er usannsynlig at nettadressen følger denne regelen. Det kan være andre måter å få ID av den relaterte varen, men jeg har ikke hatt å krysse denne broen, så jeg ikke vet om får til den andre siden av kløften.
  • Jeg undersøke ikke, men jeg ville ikke bli overrasket hvis det er en slags malfil i den 12 strukturen som jeg kunne endre for å påvirke hvordan SPD genererer standardskjemaene (mye som vi kan endre alert maler).

</slutten>

Abonner på bloggen min!

Technorati Merkelapper: ,

Er “Ukjent feil” Meldinger virkelig bedre enn en stabel sporingsflagg?

Jeg leser Madhurs blogginnlegg om hvordan du aktivere stack trace viser og nå jeg lurer på: Hvorfor ikke vi alltid vise en stabel sporingsflagg?

Som kom opp med denne regelen, og hvorfor vi følger det?

Sluttbrukere vil vite noe er galt uansett. Minst med en stabel spor, de kan trykke kontroll-printscreen, lime inn en e-post og sende den til det. Det ville klart redusere tid og krefter kreves for å løse problemet.

</slutten>

Technorati Merkelapper:

Søndag (Pinlig) morsom: “Mitt navn er Paul Galvin”

En rekke år siden, sjefen min spurte meg å trene noen brukere på et produkt som kalles resultater. Resultatet er en sluttbruker rapporteringsverktøy. Det er omtrent tilsvarende SQL Server Reporting Service eller krystall. Samtidig, den ble utformet for å kjøre på grønne rør (f.eks. WYSE 50 Terminal) koblet til en Unix-boksen via telnet.

Min standard svare på noen av spørsmålene som starter med "kan du … " "Ja" og det er der alle problemer begynte.

Klienten var en kjemiske selskap ut i Sør-California og hadde bare om pakket opp en større ERP-implementering som er basert på QADS MFG/PRO. Implementeringsplan nå kalt trening makt sluttbrukere på resultater produktet.

Jeg var ikke en stor bruker av dette verktøyet, og sikkert aldri trente noen før. Men, Jeg hadde gjennomført en rekke andre trening klasser og var rask på føttene, så jeg ikke var altfor bekymret. Dennis, ekte heltids resultater instruktøren, hadde gitt meg hans opplæringsmateriell. Ser tilbake på det nå, Det er egentlig ganske absurd. Jeg visste ikke produktet godt, hadde aldri blitt formelt utdannet på den og hadde sikkert aldri lært den. Hva business har jeg trening på den?

Til å komplisere ting logistisk, Jeg ble bedt om å gå og møte noen i Chicago som en del av en pre-salg engasjement underveis. Planen var å fly ut av New Jersey, gå til Chicago, møte en time med prospektet og deretter fortsette til California.

Brønnen, Jeg fikk til Chicago, og salget fyren på mitt lag hadde gjort noen feil og aldri bekreftet møtet. Så, Jeg viste opp, og utsiktene var ikke det. Formidabelt. Jeg pakke opp og la og fortsetter CA. Et sted underveis, Jeg finner at klienten er lærer mindre enn 24 timer før min ankomst at "Paul Galvin" er undervisning klassen, ikke Dennis. Klienten elsker Dennis. De vil vite "hvem er dette Paul Galvin person?" "Hvorfor skal vi stole på ham?" "Hvorfor skal vi betale for ham?" Dennis åpenbart ikke abonnere på min "gi dårlige nyheter tidlig" filosofi. Formidabelt.

Jeg kommer på flyplassen, og for noen utrolig dum grunn, Jeg hadde sjekket bagasjen min. Jeg gjorde det til LAX men bagasjen ikke. For meg, mister bagasjen er mye som å gå gjennom den syv stadier av sorg. Til slutt gjøre jeg det til hotellet, med ingen bagasje, lei, sulten og bruk min (nå, svært crumpled) bedrift Dress. Det tar lang tid å reise fra Newark — til O'Hare — til en klient — tilbake til O'Hare — og til slutt til LAX.

Jeg til slutt finner meg selv sittende i hotellrommet, munching på en snickers bar, utmattet og prøver å tromme opp energi til å søke gjennom opplæringsmateriellet igjen slik at jeg ikke ser ut som en komplett ass foran klassen. Dette var litt av et lavt punkt for meg på tiden.

Jeg våknet neste dag, gjorde mitt beste for å jevne ut min Dress slik at jeg ikke ser som Willy Loman på en dårlig dag og satte kursen på over til klienten. Som så ofte tilfelle, i person var hun hyggelig, høflig og hyggelig. Dette sto i sterk kontrast til hennes ekstremt sint e-post/talepostmeldinger fra gårsdagen. Hun leder meg om 3 miles gjennom bygningen etter bygningen til et delt av område i gigantiske kjemiske lager der vi vil gjennomføre klassen for de neste tre dagene. Den 15 eller 20 studenter montere sakte, de fleste fortsatt venter Dennis.

Jeg har alltid starte av min trening klasser ved å introdusere meg selv, gi noe bakgrunn og skrive min kontaktinformasjon på den hvite bordet. Som jeg sier, "God morgen, mitt navn er Paul Galvin", Jeg skrive navnet mitt, e-post og telefon antallet opp på den hvite bordet i store bokstaver slik at alle kan se det tydelig. Jeg adressen at jeg erstatter Dennis og jeg forsikre dem om at jeg er en passende erstatning, osv.. Jeg har alle kort fortelle meg navnet og hva de ønsker å oppnå av klassen slik at jeg kan skreddersy ting å deres spesifikke behov som jeg går langs. Den vanlige ting.

Vi bryte det opp og brann opp projektoren. Jeg gå slette min kontaktinfo og … Jeg hadde skrevet det i permanent markør. Jeg var så flau. I mitt indre øye, det så ut som dette: Det er denne "Paul Galvin" person, siste minutt erstatning for våre kjære Dennis. Han er iført en krøllet opp bedrift dress og ubarbert. Han har nettopp skrevet hans navn store bokstaver på våre hvite bord i fast markør. Hva et syn!

Det hele endte lykkelig, men. Dette var en kjemisk selskap, når alt kommer til alt. A grizzled veteran ansatt trakk noe av sokkelen og, sannsynligvis i strid med EPA forskrifter, fjernet styret. Jeg presterte opphold 1/2 dag foran klassen i løpet og de ga meg en god anmeldelse slutt. Dette sementert min "klype hitter" rykte på mitt selskap. Bagasjen kom den første dagen, så jeg var mye mer presentabel dager to og tre.

Som jeg tok det røde øyet Hjem, Jeg ble vurderer "lærdommene". Det var rikelig å tenke. Kommunikasjon er nøkkelen. Fortelle kunder om endringer i planen. Ikke noen gang sjekk din bagasje på flyplassen hvis du kan muligens unngå det. Få ekstra "ting" i tilfelle du merker bagasjen og det gjør ikke det. Jeg tror de fleste betydelig leksjonen jeg lærte, men, var dette: alltid teste en markør i nedre venstre hjørne av en hvit bord før skriftlig, med store bokstaver, "Paul Galvin".

</slutten>

Technorati Merkelapper: ,

Perspektiver: SharePoint vs. Large Hadron Collider

På grunn av noen underlig United Airlines flyreiser tok jeg i midten av 90-tallet, Jeg noe endte opp med et tilbud om å transformere "ubrukte miles" i rundt et dusin gratis magasin abonnement. Det er hvordan jeg endte opp abonnere Scientific American magazine.

Som programvare / rådgivning folk, vi møter mange vanskelig forretningskrav i karrieren. Mest tid, Vi elsker å møte disse kravene og faktisk, Det er sannsynligvis hvorfor vi tror denne karrieren er best i verden. Jeg noen ganger lurer på hva i verden ville jeg har gjort med meg hvis jeg hadde vært født noen annen gang i historien. Hvor forferdelig ville det være gå glipp av slags arbeid jeg komme til gjøre nå, på denne tid og sted i Verdenshistorie? jeg tror: ganske forferdelig.

Gjennom årene, noen av kravene jeg har møtt har vært ekstremt utfordrende å møte. Komplekse SharePoint ting, bygge web behandling rammer som er basert på ikke-web-vennlig teknologi, komplekse BizTalk-arrangementene og lignende. Vi kan alle (Forhåpentligvis) se stolt tilbake på vår karriere og si, "Ja, Det var en vanskelig en å løse, men til slutt jeg pwned at sumbitch!" Bedre ennå, enda mer interessant og morsom utfordringer venter.

Jeg personlig tror at min CV, i denne forbindelse, er ganske dypt og jeg er ganske stolt av det. (Selv om jeg vet at min kone vil aldri forstå 1/20 av det.). Men denne uken, Jeg leser en artikkel om den Large Hadron Collider i min Scientific American magasinet og hadde en av de sjeldne humbling øyeblikkene hvor jeg innså at til tross for min "giant" status i enkelte sirkler eller hvor dypt tror jeg min godt erfaring, Det er virkelig kjemper i helt forskjellige verdener.

Folk på LHC teamet har noen virkelig vanskelige problemer å håndtere. Vurdere månen. Jeg egentlig tror ikke mye om månen (Selv om jeg har vært veldig mistenksom om det siden jeg har lært det er langsom jordas rotasjon, som kan ikke være bra for oss mennesker på lang sikt). men, LHC teamet har å bekymre deg. LHCS måleinstrumenter er så følsom at de påvirkes av månen (Earth-rotation-Slowing-and-Eventually-Killing-all-Life) gravitasjon. Det er en pokker for et krav å møte — produsere riktig mål til tross for månens forstyrrelser.

Jeg var grubler at problemet da jeg leste denne setningen: "Det første nivået vil motta og analysere data fra bare et delsett av alle detektoren komponenter, fra som det kan plukke ut lovende hendelser basert på isolerte faktorer som om ble en energisk muon oppdaget flyr ut i store vinkel fra strålen aksen." virkelig … ? Jeg kan ikke spille i den slags sand og aldri vil.

Neste gang jeg ut med noen venner, Jeg kommer til å heve en skål til god personer som arbeider på LHC, håpe de ikke kunne veie Higgs boson partikkel og forbanne månen. Jeg foreslå du gjøre det samme. It will be quite the toast 🙂

</slutten>

Technorati Merkelapper: