Месечне архиве: Јун 2008

Јун 2008 Конференција СУГДЦ — То је то

Присуствовао сам мој први икада СхареПоинт конференција 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. Over time, Ја ћу везати ове информације у моју серију тамо код ЕУСП.цом 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 Беки Иссерман (МоссЛовер) за 3 или 4 сати (и да, након што сам завршио пиће за ноћ). I don’t often get to talk about Фарсцапе или Вавилон 5 са становницима Канзас Сити.

Боб Фокс је био тамо и као и обично, је вихор Интрос, chats and just plain frenetic energy. He invited me to Saturday breakfast with Sahil Malik and that was great.

Субота (дан 2), Мајк Лоттер се вукао на конференцију да говорим о програму ИнфоПатх, а затим се придружио Беки на крају дана да уради неку врсту општег К&Сесија за око 30 на 45 минута углавном усмерена на ИнфоПатх (Микрофон) and AJAX (Беки). 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, то је сјајно за сусрет са свим тим на мрежи сте познатих личности кроз блогове, цвркут, блог, итд.

</крај>

Претплатите се на мој блог.

Тецхнорати Тагс:

ФБА и СКЛ Сервер: Лове Стори

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 (за разлику од уграђивања кориснички ИД у СКЛ упит или неки други приступ).

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.

Иако ФБА је АСП.НЕТ функција, ми СхареПоинт Натион људи уче различитим претраживачима да ако упита за ФБА, 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.

У току овог истраживања, смо поново прочитали овај чланак: АСП.НЕТ Лажно

Више истраживања нас је довело до овог члана цодпројецт: 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.

Ево кода који је радио за нас:

заштићен воид бтнСеарцхЦарриер_Цлицк(објецт сендер, ЕвентАргс е)
 {
 покушати
 {
 У = ИмперсонатеУсер нови ИмперсонатеУсер();
 // СВЕ: Замените акредитиве
 ("DomainName", "UserName", "Password");

//
 ЦОДЕ
//

 иУ.Ундо();
 }
 улов (Изузетак ек)
 {

 }
 }

// Коришћење имитирања класе као што је поменуто у наставку.

јавност класа ИмперсонатеУсер
 {
 [ДллИмпорт("advapi32.dll", СетЛастЕррор = прави)]
 јавност статички екстерно bool LogonUser(
 Стринг лпсзУсернаме,
 Стринг лпсзДомаин,
 Стринг лпсзПассворд,
 инт двЛогонТипе,
 инт двЛогонПровидер,
 реф ИнтПтр пхТокен);

 [ДллИмпорт("kernel32.dll", Цхарсет = ЦхарСет.Ауто)]
 приватан екстерно статички боол ЦлосеХандле(ИнтПтр ручка);

 приватан статички ИнтПтр токенХандле = нови ИнтПтр(0);
 приватан статички ВиндовсИмперсонатионЦонтект имперсонатедУсер;

 // Ако овај код укључити у ДЛЛ, будите сигурни да захтева да се
 // ради са ФуллТруст.
 [ПермиссионСетАттрибуте(СецуритиАцтион.Деманд, Наме = "FullTrust")]
 јавност воид опонашате(стринг Домаиннаме, стринг корисничког, стринг лозинку)
 {
 покушати
 {

 // Користите функцију ЛогонУсер Без менаџера да добије токен корисника за
 // Наведени корисник, домен, и лозинку.
 цонст инт ЛОГОН32_ПРОВИДЕР_ДЕФАУЛТ = 0;

 // Доношење овог параметра изазива ЛогонУсер да створе основну токен.
 цонст инт ЛОГОН32_ЛОГОН_ИНТЕРАЦТИВЕ = 2;
 токенХандле = ИнтПтр.Зеро;

 // Корак -1 Позив ЛогонУсер да добије регулатор за ознаку приступа.
 воид ретурнВалуе = ЛогонУсер(
 усерНаме,
 домена,
 лозинка,
 ЛОГОН32_ЛОГОН_ИНТЕРАЦТИВЕ,
 ЛОГОН32_ПРОВИДЕР_ДЕФАУЛТ,
 Некретнине токенХандле); // токенХандле - Нови безбедносни знак

 ако (== фалсе ретурнВалуе)
 {
 инт рет = Марсхал.ГетЛастВин32Еррор();
 Цонсоле.ВритеЛине("LogonUser call failed with error code : " +
 право);
 бацити нови Систем.ЦомпонентМодел.Вин32Екцептион(право);
 }

 // Корак - 2
 ВиндовсИдентити невИд = нови ВиндовсИдентити(токенХандле);
 // Корак -3
 имперсонатедУсер = невИд.Имперсонате();

 }
 улов (Изузетак ек)
 {
 Цонсоле.ВритеЛине("Exception occurred. " + ек.Мессаге);
 }
 }


 /// <резиме>
 /// Зауставља лажно
 /// </резиме>
 јавност воид Ундо()
 {
 имперсонатедУсер.Ундо();
 // Ослободи токени.
 ако (токенХандле != ИнтПтр.Зеро)
 ЦлосеХандле(токенХандле);
 }
 }

</крај>

Претплатите се на мој блог.

Тецхнорати Тагс:

Додајући Лоре: ССРС говори ми “рсАццессДениед”, Али … Ја стварно немам приступ

Пре неколико недеља, 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 (Основна карактеристика бити паметан за претраживање на параметар са неколико хиљада претраживати вредности иза њега).

Ово је радио одлично у развојном окружењу, али у тестирању корисника прихватање (УАТ) околина, it wouldn’t work. Firing up the debugger, ћемо видети детаље изузетак као што је овај:

Дозволе додељене кориснику 'УАТ_домаин мосссвц "нису довољна за обављање ове операције.(рсАццессДениед).

Ако то урадите уживо претрагу на горе грешке, 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, додао Веб сегмента и да наш проблем решен.

Надамо се да ће спасити некога сат или два доле линију.

</крај>

Претплатите се на мој блог.

Тецхнорати Тагс:

Куицк Фик: Приступ СхареПоинт локацији Баца [ХттпЕкцептион (0к80004005): Захтев је истекло.]

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" неповезане сајт постао веома споро и често истекло са овом грешком:

[ХттпЕкцептион (0к80004005): Захтев је истекло.]

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 дебуг техника, Ја нисам у ствари пронашли 11 Веб сегмената на страници, only two of which were visible. Even better (из хајде-хопе-И-финд-нешто-ружног-овде-да-се-И-поправити перспективе), three of those closed web parts had a name of "Error".

Брише оне Веб делове сам (која је и сама је изненађујуће дуго времена) and that solved the problem. For today 🙂

</крај>

Претплатите се на мој блог.

Тецхнорати Тагс:

У класа ФАСТ Тренинг је одличан

Ја почињем дан 4 брзог је тренинг партнер на челу са Ларри Каие овде у Неедхам, МА.

Овај 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.

</крај>

СхареПоинт и ФАСТ — Рис је у Пеанут Буттер Цупс оф Ентерприсе Аппс?

Завршио сам се дан 2 брзе обуке у сунчаном Неедхам, МА, и ја сам препун идеја (што све добре часове обуке да ми уради). 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" гурнуо га из моје главе.

Ми СхареПоинт ВСС 3.0 / МОСС реализатори често суочавају тежак проблем са било разумно величине СхареПоинт пројекта: Како да добијете све податке унете у УНТАГГЕД СхареПоинт такав да се све то уклапа у наше савршено дизајниран информационе архитектуре?

Често довољно, ово није тежак проблем, јер смо се обим из невоље: "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 (или чак милиона) за документе — учитавање и означавање што је наша жеља побожан?

ФАСТ може бити одговор.

Брз за претрагу процес укључује много покретних делова, али један поједностављен поглед је ово:

  • Гусеничар процес изгледа за садржај.
  • Она проналази садржај и предао га на брокера који управља процесом труст докумената процесора.
  • Брокер процес је руке са једном од докумената процесора.
  • Документ процесор анализира документ и путем гасовода процеса, анализира бејеезус из документа и предао га на индекс процес градитељ типа.

На броду ФАСТ, 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:

  • Документ је хранио у ФАСТ у Мосс.
  • Нормално луд опсесивно-ФАСТ документ анализи и категоризација се дешава.
  • Наше сопствене прилагођене гасовод компонента капи неке ван тог контекста информација у базу података.
  • Процес наше сопствене конструкције чита текстуалне информације, доноси неке одлуке о томе како да се уклопи у тај документ МОСС нашој ИА и обележава га користите веб сервиса и објектни модел.

Наравно, таква аутоматизован процес може бити савршен, али захваљујући опсесивно (и евентуално луда-али-у-добар-пут брзо људи), да имамо ратовали ударац по заиста ефикасан процес масовне оптерећења које чини више него само попуните СКЛ базу података са гомилом једва-претраживати докумената.

</крај>

Претплатите се на мој блог.

Учење о крајњим корисницима у ввв.ЕндУсерСхареПоинт.цом

Марк Милер тамо код http://www.endusersharepoint.com је изградио, по мом искуству, the best end-user focused SharePoint site in the ‘sphere. In the last month, he has enlisted some of the premier end-user focused bloggers around to contribute to the "front page" на редовној основи, укључујући, али не ограничавајући се на Павле Цулмсее, Крис Брзо, и Дессие Лунсфорд. 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 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. I know I need all the help I can get 🙂 Цхецк ит оут.

</крај>

Претплатите се на мој блог.

Позивајући ССРС Веб Сервицес Од ВСС / Маховине у ФБА животне средине

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" (ССРС наш сервис) 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 (као и од 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 = null; 
// Authenticate Authentication auth = нови Authentication(); 
auth.Url = "хттп://URL/_vti_bin/Authentication.asmx";
auth.CookieContainer =
нови CookieContainer();
LoginResult result = auth.Login("userid", "password");
ако (result.ErrorCode == LoginErrorCode.NoError) 
{
// No error, so get the cookies.
CookieCollection cookies = auth.CookieContainer.GetCookies(нови Uri(auth.Url));
Cookie authCookie = cookies[result.CookieName];
rs =
нови ReportingService2006();
rs.Url =
"хттп://server/_vti_bin/ReportServer/ReportService2006.asmx";
rs.CookieContainer =
нови CookieContainer();
rs.CookieContainer.Add(authCookie);
}
покушати
{
  rs.CreateSubscription(report, extSettings, desc, eventType, matchData, parameters1);
}
улов (Изузетак ек)
{
  Цонсоле.ВритеЛине(ex.Message.ToString());
}

I interpret things to work like this:

  • Our web part needs to dial up the authentication service and say, "Hey, Tony, it’s me!".
  • Authentication service replies saying, "Hey, I know you. How are the kids? Here’s a token."
  • We call up the SSRS service and say, "Tony sent me, here’s the token."

</крај>

Претплатите се на мој блог.

Да ли сте извршили свој месечни претраге Анализа?

То је добра пракса, вероватно и најбоље праксе, да размотри претрагу извештава једном месечно и траже могућности да додате најбоље опкладе, 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’ 🙂

</крај>

Претплатите се на мој блог.

Динамичан Тражи Ограда Ситтер Но Море

Данас сам имао разлога да се играју са око ЦодеПлек динамичан претраживање project today.

Прошло је неко време, али сам оклевао да преузмете и користите га за уобичајених разлога (углавном недостатак времена), plus outright fear 🙂

Ако сте у потрази за побољшање претрагу и истражи нове могућности, 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.

Боттом лине — у минутима, можете да инсталирате, конфигурисати га, use it and add some pretty cool functionality to your vanilla MOSS search and be a hero 🙂

</крај>

Претплатите се на мој блог.

Тецхнорати Тагс: