MVP mogħtija għal SharePoint

MVPLogo

Dalgħodu, Microsoft emailed tell me I taw l-għoti MVP Microsoft!

It’s a lot to take in all at once. When I’ve had a chance to properly reflect, I’ll share more of my thoughts on the whole thing. I know it’s a subject of great interest to a lot of people.

I’m bursting with excitement. The SharePoint MVP crew is a great group of men and women dedicated to building and expanding the community. I’ve only met a handful and look forward to meeting more and helping to expand and improve community resources over the coming year. It’s going to be a while ride…

</aħħar>

Ġunju 2008 Konferenza SUGDC — Li l-Wrap

I attendew l-ewwel tiegħi qatt SharePoint konferenza this past weekend and it was a blast.

Il-Ħamis wara nofsinhar, I saq sa Virginia, iggwidata mill tiegħi mixtri ġdid $50 GPS appliance plug-in thing to my phone. The device was flawless. After the five hour drive, Kelli l-enerġija biex jagħmlu run sbieħ fuq il-wiċċ mitħna u mbagħad, saħansitra aktar sorprendenti, had the energy to head to the lobby for an advertised speaker’s cocktail hour. Conference n00b that I am, 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 🙂

Had a hard time sleeping because I was speaking first thing Friday AM. Nervousness, a nagging feeling that I needed to add a slide to my presentation and a very disturbing cat show on Animal Planet kept me up late. Since I went to sleep late, I naturally got up early. I did add a fairly detailed technical architecture slide. It was well worth the effort because the 25 minutes of Q&A would have been very awkward without it. I was lucky to get the first slot in the technical track. Sahil Malik was originally going to speak Friday AM and I was going to speak Saturday but he needed to swap times. This allowed me to do my presentation and then sit back and enjoy everything going forward Friday and Saturday.

The presentation went OK. I definitely have room to improve it. I spoke about how we can access and use web services from a SharePoint Designer workflow using a custom action. Maż-żmien, I will tie this information into my series over at EUSP.com for End Users trying to get the most use out of that tool. I blew through my slides and demo in 35 minuti, to my dismay at the time. Fortunatament, Q&A was lively, no doubt helped by the fact that it was early morning before lunch. Q&A is my favorite part of any presentation.

There were many interesting subjects and I hope to blog about them in greater detail this week (time permitting, as always). A fellow from CMS Watch provided a highly critical yet very hopeful review of SharePoint’s position in the market. A different discussion focused on the paucity of SharePoint resources and the difficulty that recruiters have finding good talent that is also "affordable" in this very tight market. The CMS Watch guy referred to the SharePoint human resources pool as being like a "guild." I’m mainly familiar with that term in MMORPG terms and it gave me a little thrill, to be honest 🙂

The highlight of the conference was just meeting and catching up with people I’ve "known" online for a while. The best was sitting at the bar with Becky Isserman (MossLover) għal 3 jew 4 sigħat (u li, xorb wara I kien lest għall-lejl). I don’t often get to talk about Farscape jew Babylon 5 with Kansas City residents.

Bob Fox was there and as usual, is a whirlwind of intros, chats and just plain frenetic energy. He invited me to Saturday breakfast with Sahil Malik and that was great.

Saturday (day 2), Mike Lotter dragged himself to the conference to speak about InfoPath and then he joined Becky at the end of the day to do a sort of general Q&A session for about 30 li 45 minutes mainly focused on InfoPath (Mike) and AJAX (Becky). I wish Becky had been able to go through her full/formal presentation but I’m sure I’ll get a chance to see that one of these days. I have a feeling she’ll be "hitting the circuit" going forward.

I could go on and on. Two last points — the financial purpose of the conference was to raise money for the Children’s Miracle Network and it raised $5,000. That was awesome. Fl-aħħarnett, I want to publicly thank Gary Blatt, Gary Vaughn and Bob Fox for alerting me to and allowing me to speak at the conference. Of course, the two Gary’s had a team of people supporting and organizing and all of you were awesome. I had high expectations before I went and it was better than I had hoped for.

