</slutet>
Juni 2008 SUGDC konferens — Det är en Wrap
Jag deltog i min första någonsin SharePoint-konferensen den gångna helgen och det var skitkul.
Torsdag eftermiddag, Jag körde ner till Virginia, vägledd av min nyinköpta $50 GPS anordning plug-in sak till min telefon. Enheten var felfri. Efter fem timmars bilresa, Jag hade energi att göra en fin körning på slitbanan kvarnen och sedan, ännu mer överraskande, hade energi att gå till lobbyn för en annonserade talarens cocktailtimme. Konferens n00b som jag, it turned out that the cocktail hour was really a ruse to get speakers to show up and help stuff papers and swag into shoulder bags for conference attendees 🙂
Hade svårt att sova eftersom jag talade första fredag. Nervositet, en gnagande känsla av att jag behövde lägga till en bild i min presentation och en mycket oroande kattutställning på Animal Planet höll mig sen. Eftersom jag gick till sovmorgon, Naturligtvis fick jag upp tidigt. Jag gjorde lägga till en ganska detaljerad teknisk arkitektur bild. Det var väl värt mödan eftersom den 25 minuter av Q&A skulle ha varit mycket besvärlig utan att det. Jag hade turen att få den första plats i det tekniska spåret. Sahil Malik ursprungligen skulle tala fredag och jag skulle tala lördag men han behövde byta gånger. Detta tillät mig att göra min presentation och sedan luta sig tillbaka och njuta av allt som händer framåt fredag och lördag.
Presentationen gick OK. Jag har definitivt utrymme för att förbättra det. Jag talade om hur vi kan komma åt och använda webbtjänster från ett SharePoint Designer arbetsflöde med hjälp av en anpassad åtgärd. Över tid, Jag kommer att binda denna information i min serie över på EUSP.com för slutanvändare försöker få den mest användningen av verktyget. Jag blåste igenom mina bilder och demo i 35 minuter, till min bestörtning över tiden. Lyckligtvis, Q&A var livlig, utan tvekan hjälpt av faktumet var att det tidigt på morgonen innan lunch. Q&A är min favorit del av alla presentationer.
Det var många intressanta ämnen och jag hoppas att blogga om dem i detalj denna vecka (tiden tillåter, som alltid). En Karl från CMS Watch gett en mycket kritisk men ändå mycket hoppfulla översyn av Sharepoint's position på marknaden. En annan diskussion fokuserade på bristen på SharePoint-resurserna och svårigheten att rekryterare har att hitta bra talanger som också är "prisvärd" i denna mycket snäva marknad. CMS Watch killen avses SharePoint mänskliga resurser poolen som som en "guild." Jag är främst bekant med den termen i MMORPG termer och det gav mig en lite spännande, to be honest 🙂
Höjdpunkten av konferensen var bara möte och ikapp med människor som jag har "känt" Online ett tag. Bäst satt i baren med Becky Isserman (MossLover) för 3 eller 4 timmar (och att, efter jag hade slutat dricka för natten). Jag får ofta inte att tala om Farscape eller Babylon 5 med Kansas City invånare.
Bob Fox var där och som vanligt, är en virvelvind av vinjetter, chattar och helt enkelt frenetisk energi. Han bjöd in mig till lördag frukost med Sahil Malik och det var bra.
Lördag (dag 2), Mike Lotter dras sig till konferensen för att tala om InfoPath och sedan gick han med Becky i slutet av dagen för att göra en slags allmän Q&En session för om 30 till 45 minuter främst inriktad på InfoPath (Mike) och AJAX (Becky). Jag önskar att Becky hade kunnat gå igenom sin full/formell presentation men jag är säker på att jag får en chans att se att en av dessa dagar. Jag har en känsla som hon kommer att "slå kretsen" framöver.
Jag kunde gå på och på. Två sista poäng — det ekonomiska syftet med konferensen var att samla in pengar till barnens mirakel nätverk och det tog upp $5,000. Det var awesome. Slutligen, Jag vill offentligt tacka Gary Blatt, Gary Vaughn och Bob Fox för att varna mig att och låta mig tala på konferensen. Självklart, de två Gary hade ett team av människor stödja och organisera och er alla var awesome. Jag hade höga förväntningar innan jag gick och det var bättre än jag hade hoppats.
Hålla på alerten för nästa planerad till 7 November och 8.. Bortsett från några bra innehåll, Det är fantastiskt för möte upp med alla dessa online personligheter som du har känt genom Bloggar, Twitter, Forum, m.m..
</slutet>
FBA och SQL Server: En kärlekshistoria
Min kollega har arbetat på en webbdel i en FBA miljö. Bland annat, webbdelen drar vissa data från SQL server. Den stora planen för detta projekt dikterar att en DBA konfigurerar datasäkerhet i SQL (i stället för att bädda in ett användar-ID i en SQL-fråga eller några andra tillvägagångssätt).
Problemet är att SQL server inte vet något om vår FBA miljö så det inte kan lita på oss. Vi löste detta problem genom att, i brist på bättre ord, manuellt härma en AD-användare så att vi kunde ansluta till SQL så att SQL data nivå säkerhet fungerar.
Trots att FBA är en ASP.NET-funktion, Vi SharePoint Nation människor har undervisat i olika sökmotorer som om du frågan för FBA, Du måste menar du vill veta hur till konfigurera FBA i SharePoint. Jag kunde inte hitta hitta någon information om hur du aktiverar en FBA orienterade ASP.NET ansökan att kommunicera med SQL på det sätt vi behövde.
I forska i detta, Vi läser denna artikel: ASP.NET-personifiering
Mer forskning ledde oss till denna codproject artikel: http://www.codeproject.com/KB/cs/cpimpersonation1.aspx
Som hjälpte oss att skriva vår kod, som jag har tagit under. Det är inte den mest eleganta saker, men det fungerade. Jag hoppas du tycker det är bra.
Här är koden som arbetat för oss:
skyddade void btnSearchCarrier_Click(objekt avsändare, EventArgs e) { försök { ImpersonateUser iU = nya ImpersonateUser(); // TODO: Ersätta referenser iU.Impersonate("Domännamn", "Användarnamn", "Lösenord"); // KODEN // iU.Undo(); } fånga (Undantaget ex) { } } // Personifiering-klassen som nämns nedan. offentliga klass ImpersonateUser { [DllImport("advapi32.dll", SetLastError = sant)] offentliga statisk extern bool LogonUser( Sträng lpszUsername, Sträng lpszDomain, Sträng lpszPassword, int dwLogonType, int dwLogonProvider, Ref IntPtr phToken); [DllImport("kernel32.dll", CharSet = CharSet.Auto)] privat extern statisk bool CloseHandle(IntPtr handtag); privat statisk IntPtr tokenHandle = nya IntPtr(0); privat statisk WindowsImpersonationContext impersonatedUser; // Om du införliva denna kod i en DLL-fil, se till att kräva att den // kör med FullTrust. [PermissionSetAttribute(SecurityAction.Demand, Namn = "FullTrust")] offentliga void personifiera(sträng domännamn, String användarnamn, sträng lösenord) { försök { // Använda ohanterade av funktionen LogonUser för att få användaren token för // den angivna användaren, domän, och lösenord. CONST-utskottet int LOGON32_PROVIDER_DEFAULT = 0; // Passerar denna parameter orsakar LogonUser skapa en primär token. CONST-utskottet int LOGON32_LOGON_INTERACTIVE = 2; tokenHandle = IntPtr.Zero; // Steg -1 Anropa LogonUser för att få ett handtag till en åtkomst-token. bool returnValue = LogonUser( Användarnamn, Domännamn, lösenord, LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT, Ref tokenHandle); // tokenHandle - ny säkerhetstoken om (falskt == returnValue) { int ret = Marshal.GetLastWin32Error(); Console.WriteLine("LogonUser anrop misslyckades med felkod : " + ret); kasta nya System.ComponentModel.Win32Exception(ret); } // Steg - 2 WindowsIdentity newId = nya WindowsIdentity(tokenHandle); // Steg -3 impersonatedUser = newId.Impersonate(); } fånga (Undantaget ex) { Console.WriteLine("Undantag inträffade. " + ex.Meddelande); } } /// <Sammanfattning> /// Hållplatser personifiering /// </Sammanfattning> offentliga void ångra() { impersonatedUser.Undo(); // Gratis tokens. om (tokenHandle != IntPtr.Zero) CloseHandle(tokenHandle); } }
</slutet>
Lägga till Lore: SSRS berättar “rsAccessDenied”, Men … Jag verkligen har tillgång
Ett par veckor tillbaka, Jag arbetade med kollegan utvecklare på ett projekt som omfattar SQL Server Reporting Services plug-in för MOSS. Han utvecklade en webbdel som tillhandahåller en front-end till betänkandet rätt fancy (den viktigaste funktionen är en smart sökning på en parameter med flera tusen sökbara värden bakom det).
Detta fungerade bra i utvecklingsmiljön men i användare acceptanstest (UAT) miljö, Det skulle inte fungera. Bränning upp debugger, Vi skulle se undantagsinformation såhär:
Behörigheterna som beviljats användare 'UAT_domainmosssvc' är otillräckliga för att utföra den här åtgärden.(rsAccessDenied).
Om du gör en levande söka på ovanstående fel, du tycker det är ganska vanligt. Scarily gemensamma. Den värsta formen av gemensamma eftersom det har många olika potentiella roten orsakar och allas föreslagna lösning "känns" rätt. Vi har förmodligen försökt dem alla.
I vårt fall, problemet var att vi hade gjort en backup/återställning av DEV att UAT. Någonstans i data, något fortfarande hänvisar till "DEV_domain" (i stället för den uppdaterade "UAT_Domain"). Vi skapat en ny webbplats, lagt till webbdelen och som löste våra problem.
Förhoppningsvis kommer att detta spara någon timme eller två ner linjen.
</slutet>
Quick Fix: Åtkomst till SharePoint-webbplatsen kastar [HttpException (0x 80004005): Begäran gjorde timeout.]
En kollega utvecklare arbetade på ett projekt i veckan och sprang in i en timeout problem medan du arbetar på att bygga några galna webbdelen. Hans webbdelen var bra, men "plötsligt" en icke-närstående webbplats blev mycket långsamt och ofta gått ut med detta fel:
[HttpException (0x 80004005): Begäran gjorde timeout.]
Jag loggade in och såg att flera andra platser var bra. Jag misstänkte att det fanns vissa dolda webbdelar på sidan och använda pålitliga ?innehållet = 1 debug teknik, Jag har faktiskt hitta 11 webbdelar på sidan, endast två av som var synliga. Ännu bättre (ur ett let's-hope-I-find-something-ugly-here-that-I-can-fix perspektiv), tre av dessa stängda webbdelar hade ett namn av "Fel".
Jag tog bort dessa webbdelar (som själv tog överraskande lång tid) och som löste problemet. For today 🙂
</slutet>
I klassen snabb utbildning är utmärkt
Jag börjar dagen 4 av fort är partner utbildning leds av Larry Kaye här i Needham, MA.
Denna 5-dagars session är uppdelade i klasser (3 och 2 dagar respektive) rätt "FAST ESP: Utveckla anpassade sökprogram för Alliance partner jag" och "FAST ESP: Utveckla anpassade sökmotorer applikationer för allianspartners II".
Detta är en riktig boot camp typ klass. Materialet är djupt (mycket, mycket djupa). Instruktören (Larry) tydligt vet hans saker. Jag rekommenderar denna utbildning om du funderar på det.
</slutet>
SharePoint och snabbt — Reese's Peanut Butter Cups av Enterprise Apps?
Jag har avslutat dagen 2 SNABB utbildning i soliga Needham, MA, och sprack med idéer (som alla bra utbildning klasser göra mig). En särskild aspekt av har snabbt mig att tänka och jag ville skriva ner det medan det var fortfarande fräsch och normala dagliga "saker" sköt det ur huvudet.
Vi SharePoint WSS 3.0 / MOSS genomförare möta ofta en tuff problem med någon rimligen medelstora SharePoint-projekt: Hur får vi alla otaggade data laddas in i SharePoint så att allt passar i våra perfekt designade informationsarkitektur?
Ofta nog, Detta är inte ett svårt problem eftersom vi omfattning oss trubbel: "Vi bryr oss inte om något mer än 3 månader gammal." "Vi ska hantera allt det gamla grejer med sökning på nyckelord och gå framåt vi gör det på rätt sätt…" Etc.
Men, Vad händer om vi inte kan verksamhetsområde oss borta från problem och vi tittar på 10-talet tusentals eller 100-tals tusentals (eller ens miljoner) för docs — lastning och märkning som är vår fromma önskan?
SNABBT kan vara svaret.
FAST: s sökprocessen innehåller en hel del rörliga delar men en förenklad vy är detta:
- En sökrobot process ser ut för innehåll.
- Det finner innehåll och överlämnar det bort till en mäklare process som hanterar en pool av dokument-processorer.
- Mäklare processen räcker det bort till en av de dokument-processorerna.
- Dokumentet processorn analyserar dokumentet och via en pipeline process, analyserar bejeezus av dokumentet och överlämnar det bort till en index builder typ process.
På rymdskeppet snabbt, Vi har en hel del kontroll över dokumentet bearbetning pipeline. Vi kan mixa och matcha om 100 komponenter för försäljningsförloppet och, mest intressant, Vi kan skriva våra egna komponenter. Som jag säger, FAST är att analysera dokument every vilket sätt men söndag och det sammanställer en hel del användbar information om dessa handlingar. De galna snabba människorna är helt klart galen och tvångstankar om dokumentanalys eftersom de har verktyg och/eller strategier för att riktigt kategorisera dokument.
Så … med snabbt i kombination med våra egna anpassade försäljningsförloppskomponenten, Vi kan ta tag i den sammanhanget informationen från FAST och mata den tillbaka till MOSS. Det kan gå något sådant:
- Dokument matas in snabbt från MOSS.
- Normala crazy-tvångsmässiga snabbt dokument parsning och kategorisering händer.
- Våra egna anpassade försäljningsförloppskomponenten droppar några av sammanhang informationen ut till en databas.
- En process av egen design läser sammanhangsinformation, gör några beslut på hur passar MOSS dokumentet inom våra IA och markerar det med en webbtjänst och objektmodellen.
Självklart, ingen sådan automatiserad process kan vara perfekt men tack vare tvångsmässiga (och möjligen insane-but-in-a-good-way snabb människor), Vi kan ha en riktig kämpar skott på en verkligt effektiva massa belastning process som mer än bara fyller upp en SQL-databas med en massa knappt sökbara dokument.
</slutet>
Lär dig mer om slutanvändare på www.EndUserSharePoint.com
Mark Miller över på http://www.endusersharepoint.com har byggt, enligt min erfarenhet, bästa slutanvändaren fokuserade SharePoint-webbplats i den "sfär. Under den senaste månaden, Han har värvat några premier slutanvändaren fokuserade bloggare runt för att bidra till "förstasidan" regelbundet, inklusive men inte begränsat till Paul Culmsee, Chris Quick, och Dessie Lunsford. Han har andra uppradade och redo att bidra som deras scheman tillåter.
Jag hoppade på chansen att delta och mitt första inlägg är här. Jag skriver en rad om hur du använder SharePoint Designer för att skapa förstklassig affärslösningar arbetsflöde. I linje med den EUSP.com fokus, dessa artiklar kommer alltid hålla slutanvändaren främre och center.
Jag brukar personligen dela in SharePoint världen i tre breda grupper: SharePoint-konsulter, heltid SharePoint personal utvecklare och slutanvändare. När jag skriver, Ofta undrar jag, vilken av dessa grupper kan vara intresserade i ämnet? Ofta, Jag sluta skriva för två första (tekniska) grupper, främst eftersom jag är en konsult själv; Det är alltid lättare och mer äkta att skriva om de saker som du är mest bekant på ett personligt plan.
Som jag har märkt innan, slutanvändaren gemenskapen är långt, långt större än den tekniska samfundet. EUSP.com är top-notch och jag rekommenderar det varmt till alla tre grupper. Webbplatsens laser fokus är naturligtvis värdefullt att slutanvändare. Men, Vi utvecklare och konsulter kan bara bli bättre på vårt yrke om vi kan förstå och effektivt bemöta behoven hos slutanvändarna serverar vi. I know I need all the help I can get 🙂 Kolla in.
</slutet>
Åberopar SSRS webbtjänster från WSS / MOSSA i FBA miljö
Vi behövde för att åberopa "CreateSubscription" metoden på en SSRS webbtjänst som är värd för en FBA hanteras MOSS miljö från en anpassad webbdel. Vi höll få varianter av:
- 401: Inte auktoriserad
- Objektet flyttas
"Objektet flyttas" meddelandet var mest intressant eftersom det var sa att objektet"" (vår SSRS service) hade "flyttat" till login.aspx. Detta innebar klart hade vi någon form av autentisering problem.
Så småningom insåg jag att jag hade bokmärkt en bloggpost av Robert Garret hur man åberopa en generell WSS/MOSS webbtjänst lever inuti en FBA miljö. Observera att jag inte kan länka direkt till artikeln (som av 06/09/08) eftersom man vill autentisera. Jag ge länken tar dig till en "alla inlägg" Visa och du kan hitta specifika artikeln genom att söka efter "Åtkomst till MOSS webbtjänster med hjälp av Forms-baserad autentisering".
Här är koden som arbetat för oss:
ReportingService2006 rs = null; // Autentisera Autentisering auth = nya Autentisering(); om (resultat.Felkod == LoginErrorCode.NoError) försök { rs.CreateSubscription(rapport, extSettings, desc, eventType, matchData, parameters1); } fånga (Undantaget ex) { Console.WriteLine(ex.Message.ToString()); } |
Jag tolkar saker att fungera så här:
- Våra webbdelen måste ringa upp verifieringstjänsten och säga, "Hey, Tony, Det är jag!".
- Autentiseringstjänsten svarar säger, "Hey, Jag vet att du. Hur är barnen? Här är en token."
- Vi ringer upp tjänsten SSRS och säga, "Tony skickade mig, här är token."
</slutet>
Du har utfört din månatliga Sök analys?
Det är en god praxis, förmodligen ännu en bästa praxis, Granska dina sökrapporter en gång i månaden och leta efter möjligheter att lägga till bästa val, finjustera din thesaurus och kanske även avslöja några omvärldsbevakning som annars är dolda för förvaltning.
Det är redan den 3: e i månaden. Time's awastin’ 🙂
</slutet>