Mjesečni arhiv: Lipanj 2008

Lipanj 2008 SUGDC konferencija — To Prelomi

Prisustvovao sam moj prvi ikada SharePoint konferenciji this past weekend and it was a blast.

Četvrtak poslijepodne, Vozio sam dolje do Virginije, vođeni moj Novokupljeni $50 GPS appliance plug-in thing to my phone. The device was flawless. After the five hour drive, Imala sam energije za napraviti lijep rad na omotača mlin, a zatim, još više iznenađuje, 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 Q minuta&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. Tijekom vremena, Ja će se vezati ove informacije u moje serije tamo kod EUSP.com for End Users trying to get the most use out of that tool. I blew through my slides and demo in 35 minuta, to my dismay at the time. Srećom, P&Živo je bilo, no doubt helped by the fact that it was early morning before lunch. P&A is my favorite part of any presentation.

Bilo je mnogo zanimljivih predmeta, a nadam se da na svom blogu o njima podrobnije ovaj tjedan (ako ima vremena, kao i uvijek). 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) za 3 ili 4 radno vrijeme (i da, nakon što sam završio piće za noć). I don’t often get to talk about Farscape ili Babilon 5 s Kansas City stanovnika.

Bob Fox je bio tamo, a kao i obično, je nevrijeme uvesti, chats and just plain frenetic energy. He invited me to Saturday breakfast with Sahil Malik and that was great.

Subota (dan 2), Mike Lotter sam vukao na konferenciji govoriti o programu InfoPath, a zatim se pridružio Becky na kraju dana napraviti neku vrstu općeg Q&Sjednica za oko 30 na 45 minute uglavnom usmjerena na InfoPath (Mikrofon) 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" ide naprijed.

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. Konačno, Želim javno zahvaliti Gary Blatt, Gary Vaughn and Bob Fox for alerting me to and allowing me to speak at the conference. Naravno, 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, to je sjajan za susret sa svim tim online ličnosti ste poznatih putem blogova, cvrkut, forumi, itd..

</kraj>

Pretplatite se na moj blog.

Technorati Tags:

FBA i 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 (za razliku ugrađivanje korisnički ID u SQL upitu ili neki drugi pristup).

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, u nedostatku bolje riječi, manually impersonating an AD user so that we could connect to SQL such that SQL data level security works.

Iako FBA je ASP.NET značajka, mi SharePoint Nation ljudi su učili razne tražilice da ako ste upite za 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.

Tijekom istraživanja ove, smo ponovno čitati ovaj članak: ASP.NET Lažno

Više istraživanja dovela nas je do ovoga codproject članak: http://www.codeproject.com/KB/cs/cpimpersonation1.aspx

To su nam pomogli napisati našu kôda, which I’ve included below. It’s not the most elegant stuff, ali to je radio. I hope you find it helpful.

Evo kod koji je radio za nas:

zaštićen void btnSearchCarrier_Click(Objekt pošiljatelj, EventArgs e)
 {
 pokušati
 {
 ImpersonateUser ij = novi ImpersonateUser();
 // SVE: Zamijenite vjerodajnice
 ("DomainName", "UserName", "Password");

//
 KODEKS
//

 iU.Undo();
 }
 ulov (Iznimka ex)
 {

 }
 }

// Korištenje oponašanju klase kao što je spomenuto u nastavku.

javni klasa ImpersonateUser
 {
 [DllImport("advapi32.dll", SetLastError = pravi)]
 javni statički vanjski bool LogonUser(
 Gudački lpszUsername,
 Gudački lpszDomain,
 Gudački lpszPassword,
 int dwLogonType,
 int dwLogonProvider,
 ref IntPtr phToken);

 [DllImport("kernel32.dll", Charset = CharSet.Auto)]
 privatni vanjski statički bool CloseHandle(IntPtr ručka);

 privatni statički IntPtr tokenHandle = novi IntPtr(0);
 privatni statički WindowsImpersonationContext impersonatedUser;

 // Ako inkorporirati ovaj kod u DLL, budite sigurni da zahtijevaju da
 // staze s FullTrust.
 [PermissionSetAttribute(SecurityAction.Demand, Ime = "FullTrust")]
 javni poništiti utjeloviti(Niz DOMAINNAME, Niz userName, Niz lozinka)
 {
 pokušati
 {

 // Koristite neupravljana funkciju LogonUser da biste dobili upute za token za
 // Navedeni korisnik, domena, i lozinka.
 const int LOGON32_PROVIDER_DEFAULT = 0;

 // Prolazeći ovaj parametar uzrokuje LogonUser stvoriti primarnu token.
 const int LOGON32_LOGON_INTERACTIVE = 2;
 tokenHandle = IntPtr.Zero;

 // Korak -1 Pozivni LogonUser dobiti držač za pristupni token.
 bool returnValue = LogonUser(
 userName,
 naziv_domene,
 lozinka,
 LOGON32_LOGON_INTERACTIVE,
 LOGON32_PROVIDER_DEFAULT,
 ref tokenHandle); // tokenHandle - Novi sigurnosni token

 ako (lažno == returnValue)
 {
 int ret = Marshal.GetLastWin32Error();
 Console.WriteLine("LogonUser call failed with error code : " +
 desno);
 baciti Novi System.ComponentModel.Win32Exception(desno);
 }

 // Korak - 2
 WindowsIdentity newId = novi WindowsIdentity(tokenHandle);
 // Korak -3
 impersonatedUser = newId.Impersonate();

 }
 ulov (Iznimka ex)
 {
 Console.WriteLine("Exception occurred. " + ex.Message);
 }
 }


 /// <rezime>
 /// Zaustavlja lažno
 /// </rezime>
 javni poništiti Undo()
 {
 impersonatedUser.Undo();
 // Oslobodite tokena.
 ako (tokenHandle != IntPtr.Zero)
 CloseHandle(tokenHandle);
 }
 }

</kraj>

Pretplatite se na moj blog.

Technorati Tags:

Dodavanje do Lore: SSRS mi govori “rsAccessDenied”, Ali … Ja stvarno nemaju pristup

Nekoliko tjedana nazad, 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 (glavna značajka se pametan pretraživanja na parametar s nekoliko tisuća pretraživati ​​vrijednosti iza njega).

Ovaj je rad velik u razvojnom okruženju, ali u testiranje korisnika prihvaćanje (UAT) okolina, it wouldn’t work. Firing up the debugger, vidjeli bismo iznimka detalje kao što su to:

Na dozvole dodijeljene korisnika 'UAT_domain mosssvc' nedostatne za obavljanje ovog postupka.(rsAccessDenied).

Ako to učinite uživo pretraživanje na gore navedene pogreške, 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" pravo. We probably tried them all.

U našem slučaju, 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, dodao je i da je dio web riješiti naš problema.

Nadam se da će to spasiti nekoga sat ili dva niz liniju.

</kraj>

Pretplatite se na moj blog.

Technorati Tags:

Quick Fix: Pristup SharePoint web-mjesta bacanja [HttpException (0x80004005): Zahtjev je isteklo.]

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, ali "iznenada" nevezano stranica je postala vrlo sporo i često je isteklo s tom pogreškom:

[HttpException (0x80004005): Zahtjev je isteklo.]

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 vjerodostojna ?contents=1 debug technique, I did in fact find 11 web parts on the page, only two of which were visible. Even better (from a let’s-hope-I-find-something-ugly-here-that-I-can-fix perspective), three of those closed web parts had a name of "Error".

I deleted those web parts (which itself took a surprisingly long time) and that solved the problem. For today 🙂

</kraj>

Pretplatite se na moj blog.

Technorati Tags:

U FAST-klase trening je dobar

Ja sam počinju dan 4 od brzih partner trening na čelu Larry Kaye ovdje u Needham, MA.

Ovaj 5-dnevni sjednici je oborio u razrede (3 i 2 dana, odnosno) entitled "FAST ESP: Razvijanje Custom Search aplikacije za partnere sam" and "FAST ESP: Developing Custom Search Applications for Alliance Partners II".

Ovo je pravi kamp tipa klase. Materijal je duboka (vrlo, vrlo duboko). Instruktor (Larry) očito zna njegove stvari. I highly recommend this training if you considering it.

</kraj>

SharePoint i brzo — je Reese je kikiriki maslac kupova u Enterprise Apps?

Ja sam završio dan 2 od brzih treninga u sunčanoj Needham, MA, i ja sam prepun ideja (kojima su svi dobri trening klase učiniti za mene). 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.

Ali, 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 i 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.

Tako … 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, donosi neke odluke o tome kako bi odgovarao da je Moss dokument unutar naše agencije te ga obilježava se koristi web servis i Object Model.

Naravno, takva automatizirani proces može biti savršen, ali zahvaljujući opsesivno (a možda suludo, ali-u-dobru-FAST-way ljudi), možemo imati stvarnu borbu pucao po zaista učinkovite masovne opterećenja proces koji se više nego samo popuniti SQL baze podataka s gomilom jedva pretraživati ​​dokumente.

