Aylıq Arxiv: İyun 2008

İyun 2008 SUGDC Konfransı — Bu Wrap var

I attended my first ever SharePoint conference this past weekend and it was a blast.

Cümə axşamı günortadan sonra, Mən Virginia aşağı sürüb, mənim yeni alınmış rəhbər $50 GPS appliance plug-in thing to my phone. The device was flawless. After the five hour drive, I had the energy to do a nice run on the tread mill and then, even more surprisingly, 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. Zamanla, 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 dəqiqə, to my dismay at the time. Xoşbəxtlikdən, 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) uğrunda 3 və ya 4 saat (and that, after I had finished drinking for the night). I don’t often get to talk about Farscape və ya 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 üçün 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. Nəhayət, I want to publicly thank Gary Blatt, Gary Vaughn and Bob Fox for alerting me to and allowing me to speak at the conference. Əlbəttə, 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, və s..

</son>

Blog abunə.

Technorati Tags:

FBA və 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 (kimi bir SQL sorğu bir istifadəçi ID və ya başqa bir yanaşma daxilolma qarşı).

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, daha yaxşı bir söz olmaması üçün, manually impersonating an AD user so that we could connect to SQL such that SQL data level security works.

FBA bir ASP.NET xüsusiyyət olsa da, biz SharePoint Nation nəfər müxtəlif axtarış motorları tədris ki, siz FBA üçün querying yapıyorsanız, 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.

Bu araşdırma zamanı, biz yenidən oxumaq bu maddənin: ASP.NET impersonation

Daha çox araşdırma bu codproject maddə bizi gətirib: http://www.codeproject.com/KB/cs/cpimpersonation1.aspx

Yəni bizim kodu yazmaq kömək, which I’ve included below. It’s not the most elegant stuff, lakin o, işləyib. I hope you find it helpful.

Burada bizim üçün çalışıb ki, kod:

müdafiə void btnSearchCarrier_Click(obyekt göndərən, EventArgs e)
 {
 cəhd
 {
 ImpersonateUser IU = yeni ImpersonateUser();
 // TODO: Etimadnaməsini dəyişdirin
 ("DomainName", "UserName", "Password");

//
 CODE
//

 iU.Undo();
 }
 tutmaq (Istisna ex)
 {

 }
 }

// Impersonation sinif istifadə edərək aşağıda qeyd.

ictimai sinfi ImpersonateUser
 {
 [DllImport("advapi32.dll", SetLastError = doğru)]
 ictimai statik extern bool LogonUser(
 String lpszUsername,
 String lpszDomain,
 String lpszPassword,
 int dwLogonType,
 int dwLogonProvider,
 ref IntPtr phToken);

 [DllImport("kernel32.dll", Charset = CharSet.Auto)]
 xüsusi extern statik bool CloseHandle(IntPtr qolu);

 xüsusi statik IntPtr tokenHandle = yeni IntPtr(0);
 xüsusi statik WindowsImpersonationContext impersonatedUser;

 // Bir DLL bu kodu daxil edin, ki, tələb əmin olun
 // FullTrust ilə çalışır.
 [PermissionSetAttribute(SecurityAction.Demand, = Adlandırın "FullTrust")]
 ictimai taklit ləğv(string domainName, string İstifadəçi adı, string unutdunuz)
 {
 cəhd
 {

 // Istifadəçi mö'cüzə almaq üçün yönetilmeyen LogonUser funksiyasından istifadə
 // Göstərilən istifadəçi, domain, və parol.
 İns int = LOGON32_PROVIDER_DEFAULT 0;

 // Bu parametr keçən LogonUser əsas mö'cüzə yaratmaq səbəb olur.
 İns int = LOGON32_LOGON_INTERACTIVE 2;
 tokenHandle = IntPtr.Zero;

 // Addım -1 Giriş mö'cüzə bir qolu almaq LogonUser zəng.
 bool returnValue = LogonUser(
 İstifadəçi adı,
 domainName,
 parol,
 LOGON32_LOGON_INTERACTIVE,
 LOGON32_PROVIDER_DEFAULT,
 ref tokenHandle); // tokenHandle - yeni təhlükəsizlik mö'cüzə

 əgər (yalan == returnValue)
 {
 int ret = Marshal.GetLastWin32Error();
 Console.WriteLine("LogonUser call failed with error code : " +
 islağa qoymaq);
 atmaq yeni System.ComponentModel.Win32Exception(islağa qoymaq);
 }

 // Addım - 2
 WindowsIdentity = newid yeni WindowsIdentity(tokenHandle);
 // Addım -3
 impersonatedUser = newId.Impersonate();

 }
 tutmaq (Istisna ex)
 {
 Console.WriteLine("Exception occurred. " + ex.Message);
 }
 }


 /// <xülasə>
 /// Impersonation dayandırır
 /// </xülasə>
 ictimai Al ləğv()
 {
 impersonatedUser.Undo();
 // Ayələrindən azad.
 əgər (tokenHandle != IntPtr.Zero)
 CloseHandle(tokenHandle);
 }
 }

</son>

Blog abunə.

Technorati Tags:

Bu irfan durub: SSRS Yadda edir “rsAccessDenied”, Lakin … Mən, həqiqətən, Access var DO

Bir neçə həftə geri, 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 (bunun arxasında bir neçə min axtarış dəyərləri ilə bir parametri bir ağıllı search olan əsas xüsusiyyət).

Bu inkişaf mühitində ancaq istifadəçi qəbul test böyük iş (UAT) ətraf mühit, it wouldn’t work. Firing up the debugger, Belə istisna ətraflı görəcək:

Istifadəçi verilmiş icazələrin 'UAT_domain mosssvc bu əməliyyatı həyata keçirmək üçün kifayət deyildir.(rsAccessDenied).

Əgər yuxarıda səhv canlı axtarış edin, 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" sağ. We probably tried them all.

Bizim halda, 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, web hissəsi əlavə və problem həll edən.

Ümid edirəm bu xətt aşağı kimsə bir saat və ya iki xilas edəcək.

</son>

Blog abunə.

Technorati Tags:

Quick Fix: SharePoint siteye salır [HttpException (0x80004005): Request zaman başa çatmışdır.]

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, amma "birdən-birə" əlaqəli olmayan sayt çox zəif oldu və tez-tez bu səhv ilə başa çatmışdır:

[HttpException (0x80004005): Request zaman başa çatmışdır.]

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 Bu Etibarlı ?məzmunu = 1 debug texnika, Mən əslində idi 11 Səhifənin web hissələri, only two of which were visible. Even better (bir let's-ümid-i tapmaq, bir-çirkin-bura-ki-I-düzeltebilirsiniz baxımdan), o qapalı web hissələri üç "Xəta" bir ad idi.

Mən o web hissələri silindi (bu özü bir təəccüblü uzun çəkdi) and that solved the problem. For today 🙂

</son>

Blog abunə.

Technorati Tags:

In-sinif FAST Təlim gözəldir

Mən gün baþlýyorum 4 NEEDHAM burada Larry Kaye tərəfindən başçılıq FAST tərəfdaş təlim, MA.

Bu 5 gün sessiya siniflərə pozuldu (3 və 2 gün müvafiq olaraq) entitled "FAST ESP: Mən Alliance Partnyorlar üçün Xüsusi Axtarış Proqramlar inkişaf" and "FAST ESP: Developing Custom Search Applications for Alliance Partners II".

Bu real Boot Camp növü sinif. Maddi dərin (çox, dibsiz). Təlimatçı (Larry) aydın onun məhsulları bilir. I highly recommend this training if you considering it.

</son>

SharePoint və FAST — Enterprise Apps Reese nin Peanut Butter Bardaklar?

Mən gün bitirdiğinizde 2 günəşli NEEDHAM sürətli təlim, MA, və mən ideyaları ilə bursting alıram (bütün yaxşı təlim dərsləri mənə hansı). 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" pushed it out of my head.

We SharePoint WSS 3.0 / MOSS implementers frequently face a tough problem with any reasonably-sized SharePoint project: How do we get all the untagged data loaded into SharePoint such that it all fits within our perfectly designed information architecture?

Often enough, this isn’t such a hard problem because we scope ourselves out of trouble: "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.

Lakin, 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 (or even millions) of docs — the loading tagging of which is our devout wish?

FAST might be the answer.

FAST’s search process includes a lot of moving parts but one simplified view is this:

  • A crawler process looks for content.
  • It finds content and hands it off to a broker process that manages a pool of document processors.
  • Broker process hands it off to one of the document processors.
  • The document processor analyzes the document and via a pipeline process, analyzes the bejeezus out of the document and hands it off to an index builder type process.

On the starship FAST, we have a lot of control over the document processing pipeline. We can mix and match about 100 pipeline components and, most interestingly, 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.

Belə … using FAST in combination with our own custom pipeline component, we can grab all that context information from FAST and feed it back to MOSS. It might go something like this:

  • Document is fed into FAST from MOSS.
  • Normal crazy-obsessive FAST document parsing and categorization happens.
  • Our own custom pipeline component drops some of that context information off to a database.
  • A process of our own design reads the context information, makes some decisions on how to fit that MOSS document within our IA and marks it up using a web service and the object model.

Əlbəttə, no such automated process can be perfect but thanks to the obsessive (and possibly insane-but-in-a-good-way FAST people), we may have a real fighting shot at a truly effective mass load process that does more than just fill up a SQL database with a bunch of barely-searchable documents.

</son>

Blog abunə.

Technorati Tags: , ,

Www.EndUserSharePoint.com hazırda Son indi haqqında öyrənmək

Da artıq Mark Miller http://www.endusersharepoint.com qurmuşdur, mənim təcrübəsi, the best end-user focused SharePoint site in the ‘sphere. Ötən ay ərzində, he has enlisted some of the premier end-user focused bloggers around to contribute to the "front page" müntəzəm, o cümlədən məhdudlaşmır Paul Culmsee, Chris Sadə, və Dessie Lunsford. He has others lined up and ready to contribute as their schedules allow.

Mən iştirak imkanı haqqında çıxdı mənim ilk ismarıc burada. 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, həmin məqalələri həmişə Son Kullanıcı ön və mərkəzi davam edəcək.

Mən şəxsən üç geniş qrupa SharePoint dünya bölmək edirlər: SharePoint consultants, full-time SharePoint staff developers and end users. When I write, Mən tez-tez öz-özümə soruşuram, mövzusunda maraqlı ola bilər bu qrupların hansı? Most often, Mən ilk iki yazı son (texniki) qruplar, Mən məsləhətçi özüm Ben əsasən; it’s always easier and more authentic to write about those things with which you’re most familiar on a personal level.

Mən əvvəl qeyd etdiyiniz kimi, son istifadəçi icma uzaq, 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. Lakin, 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 🙂 Check it out.

</son>

Blog abunə.

WSS dən SSRS Web Services Invoking / FBA Ətraf Mühit MOSS

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: Səlahiyyətli deyil
  • Obyekt köçürülüb

The "object moved" message was most interesting because it was saying that the "object" (bizim SSRS xidmət) had "moved" to login.aspx. This clearly meant we had some kind of authentication problem.

Mən nəhayət mən ki, həyata keçirilir sık bir blog giriş 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 (kimi 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".

Burada bizim üçün çalışıb ki, kod:

ReportingService2006 rs = null; 
// Təsdiq etmək Authentication İcazə = yeni Authentication(); 
auth.Url = "http://URL / _vti_bin / Authentication.asmx";
auth.CookieContainer =
yeni CookieContainer();
LoginResult nəticə = auth.Login("userid", "password");
əgər (result.ErrorCode == LoginErrorCode.NoError) 
{
// No səhv, belə cookies almaq.
CookieCollection cookies = auth.CookieContainer.GetCookies(yeni Uri(auth.Url));
Cookie authCookie = cookies[result.CookieName];
rs =
yeni ReportingService2006();
rs.Url =
"http://server/_vti_bin/ReportServer/ReportService2006.asmx";
rs.CookieContainer =
yeni CookieContainer();
rs.CookieContainer.Add(authCookie);
}
cəhd
{
  rs.CreateSubscription(məlumat, extSettings, Azalan, eventType, matchData, parameters1);
}
tutmaq (Istisna ex)
{
  Console.WriteLine(ex.Message.ToString());
}

Mən hər şeyi bu kimi işləmək üçün şərh:

  • Bizim web hissəsi identifikasiyası xidmət yığmaq və demək lazımdır, "Hey, Tony, mənə var!".
  • Authentication xidməti cavab söyləyərək, "Hey, I know you. How are the kids? Here’s a token."
  • Biz SSRS xidmət zəng və demək, "Tony sent me, burada mö'cüzə var."

</son>

Blog abunə.

Əgər aylıq Axtar Analiz ifa ediblər?

Bu yaxşı təcrübə var, yəqin ki, hətta ən yaxşı təcrübə, Axtarış ayda bir dəfə hesabat nəzərdən keçirmək və imkanları yaxşı bahis əlavə etmək üçün baxmaq, 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’ 🙂

</son>

Blog abunə.

No More istiqamətli Axtar Çit sitter

Mən ilə bağlı oynamaq üçün bu gün səbəb olmuşdur codeplex istiqamətli axtarış project today.

Bu müddət ətrafında olub, amma adi səbəblərlə onu yükləyə və istifadə etmək üçün tərəddüd (vaxt əsasən olmaması), plus outright fear 🙂

Axtarış təkmilləşdirilməsi və yeni variantları tədqiq etmək istəyirsinizsə, download it and install it when you have an hour or so of free time. I followed the installation manual’s instructions and it took me less than 20 minutes to have it installed and working. It provides value minute zero.

It does look pretty hard to extend. The authors provide a detailed walk-through for a complex BDC scenario. I may be missing it, but I wish they would also provide a simpler scenario involving one of the pre-existing properties or maybe adding one new managed property. I shall try and write that up myself in the next period of time.

Aşağı xətt — dəqiqə, siz quraşdıra bilərsiniz, bu konfiqurasiya, use it and add some pretty cool functionality to your vanilla MOSS search and be a hero 🙂

</son>

Blog abunə.

Technorati Tags: