</slutningen>
Juni 2008 SUGDC konference — Det er en Wrap
Jeg deltog i min første nogensinde SharePoint-konferencen denne sidste weekend og det var et blast.
Torsdag eftermiddag, Jeg kørte ned til Virginia, styret af mit nyindkøbte $50 GPS apparat plug-in ting til min telefon. Indretning var fejlfri. Efter fem timers kørsel, Jeg havde energi til at gøre et nice run på slidbanen mill og derefter, endnu mere overraskende, havde energi til at hovedet til lobbyen for en annoncerede højttaler cocktail time. Konferencen n00b, at jeg, 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 🙂
Havde svært ved at sove fordi jeg talte første ting fredag. Nervøsitet, en nagende fornemmelse af at jeg havde brug at føje et dias til præsentationen og en meget foruroligende katteudstilling på Animal Planet holdt mig sent. Da jeg faldt i søvn sent, Jeg har naturligvis fået op tidligt. Jeg tilføje en temmelig detaljerede tekniske arkitektur dias. Det var umagen værd, fordi den 25 minutter af Q&A ville have været meget akavet uden det. Jeg var heldig at få den første slot i den tekniske spor. Sahil Malik oprindeligt kommer til at tale fredag og jeg skulle tale lørdag men han havde brug at bytte gange. Dette tillod mig at gøre min præsentation og derefter læne sig tilbage og nyde alt går fremad fredag og lørdag.
Præsentationen gik OK. Jeg helt sikkert have plads til at forbedre det. Jeg talte om, hvordan vi kan få adgang til og bruge webtjenester fra en SharePoint Designer arbejdsgang ved hjælp af en brugerdefineret handling. Over tid, Jeg vil binde denne information til min serie over på EUSP.com for slutbrugerne forsøger at få mest brug ud af værktøjet. Jeg blæste gennem mit dias og demo i 35 minutter, til min store forfærdelse dengang. Heldigvis, Q&A var livlige, uden tvivl hjulpet af faktum, var at det tidligt om morgenen før frokost. Q&A er min favorit del af enhver præsentation.
Der var mange interessante emner og gid hen til blog om dem i større detalje i denne uge (tiden tillader det, som altid). En fyr fra CMS Watch givet en meget kritisk endnu meget håbefulde gennemgang af SharePoints stilling på markedet. En anden diskussion fokuseret på sparsomme af SharePoint ressourcer og vanskeligheder at personalekonsulenter har at finde gode talent, der er også "overkommelig" i denne meget stramme marked. CMS Watch fyr omhandlet SharePoint menneskelige ressourcer pool som værende som en "guild." Jeg er primært bekendt med dette begreb i MMORPG vilkår og det gav mig et lille gys, to be honest 🙂
Konferencens højdepunkt var bare møde og indhente med mennesker, jeg har "kendt" online et stykke tid. Bedst var at sidde i baren med Becky Isserman (MossLover) for 3 eller 4 timer (og der, efter jeg var færdig med drikke for natten). Jeg får ofte tale om Farscape eller Babylon 5 med Kansas City beboere.
Bob Fox var der og som sædvanlig, er en hvirvelvind af introer, chats og bare plain hektiske energi. Han inviterede mig til lørdag morgenmad med Sahil Malik og der var stor.
Lørdag (dag 2), Mike Lotter trukket sig selv til at tale om InfoPath-konferencen og han kom derefter Becky i slutningen af dagen for at gøre en slags generel Q&En session for om 30 til 45 minutter hovedsagelig fokuseret på InfoPath (Mike) og AJAX (Becky). Gid Becky havde været i stand til at gå gennem sin fuld/formel præsentation, men jeg er sikker på, jeg får en chance for at se, at en af disse dage. Jeg har en fornemmelse af, hun vil "rammer kredsløbet" fremadrettet.
Jeg kunne blive ved og ved. To sidste punkter — det finansielle formålet med konferencen var at rejse penge til children's Miracle netværk og det rejste $5,000. Det var fantastisk. Endelig, Jeg vil gerne offentligt takke Gary Blatt, Gary Vaughn og Bob Fox til at advare mig til og lade mig at tale på konferencen. Selvfølgelig, de to Gary havde et hold af mennesker støtte og organisering og alle af dem var awesome. Jeg havde høje forventninger, før jeg gik og det var bedre end jeg havde håbet for.
Holde i beredskab til den næste konference er planlagt til November 7. og 8.. Bortset fra nogle store indhold, Det er fantastisk for møde op med alle disse online personligheder du har kendt gennem blogs, Twitter, fora, osv.
</slutningen>
Formularbaseret godkendelse og SQL Server: En kærlighedshistorie
Min kollega har arbejdet på en webdel i en FBA miljø. Blandt andet, webdelen trækker nogle data fra SQL server. Den store plan for dette projekt dikterer at en DBA konfigurerer datasikkerhed i SQL (i modsætning til indlejring et bruger-ID i en SQL-forespørgsel eller nogle andre tilgang).
Problemet er, at SQL server ikke ved noget om vores FBA miljø, så det ikke kan stole på os. Vi løst problemet ved, i mangel af et bedre ord, manuelt udgive en annonce bruger, således at vi kunne forbinde til SQL, SQL data niveau sikkerhed værker.
Selvom FBA er en ASP.NET-funktion, Vi SharePoint Nation mennesker har lært de forskellige søgemaskiner, hvis du forespørger for FBA, Du skal mener du vil vide, hvordan du konfigurerer FBA i SharePoint. Jeg har undladt at finde finde nogen oplysninger om, hvordan du aktiverer en FBA orienterede ASP.NET-program til at kommunikere med SQL i den måde, vi havde brug for.
I løbet af forske dette, vi læse at denne artikel: ASP.NET personifikation
Mere forskning har ført os til denne codproject artikel: http://www.codeproject.com/KB/cs/cpimpersonation1.aspx
Der hjalp os med at skrive vores kode, som jeg har inkluderet under. Det er ikke den mest elegante ting, men det virkede. Jeg håber du finder det nyttigt.
Her er den kode, der arbejdede for os:
beskyttet Ugyldigt btnSearchCarrier_Click(objektet afsender, EventArgs e) { Prøv { ImpersonateUser iU = nye ImpersonateUser(); // TODO: Erstatte legitimationsoplysninger iU.Impersonate("DomainName", "Brugernavn", "Password"); // KODE // iU.Undo(); } fangst (Undtagelse ex) { } } // Personefterligning-klassen som nævnt nedenfor. offentlige klasse ImpersonateUser { [DllImport("advapi32.dll", SetLastError = True)] offentlige statisk extern bool LogonUser( Strengen lpszUsername, Strengen lpszDomain, Strengen lpszPassword, int dwLogonType, int dwLogonProvider, Ref IntPtr phToken); [DllImport("kernel32.dll", CharSet = CharSet.Auto)] privat extern statisk bool CloseHandle(IntPtr håndtag); privat statisk IntPtr tokenHandle = nye IntPtr(0); privat statisk WindowsImpersonationContext impersonatedUser; // Hvis du indarbejde denne kode i en DLL, Sørg for at kræve, at det // løber med FullTrust. [PermissionSetAttribute(SecurityAction.Demand, Navn = "FullTrust")] offentlige ugyldig repræsenter(streng domainName, strengen userName, streng adgangskode) { Prøv { // Brug funktionen ikke-administrerede LogonUser for at få brugeren token for // den angivne bruger, domæne, og adgangskode. CONST int LOGON32_PROVIDER_DEFAULT = 0; // Passerer denne parameter forårsager LogonUser til at oprette en primær token. CONST int LOGON32_LOGON_INTERACTIVE = 2; tokenHandle = IntPtr.Zero; // Trin -1 Kalde LogonUser for at få en handle til en adgangstoken. bool returnValue = LogonUser( userName, domainName, adgangskode, LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT, Ref tokenHandle); // tokenHandle - nyt sikkerheds-id Hvis (falsk == returnValue) { int ret = Marshal.GetLastWin32Error(); Console.WriteLine("LogonUser mislykkedes med fejlkode : " + ret); kaste ny System.ComponentModel.Win32Exception(ret); } // Trin - 2 WindowsIdentity newId = nye WindowsIdentity(tokenHandle); // Trin -3 impersonatedUser = newId.Impersonate(); } fangst (Undtagelse ex) { Console.WriteLine("Der opstod en undtagelse. " + ex.Besked); } } /// <Resumé> /// Stopper repræsentationen /// </Resumé> offentlige ugyldig Fortryd() { impersonatedUser.Undo(); // Gratis poletter. Hvis (tokenHandle != IntPtr.Zero) CloseHandle(tokenHandle); } }
</slutningen>
Tilføjelse til Lore: SSRS fortæller mig “rsAccessDenied”, Men … Jeg virkelig har adgang
Et par uger tilbage, Jeg arbejdede med min kollega, udvikler på et projekt med SQL Server Reporting Services-plug-in til MOSS. Han var ved at udvikle en webdel, der giver en front-end til rapporten ordentlig fancy (de vigtigste træk er en klog opslag på en parameter med flere tusinde søgbare værdier bag det).
Dette var i orden stor i udviklingsmiljøet, men i accept brugertest (UAT) miljø, Det ville ikke arbejde. Fyres op fejlfindingsprogrammet., Vi ville se undtagelse detaljer som dette:
Tilladelserne tildeles brugeren 'UAT_domainmosssvc' er utilstrækkelig til at udføre denne handling.(rsAccessDenied).
Hvis du gør en live søgning på ovennævnte fejl, du finde det er helt almindeligt. Skræmmende fælles. Den værste form for fælles, fordi det har mange forskellige potentielle rod forårsager og alles løsningsforslag "føles" højre. Vi prøvet sikkert dem alle.
I vores tilfælde, Problemet var, at vi havde gjort en backup/gendannelse af DEV at UAT. Et sted i data, noget var stadig henvise til "DEV_domain" (i stedet for den opdateret "UAT_Domain"). Vi har oprettet et nyt websted, tilføjet webdelen, og at løst vores problem.
Forhåbentlig vil dette spare nogen, en time eller to ned linjen.
</slutningen>
Quick Fix: Adgang til SharePoint-webstedet kaster [HttpException (0x 80004005): Anmodning fik timeout.]
En af mine kolleger, udvikler arbejdede på et projekt i denne uge og løb ind i en timeout problem mens du arbejder på at opbygge nogle skøre webdel. Hans webdelen var fint, men "pludselig" en ikke-relaterede websted blev meget langsomt og ofte timeout med denne fejl:
[HttpException (0x 80004005): Anmodning fik timeout.]
Jeg er logget ind og så, at flere andre steder var bare fint. Jeg har mistanke om at der var nogle skjulte webdele på siden og ved hjælp af trofaste ?indhold = 1 debug teknik, Jeg fandt faktisk 11 webdele på siden, hvoraf kun to var synlige. Endnu bedre (fra et let's-hope-I-find-something-ugly-here-that-I-can-fix perspektiv), tre af disse lukkede webdele havde et navn af "Fejl".
Jeg har slettet disse webdele (som selv tog en overraskende lang tid) og at løst problemet. For today 🙂
</slutningen>
I klassen hurtig træning er fremragende
Jeg begynder dagen 4 af hurtige er partner uddannelse ledes op af Larry Kaye her i Needham, MA.
Denne 5-dages session er opdelt i klasser (3 og 2 dage henholdsvis) ret "hurtigt ESP: Udvikle brugerdefineret søgning applikationer til Alliancens partnere jeg" og "FAST ESP: Udvikle brugerdefineret søgning applikationer til alliancepartnere II".
Dette er en rigtig boot camp type klasse. Materialet er dyb (meget, meget dyb). Instruktøren (Larry) klart kender sit kram. Jeg kan varmt anbefale denne uddannelse hvis du overvejer det.
</slutningen>
SharePoint og hurtigt — Reese's Peanut Butter Cups Enterprise apps?
Ive endte dagen 2 HURTIG træning i solrige Needham, MA, og jeg sprængfyldt med ideer (som alle de gode uddannelse klasser gør mig). Et særligt aspekt af har hurtigt mig tænkning og jeg ønskede at skrive det, mens det var stadig frisk og normale daglige "ting" skubbet det ud af mit hoved.
Vi SharePoint WSS 3.0 / MOSS iværksætteren ofte står over for en hård problem med enhver rimelig størrelse SharePoint projekt: Hvordan får vi alle de ukodede data indlæses i SharePoint, sådan at det hele passer i vores perfekt designet informationsarkitektur?
Ofte nok, Det er ikke sådan et svært problem, fordi vi anvendelsesområde os ude af problemer: "Vi er ligeglade om noget mere end 3 måneder gamle." "Vi vil håndtere alt det gamle ting med søgeordssøgning og gå frem vi vil gøre det rigtigt…" Osv.
Men, Hvad sker der, hvis vi ikke anvendelsesområde os ud af problemer, og vi ser på 10 tusinder eller 100 's af tusindvis (eller endda millioner) af dokumenter — lastning og tagging af som er vores fromme ønske?
HURTIGT kan være svaret.
FASTS søgning proces omfatter en masse bevægelige dele, men et forenklet synspunkt er dette:
- En webcrawler proces ser for indhold.
- Det finder indhold og hænder det til en mægler-processen, der administrerer en pulje af dokument-processorer.
- Mægler proces hænder det ned til en af dokument-processorer.
- Dokument processor analyserer dokumentet og via en rørledning, analyserer bejeezus ud af dokumentet og hænder det ned til et indeks builder type proces.
På starship FAST, Vi har en masse kontrol over pipeline til dokumentbehandling. Vi kan mikse og matche om 100 pipeline-komponenter og, mest interessant, Vi kan skrive vores egne komponenter. Ligesom jeg siger, HURTIGE analyserer dokumenter alle hvilket måde men søndag og den samler en masse nyttige oplysninger om disse dokumenter. Disse skøre hurtig mennesker er tydeligvis sindssyg og tvangspræget om dokumentet analyse fordi de værktøjer og/eller strategier til at virkelig kategorisere dokumenter.
Så … ved hjælp af hurtigt i kombination med vores egne brugerdefinerede pipeline-komponent, Vi kan få fat i alle sammenhæng oplysningerne fra FAST og fodre den tilbage til MOSS. Det kan gå noget som dette:
- Dokument tilføres hurtigt fra MOSS.
- Normal crazy-obsessiv hurtigt dokument parsing og kategorisering sker.
- Vores egne brugerdefinerede pipeline-komponent falder nogle af kontekstoplysninger ud til en database.
- En proces med vores eget design læser oplysninger om cellekontekst, gør nogle beslutninger om, hvordan man passer MOSS dokumentet inden for vores IA og markerer det ved hjælp af en webtjeneste og objektmodellen.
Selvfølgelig, Ingen sådan automatiseret proces kan være perfekt, men takket være tvangspræget (og eventuelt insane-but-in-a-good-way hurtige folk), Vi kan have en reel bekæmpelse skud på en virkelig effektiv masse belastning proces, der er mere end bare fylde op en SQL database med en masse knap søgbare dokumenter.
</slutningen>
Læring om slutbrugere på www.EndUserSharePoint.com
Mark Miller over på http://www.endusersharepoint.com har bygget, min erfaring, den bedste slutbrugeren fokuseret SharePoint site i den ' kugle. I den sidste måned, Han har hyrede nogle af premier slutbrugeren fokuseret bloggere rundt for at bidrage til forsiden"" regelmæssigt, herunder men ikke begrænset til Paul Culmsee, Chris Quick, og Dese Lunsford. Han har andre foret op og klar til at bidrage som deres skemaer tillade.
Jeg sprang på en chance for at deltage og min konstituerende post er her. Jeg skriver en serie om, hvordan du bruger SharePoint Designer til at oprette førsteklasses business arbejdsprocesløsninger. I overensstemmelse med den EUSP.com fokus, disse artikler vil altid holde slutbrugeren forside og center.
Jeg personligt har tendens til at opdele SharePoint verden i tre brede grupper: SharePoint konsulenter, fuldtids SharePoint personale udviklere og slutbrugere. Når jeg skriver, Jeg spørger mig selv ofte, hvilke af disse grupper er interesseret i emnet? Oftest, Jeg ender skrivning for de første to (tekniske) grupper, primært fordi jeg er en konsulent selv; Det er altid lettere og mere autentisk at skrive om de ting, som du er mest fortrolig på et personligt plan.
Som jeg har noteret inden, slutbrugeren Fællesskabet er langt, langt større end de tekniske samfund. EUSP.com er top-notch og jeg anbefale varmt det til alle tre grupper. Webstedets laser fokus er naturligvis værdifuld til slutbrugere. Dog, Vi udviklere og konsulenter kan kun være bedre på vores erhverv, hvis vi kan forstå og effektivt reagere på behovene hos de slutbrugere, vi tjener. I know I need all the help I can get 🙂 Tjekke den ud.
</slutningen>
Påberåbe sig SSRS webtjenester fra WSS / MOS i FBA miljø
Vi havde brug at påberåbe sig "CreateSubscription" metode på en SSRS-webtjeneste, der er hostet i en FBA lykkedes MOSS miljø fra en brugerdefineret webdel. Vi holdt fik variationer af:
- 401: Ikke godkendt
- Objektet flyttes
Objektet"flyttede" meddelelsen var mest interessant, fordi det var at sige, at objektet"" (vores SSRS service) havde "flyttet" til login.aspx. Dette klart mente vi havde nogle slags godkendelse problem.
Til sidst indså jeg, at jeg havde bookmarked en blog-indtastning af Robert Garret der beskrevet hvordan man kan påberåbe sig en allround WSS/MOSS webtjeneste bor inde en FBA miljø. Bemærk, at jeg ikke kan linke direkte til artiklen (som af 06/09/08) fordi det ønsker at godkende. Linket jeg giver bringer dig til en "alle indlæg" Se og du kan finde specifikke artiklen ved at søge på "Adgang til MOSS-webtjenester ved hjælp af formularer-baseret godkendelse".
Her er den kode, der arbejdede for os:
ReportingService2006 rs = Null; // Godkende Godkendelse auth = nye Godkendelse(); Hvis (resultat.ErrorCode == LoginErrorCode.NoError) Prøv { RS.CreateSubscription(rapport, extSettings, / / Beskr, eventType, matchData, parameters1); } fangst (Undtagelse ex) { Console.WriteLine(ex.Message.ToString()); } |
Jeg tolker tingene til at fungere som denne:
- Vores webdelen skal ringe op godkendelsestjenesten og sige, "Hey, Tony, Det er mig!".
- Authentication service svar at sige, "Hey, Jeg kender dig. Hvor er børnene? Her er et token."
- Vi kalder op SSRS service og sige, "Tony sendte mig, Her er token."
</slutningen>
Du har foretaget din månedlige søgning analyse?
Det er en god praksis, måske endda en bedste praksis, anmeld din søgningsrapporter en gang om måneden og kigge efter muligheder for at tilføje guldkorn, tune din synonymordbog og måske endda afdække nogle business intelligence, som ellers er skjult for ledelse.
Det er allerede 3. månedens. Tidens awastin’ 🙂
</slutningen>