Keep on the alert for the next conference scheduled for November 7th and 8th. Aside from some great content, it’s terrific for meeting up with all those online personalities you’ve known through blogs, twitter, forums, eċċ.

</aħħar>

Abbona għall-blog tiegħi.

FBA u SQL Server: A Love Story

My colleague has been working on a web part in an FBA environment. Among other things, the web part pulls some data from SQL server. The grand plan for this project dictates that a DBA configures data level security in SQL (għall-kuntrarju inkorporazzjoni ID utent query SQL jew xi approċċ ieħor).

The problem is that SQL server doesn’t know anything about our FBA environment so it can’t trust us. We solved this problem by, għal nuqqas ta 'kelma aħjar, manually impersonating an AD user so that we could connect to SQL such that SQL data level security works.

Anki jekk FBA hija karatteristika ASP.NET, aħna nies Nazzjon SharePoint jkunu mgħallma l-search engines varji li jekk int mistoqsi għal FBA, you must mean you want know how to configure FBA in SharePoint. I failed to find find any information on how to enable an FBA oriented ASP.NET application to communicate with SQL in the way we needed.

Fil-kors ta 'riċerka dan, aħna jerġa 'jaqra dan l-artikolu: ASP.NET Impersonizzazzjoni

Aktar riċerka wassal lilna biex dan l-artikolu codproject: http://www.codeproject.com/KB/cs/cpimpersonation1.aspx

Li għen lilna jikteb il-kodiċi tagħna, which I’ve included below. It’s not the most elegant stuff, but it worked. I hope you find it helpful.

Hawn il-kodiċi li ħadmu għalina:

protetti null btnSearchCarrier_Click(mittent oġġett, EventArgs e)
 {
 jippruvaw
 {
 U = ImpersonateUser ġdid ImpersonateUser();
 // ALL: Ibdel kredenzjali
 ("DomainName", "UserName", "Password");

//
 KODIĊI
//

 iU.Undo();
 }
 qabda (Eċċezzjoni ex)
 {

 }
 }

// Bl-użu Impersonizzazzjoni klassi kif imsemmi hawn taħt.

pubbliku klassi ImpersonateUser
 {
 [DllImport("advapi32.dll", SetLastError = vera)]
 pubbliku statiku esternament bool LogonUser(
 LpszUsername String,
 String lpszDomain,
 String lpszPassword,
 dwLogonType int,
 int dwLogonProvider,
 ref IntPtr phToken);

 [DllImport("kernel32.dll", Charset = CharSet.Auto)]
 privat esternament statiku bool CloseHandle(IntPtr manku);

 privat statiku IntPtr tokenHandle = ġdid IntPtr(0);
 privat statiku WindowsImpersonationContext impersonatedUser;

 // Jekk jinkorpora dan il-kodiċi fis DLL, kun żgur li titlob li
 // runs bil FullTrust.
 [PermissionSetAttribute(SecurityAction.Demand, Isem = "FullTrust")]
 pubbliku null impersonate(string DomainName, Username string, password string)
 {
 jippruvaw
 {

 // Uża l-funzjoni LogonUser ġestjonati biex jiksbu l-token utent għal
 // l-utent speċifikat, dominju, u password.
 const int LOGON32_PROVIDER_DEFAULT = 0;

 // Tgħaddi dan il-parametru tikkawża LogonUser li jinħoloq token primarja.
 const int LOGON32_LOGON_INTERACTIVE = 2;
 tokenHandle = IntPtr.Zero;

 // Pass -1 Sejħa LogonUser tikseb manku għal token aċċess.
 bool returnValue = LogonUser(
 Username,
 isem tad-dominju,
 password,
 LOGON32_LOGON_INTERACTIVE,
 LOGON32_PROVIDER_DEFAULT,
 Proprjetà tokenHandle); // tokenHandle - token tas-sigurtà ġdid

 jekk (falza == returnValue)
 {
 int ret = Marshal.GetLastWin32Error();
 WriteLine("LogonUser call failed with error code : " +
 dritt);
 tarmi System.ComponentModel ġdida.Win32Exception(dritt);
 }

 // Pass - 2
 WindowsIdentity newId = ġdid WindowsIdentity(tokenHandle);
 // Pass -3
 impersonatedUser = newId.Impersonate();

 }
 qabda (Eċċezzjoni ex)
 {
 WriteLine("Exception occurred. " + ex.Message);
 }
 }


 /// <sommarju>
 /// Waqfiet Impersonizzazzjoni
 /// </sommarju>
 pubbliku null jħoll()
 {
 impersonatedUser.Undo();
 // Ħielsa l tokens.
 jekk (tokenHandle != IntPtr.Zero)
 CloseHandle(tokenHandle);
 }
 }

</aħħar>

Abbona għall-blog tiegħi.

Tags:

Żieda fil-Lore: SSRS jgħidlekx Me “rsAccessDenied”, Iżda … I really do jkollhom aċċess

Ftit ġimgħat lura, I was working with my developer colleague on a project involving SQL Server Reporting Services plug-in for MOSS. He was developing a web part that provides a fancy front-end to the report proper (l-karatteristika prinċipali li tkun lookup għaqlija fuq parametru bi diversi eluf valuri jitfittex warajh).

Dan kien qed jaħdem kbir fl-ambjent iżvilupp iżda fl-ittestjar aċċettazzjoni mill-utenti (UAT) ambjent, it wouldn’t work. Firing up the debugger, aħna se ara d-dettalji ta 'eċċezzjoni bħal din:

L-permessi mogħtija lill-utent "UAT_domain mosssvc" mhumiex biżżejjed biex iwettqu din l-operazzjoni.(rsAccessDenied).

Jekk inti tagħmel tfittxija live fuq l-iżball ta 'hawn fuq, you find it’s quite common. Scarily common. The worst kind of common because it has many different potential root causes and everyone’s suggested solution "feels" dritt. We probably tried them all.

Fil-każ tagħna, the problem was that we had done a backup/restore of DEV to UAT. Somewhere in the data, something was still referring to "DEV_domain" (instead of the updated "UAT_Domain"). We created a new site, miżjuda l-parti web u li tissolva problema tagħna.

Nisperaw li dan se jiffrankaw xi ħadd siegħa jew tnejn matul il-linja.

</aħħar>

Abbona għall-blog tiegħi.

Tags:

Quick jiffissaw: Aċċess Site SharePoint throws [HttpException (0x80004005): Talba puntwali out.]

One of my developer colleagues was working on a project this week and ran into a timeout problem while working on building some crazy web part. His web part was fine, but "suddenly" sit mhux relatati sar bil-mod ħafna u spiss ttajmjati out ma 'dan l-iżball:

[HttpException (0x80004005): Talba puntwali out.]

I logged in and saw that several other sites were just fine. I suspected that there were some hidden web parts on the page and using l trusty ?kontenut = 1 teknika debug, I sabet effettivament 11 web partijiet fuq il-paġna, only two of which were visible. Even better (minn-'I-isibu-ikrah--hawn' li-I-can jiffissaw xi ħaġa tama let's perspettiva), three of those closed web parts had a name of "Error".

I imħassar dawk il-partijiet tal-web (li fih innifsu ħadet żmien twil sorprendenti) and that solved the problem. For today 🙂

</aħħar>

Abbona għall-blog tiegħi.

Tags:

Taħriġ fil-klassi FAST hija eċċellenti

Jien jibdew ġurnata 4 ta 'taħriġ sieħeb FAST tal immexxi mill Larry Kaye hawn fil Needham, MA.

Din is-sessjoni 5-jum maqsuma fi klassijiet (3 u 2 ġranet rispettivament) entitled "FAST ESP: Iżvilupp Custom Search Applikazzjonijiet għal Imsieħba Alleanza I" and "FAST ESP: Developing Custom Search Applications for Alliance Partners II".

Din hija boot camp klassi reali tip. Il-materjal huwa fond (ħafna, ferm fil-fond). L-instructor (Larry) jaf Jittieħed tiegħu b'mod ċar. I highly recommend this training if you considering it.

</aħħar>

SharePoint u FAST — Cups butir tal-karawett l Reese ta Apps Intrapriża?

Stajt lest sa jum 2 ta 'taħriġ FAST fil xemxija Needham, MA, u jien fqigħ ma 'ideat (fiha l-klassijiet ta 'taħriġ tajba tagħmel biex lili). One particular aspect of FAST has me thinking and I wanted to write it down while it was still fresh and normal day-to-day "stuff" mbuttati barra tar-ras tiegħi.

Aħna SharePoint WSS 3.0 / Implimentaturi MOSS spiss jiffaċċjaw problema iebsa ma 'kull proġett SharePoint raġonevolment ta' daqs: Kif nistgħu tikseb l-informazzjoni untagged kollha mgħobbija SharePoint tali li dan kollu toqgħod tajjeb fi ħdan arkitettura ta 'informazzjoni tagħna perfettament mfassla?

Spiss biżżejjed, din mhix tali problema diffiċli għaliex aħna lilna nfusna ambitu barra ta 'nkwiet: "We don’t care about anything more than 3 months old." "We’ll handle all that old stuff with keyword search and going-forward we’ll do it the RIGHT way…" Etc.

Iżda, what happens if we can’t scope ourselves out of trouble and we’re looking at 10’s of thousands or 100’s of thousands (jew saħansitra miljuni) ta 'docs — it-tagħbija u immarkar li hija x-xewqa devout tagħna?

FAST jista 'jkun ir-risposta.

Proċess ta 'tfittxija FAST tinkludi lott ta' partijiet li jiċċaqalqu, iżda ħsieb simplifikata wieħed huwa dan:

  • A proċess crawler jistenna għall-kontenut.
  • Hija tikkonstata kontenut u idejn off għal proċess sensar li tmexxi grupp ta 'proċessuri dokument.
  • Proċess Broker idejn off għal waħda mill-proċessuri dokument.
  • Il-proċessur dokument janalizza l-att u permezz ta 'proċess pipeline, tanalizza l-bejeezus barra tad-dokument u idejn off għal proċess indiċi tip bennej.

Fuq il-FAST Starship, we have a lot of control over the document processing pipeline. We can mix and match about 100 komponenti pipeline u, aktar interessanti, we can write our own components. Like I say, FAST is analyzing documents every which way but Sunday and it compiles a lot of useful information about those documents. Those crazy FAST people are clearly insane and obsessive about document analysis because they have tools and/or strategies to REALLY categorize documents.

Allura … użu FAST flimkien ma komponent tagħna stess pipeline custom, we can grab all that context information from FAST and feed it back to MOSS. It might go something like this:

  • Dokument, jiddaħħal fis FAST minn MOSS.
  • Normali crazy-ossessjoni dokument parsing FAST u l-kategorizzazzjoni jiġri.
  • Komponent tagħna stess pipeline custom qtar xi wħud il-kuntest informazzjoni off għal database.
  • A proċess ta 'disinn tagħna stess jaqra l-informazzjoni kuntest, jagħmel xi deċiżjonijiet dwar kif tajbin li dokument MOSS fi ħdan IA tagħna u jimmarka it up jużaw servizz web u l-mudell oġġett.

Of course, ebda proċess awtomatiku bħal dan jista 'jkun perfett imma grazzi għall-Obsesja (u n-nies FAST possibilment insane imma-in-a-tajba naħat), aħna jista 'jkollhom nar reali maqtul bi proċess verament effettiv tagħbija massa li tagħmel aktar milli sempliċement imla l-database SQL bil-mazz ta' dokumenti bilkemm jitfittex.

</aħħar>

Abbona għall-blog tiegħi.

Tagħlim Dwar utenti finali bi www.EndUserSharePoint.com

Mark Miller fuq medda ta ' http://www.endusersharepoint.com bniet, fl-esperjenza tiegħi, the best end-user focused SharePoint site in the ‘sphere. Fl-aħħar xahar, he has enlisted some of the premier end-user focused bloggers around to contribute to the "front page" fuq bażi regolari, inklużi iżda mhux limitati għal Paul Culmsee, Chris Quick, u Dessie Lunsford. He has others lined up and ready to contribute as their schedules allow.

I qabża fuq l-opportunità li jipparteċipaw u post inawgurali tiegħi huwa hawnhekk. I’m writing a series on how to use SharePoint Designer to create first-class business workflow solutions. In keeping with the EUSP.com’s focus, dawk l-artikoli dejjem se żżomm l quddiem Utent Tmiem u center.

I personalment tendenza li jaqsam id-dinja SharePoint fi tliet gruppi wesgħin: SharePoint consultants, full-time SharePoint staff developers and end users. When I write, I spiss jistaqsu myself, liema minn dawn il-gruppi jistgħu jkunu interessati fis-suġġett? Most often, I jispiċċaw bil-miktub għall-ewwel tnejn (tekniku) gruppi, prinċipalment għaliex jien konsulent myself; it’s always easier and more authentic to write about those things with which you’re most familiar on a personal level.

Kif stajt nnotat qabel, il-komunità utent aħħari huwa ferm, far larger than the technical community. EUSP.com is top-notch and I heartily recommend it to all three groups. The site’s laser focus is obviously valuable to end users. Madankollu, we developers and consultants can only be better at our profession if we can understand and effectively respond to the needs of the end users we serve. I know I need all the help I can get 🙂 Iċċekkjaha.

</aħħar>

Abbona għall-blog tiegħi.

Invokazzjoni SSRS Web Services Mill WSS / MOSS fl FBA Ambjent

We needed to invoke the "CreateSubscription" method on an SSRS web service that is hosted in an FBA managed MOSS environment from a custom web part. We kept getting variations of:

  • 401: Mhux awtorizzat
  • Għan Ittrasferit

The "object moved" message was most interesting because it was saying that the "object" (SSRS servizz tagħna) had "moved" to login.aspx. This clearly meant we had some kind of authentication problem.

I eventually realized that I had bookmarked a blog entry by Robert Garret that described how to invoke a general purpose WSS/MOSS web service living inside an FBA environment. Note that I can’t link directly to the article (bħala ta ' 06/09/08) because it wants to authenticate. The link I provide brings you to an "all posts" view and you can locate the specific article by searching for "Accessing MOSS Web Services using Forms Based Authentication".

Hawn il-kodiċi li ħadmu għalina:

ReportingService2006 rs = null; 
// Authenticate Authentication auth = ġdid Authentication(); 
auth.Url = "http://URL/_vti_bin/Authentication.asmx";
auth.CookieContainer =
ġdid CookieContainer();
LoginResult result = auth.Login("userid", "password");
jekk (result.ErrorCode == LoginErrorCode.NoError) 
{
// No error, so get the cookies.
CookieCollection cookies = auth.CookieContainer.GetCookies(ġdid Uri(auth.Url));
Cookie authCookie = cookies[result.CookieName];
rs =
ġdid ReportingService2006();
rs.Url =
"http://server/_vti_bin/ReportServer/ReportService2006.asmx";
rs.CookieContainer =
ġdid CookieContainer();
rs.CookieContainer.Add(authCookie);
}
jippruvaw
{
  rs.CreateSubscription(report, extSettings, desc, eventType, matchData, parameters1);
}
qabda (Eċċezzjoni ex)
{
  WriteLine(ex.Message.ToString());
}

I interpret things to work like this:

  • Parti web tagħna jeħtieġ li dial up-servizz awtentikazzjoni u jgħidu, "Hey, Tony, huwa me!".
  • Jirrispondi Awtentikazzjoni qal, "Hey, I know you. How are the kids? Here’s a token."
  • Aħna nsejħu l-servizz SSRS u jgħidu, "Tony sent me, hawn l-token."

</aħħar>

Abbona għall-blog tiegħi.

Have You Mwettqa Monthly Search Your Analiżi?

Huwa prattika tajba, probabbilment anki l-aħjar prattika, biex tirrevedi tfittxija tiegħek rapporti darba fix-xahar u tfittex opportunitajiet biex iżżid imħatri aħjar, tune your thesaurus and maybe even uncover some business intelligence that is otherwise hidden to management.

It’s already the 3rd of the month. Time’s awastin’ 🙂

</aħħar>

Abbona għall-blog tiegħi.