</крајот>
Јуни 2008 SUGDC конференција — Тоа е завиткајте
Јас присуствуваа мојот прв некогаш SharePoint конференција this past weekend and it was a blast.
Четврток попладне, Возев до Вирџинија, водени од моите ново купени $50 GPS appliance plug-in thing to my phone. The device was flawless. After the five hour drive, Имав енергија за да направат еден убав рок на шарите мелница, а потоа, дури и повеќе изненадувачки, 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 минути на П&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. Со текот на времето, Јас ќе врзува овие информации во мојата серија во текот на EUSP.com for End Users trying to get the most use out of that tool. I blew through my slides and demo in 35 минути, to my dismay at the time. За среќа, П&А беше жив, no doubt helped by the fact that it was early morning before lunch. П&A is my favorite part of any presentation.
Имаше многу интересни теми и се надевам да блог за нив подетално оваа недела (време дозволување, како и секогаш). 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) за 3 или 4 часа (и дека, откако ја заврши пиење во текот на ноќта). I don’t often get to talk about Farscape или Вавилон 5 со Канзас Сити жители.
Боб Фокс беше таму и како и обично, е виорот на intros, chats and just plain frenetic energy. He invited me to Saturday breakfast with Sahil Malik and that was great.
Сабота (ден 2), Мајк Lotter се довлечка до-конференција да се зборува за InfoPath, а потоа тој се приклучи Беки на крајот на денот да се направи еден вид на општи П&Седница за околу 30 да 45 минути главно е фокусирана на 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" оди напред.
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. Конечно, Сакам јавно да им се заблагодарам Гери Блат, Gary Vaughn and Bob Fox for alerting me to and allowing me to speak at the conference. Се разбира, 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, тоа е страшно за средба со сите оние кои се онлајн личности сте познати преку блогови, Твитер, форуми, итн.
</крајот>
Да се претплатите на мојот блог.
FBA и SQL Server: Љубовна приказна
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 (што е спротивно на внесување на корисничко име во барањето SQL или некои други пристапи).
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, поради недостаток на подобар збор, manually impersonating an AD user so that we could connect to SQL such that SQL data level security works.
Иако FBA е карактеристика ASP.NET, ние SharePoint нацијата луѓе се предава на различни пребарувачи дека ако сте доведување во прашање за 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.
Во текот на истражување на овој, ние повторно ја прочитате оваа статија: ASP.NET присвојување
Повеќе истражувања нè доведоа до оваа статија codproject: http://www.codeproject.com/KB/cs/cpimpersonation1.aspx
Кој ни помогна да пишува нашата код, which I’ve included below. It’s not the most elegant stuff, но тоа работел. I hope you find it helpful.
Еве го кодот што работеле за нас:
заштитени празнина btnSearchCarrier_Click(објект испраќачот, EventArgs e) { обидете { ImpersonateUser IU = нови ImpersonateUser(); // НАПРАВИ: Замени ингеренциите ("DomainName", "UserName", "Password"); // КОД // iU.Undo(); } фати (Исклучок екс) { } } // Користење на присвојување класа како што е споменато подолу. јавноста класа ImpersonateUser { [DllImport("advapi32.dll", SetLastError = вистина)] јавноста статички однадвор bool LogonUser( Стринг lpszUsername, Стринг lpszDomain, Стринг lpszPassword, int dwLogonType, int dwLogonProvider, РЕФ IntPtr phToken); [DllImport("kernel32.dll", Charset = CharSet.Auto)] приватни однадвор статички bool CloseHandle(IntPtr рачка); приватни статички IntPtr tokenHandle = нови IntPtr(0); приватни статички WindowsImpersonationContext impersonatedUser; // Ако се вклучат овој код во DLL, не заборавајте да побараат тоа // работи со FullTrust. [PermissionSetAttribute(SecurityAction.Demand, Име = "FullTrust")] јавноста поништат игра улогата(низа именадомен, низа корисничко име, низа лозинка) { обидете { // Го користите на Unmanaged LogonUser функција да добие на корисникот знак за // наведениот корисник, домен, и лозинка. const int LOGON32_PROVIDER_DEFAULT = 0; // Донесувањето на овој параметар предизвикува LogonUser да се создаде основни знак. const int LOGON32_LOGON_INTERACTIVE = 2; tokenHandle = IntPtr.Zero; // Чекор -1 Јавете се LogonUser да се добие рачка на токен за пристап. bool returnValue = LogonUser( корисничко име, име на домен, лозинка, LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT, Сопственост tokenHandle); // tokenHandle - новите безбедносни знак ако (лажни == returnValue) { int изгнивам = Marshal.GetLastWin32Error(); Console.WriteLine("LogonUser call failed with error code : " + право); фрли нови System.ComponentModel.Win32Exception(право); } // Чекор - 2 WindowsIdentity newId = нови WindowsIdentity(tokenHandle); // Чекор -3 impersonatedUser = newId.Impersonate(); } фати (Исклучок екс) { Console.WriteLine("Exception occurred. " + ex.Message); } } /// <резиме> /// Запира имитирање /// </резиме> јавноста поништат Поништи() { impersonatedUser.Undo(); // Ослободи токени. ако (tokenHandle != IntPtr.Zero) CloseHandle(tokenHandle); } }
</крајот>
Да се претплатите на мојот блог.
Додавање на Lore: SSRS ми кажува “rsAccessDenied”, Но … Јас навистина немаат пристап
Неколку недели назад, 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 (главната карактеристика да се биде умен Пребарување на параметар со неколку илјади пребарува вредности зад неа).
Тоа беше работа одлично во развој на животната средина, но во корисник прифаќање тестирање (UAT) животната средина, it wouldn’t work. Firing up the debugger, ние ќе ја видите исклучок детали како овој:
На дозволите доделени на корисникот UAT_domain mosssvc "не се доволни за вршење на оваа операција.(rsAccessDenied).
Ако го направите во живо пребарување на погоре грешка, 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" право. We probably tried them all.
Во нашиот случај, 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, додадени веб дел и дека реши нашиот проблем,.
Се надевам дека ова ќе заштедите некој еден час или два по ред.
</крајот>
Да се претплатите на мојот блог.
Брз лек: Пристап до SharePoint Мапа Фрла [HttpException (0x80004005): Барам истече.]
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" неповрзани сајт стана многу бавен и често истече со оваа грешка:
[HttpException (0x80004005): Барам истече.]
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 на сигурен ?содржината = 1 debug техника, Јас навистина се најде 11 веб делови на оваа страница, only two of which were visible. Even better (од let's-надеж-I-најде-нешто-грдо-тука-што-јас--може да се поправат перспектива), three of those closed web parts had a name of "Error".
Јас избришани оние веб-делови (кој сам по себе зеде изненадувачки долго време) and that solved the problem. За денес 🙂
</крајот>
Да се претплатите на мојот блог.
Во својата класа брзо обука е одлична
Јас сум почнуваат ден 4 на партнер обука брза е на чело од страна на Лари Кеј тука во Needham, М-р.
Ова 5-ден сесија се расчленети на часови (3 и 2 дена, соодветно) entitled "FAST ESP: Развивање прилагодено Барај Апликации за Алијансата Партнери јас" and "FAST ESP: Developing Custom Search Applications for Alliance Partners II".
Ова е вистински подигање камп тип на класа. Материјалот е длабоко (многу, многу длабоко). Инструктор (Лари) јасно знае неговите работи. I highly recommend this training if you considering it.
</крајот>
SharePoint и брзо — Кикирики на Рис е Путер првенства на Enterprise Apps?
Сум завршена ден 2 на брза обука во сончево Needham, М-р, и јас сум преполн со идеи (кој сите добри обука класи направам за да ме). 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" потисна да биде надвор од мојата глава.
Ние SharePoint WSS 3.0 / Мос имплементатори често се соочуваат со тешка проблем со било разумно големина SharePoint проект: Како ние да ги добиете сите untagged податоци натоварена во SharePoint таква што сето тоа се вклопува во рамките на нашиот совршено дизајнирани информациската архитектура?
Доволно често, ова не е толку тешко проблем, бидејќи ние самите опсегот од мака: "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.
Но, 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 (или дури и милиони) на docs — вчитување и означување на која е нашата побожните желба?
БРЗО може да биде одговор.
Пребарување процес брзо вклучува многу подвижни делови, но еден поедноставен гледиште е ова:
- А процесот Роботот изгледа за содржина.
- Утврди содржината и рацете, го исклучувам на брокер процес кој управува со еден базен на документот процесори.
- Брокер процес раце од едната на документот процесори.
- Во документот процесор анализира документ и преку нафтоводот процес, анализира bejeezus надвор од документот и раце, го исклучувам на индекс градител тип процес.
На ѕвезда БРЗО, we have a lot of control over the document processing pipeline. We can mix and match about 100 гасовод компоненти и, повеќето интересно, 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.
Така … користење на Брз во комбинација со нашите сопствени гасоводот компонента, we can grab all that context information from FAST and feed it back to MOSS. It might go something like this:
- Документ се храни во брзо од Мос.
- Нормално лудо опсесивно Брз документ парсирање и категоризација се случува.
- Нашите сопствени гасоводот компонента капки некои од тој контекст информации исклучување на базата на податоци.
- А процесот на нашиот сопствен дизајн се наведува во контекст информации, прави некои одлуки за тоа како да се вклопи дека Мос документ во рамките на нашите IA и го означува тоа со користење на веб сервис и објектот модел.
Се разбира, нема такви автоматизиран процес може да биде совршен, но благодарение на опсесивно (а можеби и лудо-но-во-а-добар начин БРЗО луѓе), ние може да има вистинска борба застрелан во вистински ефективни масовно оптоварување процес кој не повеќе од само се наполни салата SQL база на податоци со еден куп на документи едвај-пребарува.
</крајот>
За учење крајни корисници Во www.EndUserSharePoint.com
Марк Милер во текот на http://www.endusersharepoint.com има изградено, во моето искуство, the best end-user focused SharePoint site in the ‘sphere. Во последниот месец, he has enlisted some of the premier end-user focused bloggers around to contribute to the "front page" на редовна основа, вклучувајќи, но не ограничувајќи се на Пол Culmsee, Крис Брзи, и Dessie Lunsford. He has others lined up and ready to contribute as their schedules allow.
Јас скокна на шанса да учествуваат и мојот прв пост е тука. 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, оние статии секогаш ќе го задржи на крајниот корисник пред и центар.
Јас лично имаат тенденција да го делат светот на SharePoint во три широки групи: SharePoint consultants, full-time SharePoint staff developers and end users. When I write, Јас често се прашувам, која од овие групи може да бидат заинтересирани во оваа тема? Most often, Јас завршуваат пишување за првите две (технички) групи, главно бидејќи јас сум консултант себе; it’s always easier and more authentic to write about those things with which you’re most familiar on a personal level.
Како што сум забележи пред, на крајниот корисник заедница е далеку, 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. Сепак, 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. Знам дека ми треба целата помош што можам да ја добијам Проверете го ова.
</крајот>
Да се претплатите на мојот блог.
Повикувајќи се SSRS Веб Услуги Од WSS / Мос во FBA животна средина
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: Не се овластени
- Објект Преместен
The "object moved" message was most interesting because it was saying that the "object" (нашите SSRS услуга) had "moved" to login.aspx. This clearly meant we had some kind of authentication problem.
Јас на крајот сфати дека имав обележани блог запис 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 (како на 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".
Еве го кодот што работеле за нас:
ReportingService2006 rs, со грејс = нула; // Идентификувате Автентикација наместам = нови Проверка(); ако (result.ErrorCode == LoginErrorCode.NoError) обидете { rs.CreateSubscription(пријавите, extSettings, опис, Eventtype, matchData, parameters1); } фати (Исклучок екс) { Console.WriteLine(ex.Message.ToString()); } |
Јас го протолкува работи кои треба да работат вака:
- Нашата веб дел треба да dial up за проверка услуга и да каже, "Hey, Tony, тоа е ме!".
- Проверка услуга одговори велејќи, "Hey, I know you. How are the kids? Here’s a token."
- Ние го нарекуваме до SSRS услуга и да каже, "Tony sent me, тука е знак."
</крајот>
Дали сте се спровел вашиот месечните Барај Анализа?
Тоа е добра практика, веројатно дури и со најдобри пракси, да се видат вашето пребарување извештаите еднаш месечно и да бараат можности да додадете најдобрите облози, 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’ 🙂
</крајот>
Да се претплатите на мојот блог.