</kraj>

Pretplatite se na moj blog.

Technorati Tags: , ,

Učenje o krajnjih korisnika u www.EndUserSharePoint.com

Mark Miller više na http://www.endusersharepoint.com je izgradio, po mom iskustvu, the best end-user focused SharePoint site in the ‘sphere. U posljednjih mjesec dana, he has enlisted some of the premier end-user focused bloggers around to contribute to the "front page" na redovito, uključujući, ali ne ograničavajući se na Paul Culmsee, Chris Quick, i Dessie Lunsford. He has others lined up and ready to contribute as their schedules allow.

Ja skočio na priliku da sudjeluju i Nastupni moj post je ovdje. 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, ti predmeti će uvijek držati ispred krajnjeg korisnika i centar.

Ja osobno imaju tendenciju da podijeli SharePoint svijet u tri velike skupine: SharePoint consultants, full-time SharePoint staff developers and end users. When I write, Ja se često pitam, koji od ovih skupina mogli biti zainteresirani za ovu temu? Most often, Ja završiti pisanje za prve dvije (tehnički) skupina, uglavnom zbog toga što sam konzultant sebe; it’s always easier and more authentic to write about those things with which you’re most familiar on a personal level.

As I’ve noted before, the end user community is far, 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. Međutim, 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.

</kraj>

Pretplatite se na moj blog.

Ulazak SSRS Web usluge iz WSS / Mahovina u FBA okoliša

Mi je potrebno da se pozove na "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: Nije ovlaštena
  • Objekt Moved

"Objekt preselio" Poruka je najzanimljivije jer je rekao da "objekt" (naš SSRS usluga) je "preselio" to login.aspx. This clearly meant we had some kind of authentication problem.

Na kraju sam shvatila da sam imala označili blogu 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 (od 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".

Evo kod koji je radio za nas:

ReportingService2006 rs = nula; 
// Dokazati Provjera auth = novi Ovjera(); 
auth.Url = "http://URL / _vti_bin / Authentication.asmx";
auth.CookieContainer =
novi CookieContainer();
LoginResult rezultat = auth.Login("userid", "password");
ako (result.ErrorCode == LoginErrorCode.NoError) 
{
// Bez pogreške, tako dobiti kolačiće.
CookieCollection kolačiće = auth.CookieContainer.GetCookies(novi Uri(auth.Url));
Cookie authCookie = kolačići[result.CookieName];
rs =
novi ReportingService2006();
rs.Url =
"http://server/_vti_bin/ReportServer/ReportService2006.asmx";
rs.CookieContainer =
novi CookieContainer();
rs.CookieContainer.Add(authCookie);
}
pokušati
{
  rs.CreateSubscription(izvijestiti, extSettings, Opis, eventType, matchData, parameters1);
}
ulov (Iznimka ex)
{
  Console.WriteLine(ex.Message.ToString());
}

Ja interpretirati stvari raditi kao što je to:

  • Naša web-dio treba dial-up uslugu provjere autentičnosti i reći, "Hey, Tony, to sam ja!".
  • Autentifikacije usluga odgovora rekavši, "Hey, I know you. How are the kids? Here’s a token."
  • Zovemo se SSR uslugu i reći, "Tony sent me, evo token."

</kraj>

Pretplatite se na moj blog.

Technorati Tags: , ,

Ste obavili svoj mjesečni Traži analiza?

To je dobra praksa, vjerojatno čak i najbolje prakse, pregledati vaše pretraživanje izvještava jednom mjesečno i tražiti mogućnosti za dodavanje najbolje oklade, 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’ 🙂

</kraj>

Pretplatite se na moj blog.

Technorati Tags:

Faceted Traži Ograda sjedi No More

Sam imao razloga danas igrati s oko codeplex izbrušena pretragu project today.

To je bio oko za neko vrijeme, ali sam oklijevao preuzeti i koristiti ga za uobičajene razloga (uglavnom zbog nedostatka vremena), plus outright fear 🙂

Ako ste u potrazi za poboljšanje vaše pretraživanje i istražiti nove mogućnosti, 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.

Bottom line — u samo nekoliko minuta, možete instalirati, ga konfigurirati, use it and add some pretty cool functionality to your vanilla MOSS search and be a hero 🙂

</kraj>

Pretplatite se na moj blog.

Technorati Tags: