maandelijkse archieven: Juni 2008

Juni 2008 SUGDC conferentie — Dat is een Wrap

Ik woonde mijn eerste ooit SharePoint-conferentie dit afgelopen weekend en het was een blast.

Donderdagmiddag, Ik reed naar Virginia, geleid door mijn nieuw aangeschafte $50 GPS toestel plug-in ding op mijn telefoon. Het apparaat was foutloos. Na de vijf uur rijden, Ik had de energie om te doen een mooie run op het loopvlak molen en vervolgens, nog meer verrassend, had de energie om het hoofd naar de lobby voor een geadverteerde spreker van cocktailuurtje. Conferentie n00b die ik ben, 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 een harde tijd slapen want ik sprak allereerst vrijdag AM. Nervositeit, een zeurende gevoel dat ik moest een dia toevoegt aan mijn presentatie en een zeer verontrustende kattenshow op Animal Planet hield me laat. Aangezien ik ging slapen laat, Ik heb natuurlijk vroeg. Ik heb een tamelijk gedetailleerde technische architectuur dia toevoegen. Het was goed de moeite waard, omdat de 25 notulen van q&A zou zijn geweest zeer onhandig zonder het. Ik was gelukkig om de eerste sleuf in de technische track. Sahil Malik ging oorspronkelijk om te spreken van vrijdag AM en ik was van plan om te spreken van zaterdag maar hij moest ruilen keer. Dit stond me toe om mijn presentatie doen en dan leun achterover en geniet van alles wat er vooruit vrijdag en zaterdag.

De presentatie ging OK. Ik heb zeker kamer te verbeteren. Ik sprak over hoe we kunnen toegang krijgen tot en gebruik van webservices uit een SharePoint Designer workflow met behulp van een aangepaste actie. Na verloop van tijd, Ik zal deze informatie binden in mijn serie over ten EUSP.com voor eindgebruikers die proberen om het meeste gebruik uit dat tool. Ik blies door mijn dia's en demo in 35 minuten, aan mijn wanhoop op het moment. Gelukkig, Q&Een levendige was, ongetwijfeld geholpen door het feit was dat het vroege ochtend vóór de lunch. Q&Een is mijn favoriete deel van een presentatie.

Er waren vele interessante onderwerpen en ik hoop om een blog over hen in groter detail deze week (tijd het toelaat, zoals altijd). Een collega van CMS Watch verstrekt een zeer kritisch maar zeer hoopvol overzicht van SharePoint de positie in de markt. Een andere discussie gericht op de schaarste van SharePoint resources en de moeilijkheid dat recruiters hebben het vinden van goede talent dat ook "betaalbaar" in deze krappe markt. De man CMS Watch waarnaar wordt verwezen het SharePoint menselijke hulpbronnen zwembad als wordt als een "gilde." Ik ben vooral bekend met die term in termen van MMORPG en het gaf me een beetje sensatie, to be honest 🙂

Het hoogtepunt van de conferentie was gewoon vergadering en inhalen met mensen die ik heb "gekend" Online voor een tijdje. De beste zat aan de bar met Becky Isserman (MossLover) voor 3 of 4 uur (en dat, Nadat ik klaar was met drinken voor de nacht). Vaak krijg ik niet om te praten over Farscape of Babylon 5 met Kansas City bewoners.

Bob Fox was er en zoals gebruikelijk, is een wervelwind van intros, chats en gewoon hectische energie. Hij nodigde me uit naar zaterdag ontbijt met Sahil Malik en dat was geweldig.

Zaterdag (dag 2), Mike Lotter zichzelf naar de conferentie te spreken over InfoPath gesleept en vervolgens werd hij lid van Becky aan het eind van de dag om te doen een soort van algemene q&Een sessie voor over 30 Aan 45 minuten voornamelijk gericht op InfoPath (Mike) en AJAX (Becky). Ik wou Becky was in staat om te gaan door middel van haar presentatie vol/formele geweest maar ik ben zeker dat ik een kans om te zien dat een van deze dagen te krijgen. Ik heb een gevoel dat ze zal "het raken van het circuit" gaan vooruit.

Ik kon gaan en op. Twee laatste punten — de financiële doel van de conferentie was geld in te zamelen voor de Children's Miracle netwerk en het aan de orde gesteld $5,000. Dat was awesome. Tot slot, Ik wil publiekelijk bedanken Gary Blatt, Gary Vaughn en Bob Fox voor waarschuwen mij om en waardoor ik te spreken tijdens de conferentie. Natuurlijk, de twee Gary had een team van mensen ondersteunen en organiseren en u allen waren geweldig. Ik had hoge verwachtingen voordat ik ging en het was beter dan ik had gehoopt voor.

Houden op de waarschuwing voor de volgende conferentie gepland voor 7 November en 8. Afgezien van enkele geweldige inhoud, het is geweldig voor ontmoeting met alle die online persoonlijkheden die je hebt gekend door blogs, Twitter, Forums, etc.

</einde>

Abonneren op mijn blog.

Technorati Tags:

FBA en SQL Server: Een liefdesverhaal

Mijn collega heeft gewerkt aan een webonderdeel in een FBA omgeving. Onder andere, het webonderdeel ophaalt sommige gegevens uit SQL server. Het grote plan voor dit project dicteert dat een DBA gegevensbeveiliging in SQL configureert (in tegenstelling tot een gebruikers-ID insluiten in een SQL-query of sommige andere aanpak).

Het probleem is dat SQL server niet niets over ons milieu FBA weet zodat het niet ons vertrouwen. We hebben dit probleem opgelost, bij gebrek aan een beter woord, handmatig imiteert een AD gebruiker zodat we met SQL verbinden kunnen zodanig dat SQL gegevens niveau beveiliging werken.

Hoewel FBA een ASP is.NETTO functie, Wij mensen SharePoint natie hebben geleerd de verschillende zoekmachines die als u voor FBA opvragen bent, u moet betekenen dat u wilt weten hoe u FBA configureert in SharePoint. Ik kan niet vinden zoeken geen informatie over het inschakelen van een FBA georiënteerde ASP.NET-toepassing om te communiceren met SQL in de manier waarop we nodig hadden.

In de loop van dit onderzoek, We lezen in dit artikel: ASP.NET-imitatie

Meer onderzoek leidde ons naar dit artikel codproject: http://www.codeproject.com/KB/cs/cpimpersonation1.aspx

Welk sociaal assistente ons onze code schrijven, die ik hieronder heb opgenomen. Het is niet het meest elegante spul, maar het werkte. Ik hoop dat u het nuttig vinden.

Hier is de code die voor ons werkte:

beschermd nietig btnSearchCarrier_Click(object afzender, EventArgs e)
 {
 Probeer
 {
 ImpersonateUser iU = Nieuw ImpersonateUser();
 // TODO: Referenties iU.Impersonate vervangen("Domeinnaam", "Gebruikersnaam", "Wachtwoord");

//
 CODE
//

 iU.Undo();
 }
 vangst (Uitzondering ex)
 {

 }
 }

// Met behulp van imitatie klasse zoals hieronder vermelde.

openbare klasse ImpersonateUser
 {
 [DllImport("advapi32.dll", SetLastError = True)]
 openbare statische extern BOOL LogonUser(
 String lpszUsername,
 String lpszDomain,
 String lpszPassword,
 int dwLogonType,
 int dwLogonProvider,
 Ref IntPtr phToken);

 [DllImport("kernel32.dll", CharSet = CharSet.Auto)]
 privé extern statische BOOL CloseHandle(IntPtr handgreep);

 privé statische IntPtr tokenHandle = Nieuw IntPtr(0);
 privé statische WindowsImpersonationContext impersonatedUser;

 // Als u deze code in een dll-bestand opnemen, Zorg om te eisen dat het
 // wordt uitgevoerd met FullTrust.
 [PermissionSetAttribute(SecurityAction.Demand, Naam = "FullTrust")]
 openbare VOID Impersonate(tekenreeks domeinnaam, tekenreeks gebruikersnaam, tekenreeks wachtwoord)
 {
 Probeer
 {

 // Gebruik de onbeheerde LogonUser functie om de gebruiker voor token
 // de opgegeven gebruiker, domein, en wachtwoord.
 Const int LOGON32_PROVIDER_DEFAULT = 0;

 // Deze parameter doorgeven veroorzaakt LogonUser maken een primaire token.
 Const int LOGON32_LOGON_INTERACTIVE = 2;
 tokenHandle = IntPtr.Zero;

 // Stap -1 Bel LogonUser te verkrijgen van een ingang naar een toegangstoken.
 BOOL returnValue = LogonUser(
 Gebruikersnaam,
 Domeinnaam,
 wachtwoord,
 LOGON32_LOGON_INTERACTIVE,
 LOGON32_PROVIDER_DEFAULT,
 Ref tokenHandle); // tokenHandle - nieuwe beveiligingstoken

 Als (== False returnValue)
 {
 int ret = Marshal.GetLastWin32Error();
 Console.WriteLine("LogonUser call failed with error code : " +
 RET);
 gooien nieuwe System.ComponentModel.Win32Exception(RET);
 }

 // Stap - 2
 WindowsIdentity newId = Nieuw WindowsIdentity(tokenHandle);
 // Stap -3
 impersonatedUser = newId.Impersonate();

 }
 vangst (Uitzondering ex)
 {
 Console.WriteLine("Uitzondering is opgetreden. " + ex.Bericht);
 }
 }


 /// <Samenvatting>
 /// Stopt imitatie
 /// </Samenvatting>
 openbare VOID ongedaan maken()
 {
 impersonatedUser.Undo();
 // Gratis de tokens.
 Als (tokenHandle != IntPtr.Zero)
 CloseHandle(tokenHandle);
 }
 }

</einde>

Abonneren op mijn blog.

Technorati Tags:

Toe te voegen aan de Lore: SSRS vertelt Me “rsAccessDenied”, Maar … Ik heb echt toegang

Een paar weken terug, Ik werkte met mijn ontwikkelaar collega op een project van SQL Server Reporting Services plug-in voor MOSS. Hij was de ontwikkeling van een webonderdeel waarmee een fancy front-end voor het goede verslag (het belangrijkste kenmerk wordt een slimme opzoeken op een parameter met verscheidene duizend doorzoekbare waarden achter het).

Dit werkte groot in de ontwikkelomgeving maar in de gebruikers acceptatie testen (UAT) milieu, het zou niet werken. Afvuren van de debugger, We zouden uitzondering details als dit zien:

De gebruiker die machtigingen 'UAT_domainmosssvc' niet volstaan voor het uitvoeren van deze bewerking.(rsAccessDenied).

Als u een live zoekopdracht op de bovenstaande fout, u vindt dat het is vrij gemeenschappelijk. Scarily gemeenschappelijk. De ergste soort gemeenschappelijk omdat er vele verschillende potentiële wortel oorzaken en ieders voorgestelde oplossing "voelt" recht. We waarschijnlijk geprobeerd ze allemaal.

In ons geval, het probleem was dat we een back-up/terugzetten voor DEV had gedaan om UAT. Ergens in de gegevens, iets was nog steeds verwijzen naar "DEV_domain" (in plaats van de bijgewerkte "UAT_Domain"). We een nieuwe site gemaakt, toegevoegd dat het webonderdeel en dat onze probleem opgelost.

Hopelijk zal dit iemand opslaan een uur of twee langs de lijn.

</einde>

Abonneren op mijn blog.

Technorati Tags:

Quick Fix: Toegang tot SharePoint-Site gooit [HttpException (0x 80004005): Request timed out.]

Een van mijn collega's ontwikkelaar werkte aan een project deze week en liep in een timeout probleem tijdens het werken op het opbouwen van sommige gek webonderdeel. Zijn webonderdeel was prima, maar "plotseling" een niet-verbonden site werd erg traag en vaak time-out met deze fout:

[HttpException (0x 80004005): Request timed out.]

Ik ingelogd en zag dat diverse andere sites prima waren. Ik vermoed dat er sommige verborgen webonderdelen op de pagina en het gebruik van de vertrouwde ?inhoud = 1 debug techniek, Ik heb in feite vinden 11 webonderdelen op de pagina, slechts twee daarvan waren zichtbaar. Nog beter (vanuit een let's-hope-I-find-something-ugly-here-that-I-can-fix perspectief), drie van deze gesloten webonderdelen had een naam van "Fout".

Ik heb verwijderd deze webonderdelen (die zelf een verrassend lang geduurd) en dat het probleem opgelost. Voor vandaag 🙂

</einde>

Abonneren op mijn blog.

Technorati Tags:

SNEL in-klasse opleiding is uitstekend

Ik ben het starten van dag 4 van snel de opleiding partner geleid door Larry Kaye hier in Needham, MA.

Deze 5-daagse sessie is onderverdeeld in klassen (3 en 2 dagen respectievelijk) getiteld "FAST ESP: Ik ontwikkelen aangepaste zoektoepassingen voor Alliance Partners" en "FAST ESP: De ontwikkeling van aangepaste zoektoepassingen voor alliantiepartners II".

Dit is een echte boot camp type klasse. Het materiaal is diep (zeer, zeer diepe). De instructeur (Larry) duidelijk kent zijn stuff. I highly recommend deze training als u overweegt het.

</einde>

SharePoint en snel — de Reese's Peanut Butter Cups van Enterprise Apps?

Ik heb dag eindigde 2 van snelle opleiding in zonnige Needham, MA, en ik ben barstensvol ideeën (welke alle goede opleidingsklassen doen voor mij). Een bepaald aspect van snel heeft me denken en ik wilde te noteren terwijl het was nog steeds fris en normale dagelijkse "spul" duwde het out of my head.

We SharePoint WSS 3.0 / MOSS uitvoerders vaak geconfronteerd een taai probleem met elk redelijk en middelgrote SharePoint project: Hoe krijgen we alle niet-gecodeerde gegevens in SharePoint geladen zodanig dat alles binnen onze perfect ontworpen informatie-architectuur past?

Vaak genoeg, Dit is niet zulk een moeilijk probleem omdat we onszelf scope out of trouble: "We don't care over iets meer dan 3 maanden oud." "We zullen omgaan met al die oude spullen met zoeken op trefwoord en gaan-forward we doen het de juiste manier…" Enz.

Maar, Wat gebeurt er als wij ons uit de problemen kan niet werkingssfeer en we 10 duizenden of 100 's van duizenden kijken (of zelfs miljoenen) voor docs — het laden en tagging van die onze vrome wens is?

SNELLE misschien wel het antwoord.

SNEL het zoekproces omvat een heleboel bewegende delen maar één vereenvoudigde weergave is dit:

  • Een proces crawler zoekt naar inhoud.
  • Het vindt inhoud en het uit handen van een makelaar proces dat een pool van document processors beheert.
  • Makelaar proces handen het af om één van de document-processors.
  • De processor document het document analyseert en via een pijpleiding proces, analyseert de bejeezus van het document en het handen uit om een index bouwer type proces.

Op het sterrenschip FAST, We hebben een heleboel controle over het document verwerking pijpleiding. We kunnen mix en match over 100 pijpleiding componenten en, meest interessant, We kunnen onze eigen componenten schrijven. Zoals ik zeg, SNEL documenten is analyseren elke welke manier maar zondag en gecompileerd een heleboel nuttige informatie over deze documenten. Die gekke snel mensen zijn duidelijk krankzinnig en obsessief over documentanalyse omdat ze gereedschappen en/of strategieën echt om documenten te categoriseren.

Dus … met behulp van snel in combinatie met onze eigen aangepaste pijplijncomponent, We kunnen grijpen alle informatie in dat kader van snel en voeden het terug naar MOSS. Het kan gaan iets als dit:

  • Document wordt ingevoerd in snel van MOSS.
  • Normale gek-obsessief snel document parseren en categorisatie gebeurt.
  • Onze eigen aangepaste pijplijncomponent druppels sommige van die context informatie uit een database.
  • Een proces van onze eigen ontwerp leest de context informatie, Sommige beslist over hoe fit dat MOSS document binnen onze IA en markeert het omhoog met behulp van een webservice en het objectmodel.

Natuurlijk, geen dergelijke geautomatiseerde proces kan worden perfect, maar dankzij de obsessief (en eventueel insane-but-in-a-good-way snel mensen), kunnen we een echte gevechten schot op een echt effectieve massa belasting proces dat meer dan alleen een SQL-database met een bos van nauwelijks-searchable documenten vullen.

</einde>

Abonneren op mijn blog.

Technorati Tags: , ,

Leren over eindgebruikers op www.EndUserSharePoint.com

Mark Miller over op http://www.endusersharepoint.com heeft gebouwd, in mijn ervaring, de beste eindgebruiker gericht SharePoint-site in de ' bol. In de afgelopen maand, Hij heeft aangeworven enkele van de premier eindgebruiker gericht bloggers rond bij te dragen tot de "front page" op een regelmatige basis, met inbegrip van maar niet beperkt tot Paul Culmsee, Chris Quick, en Dessie Lunsford. Hij heeft anderen bekleed en klaar om bij te dragen als hun schema's toestaan.

Ik sprong op de kans om deel te nemen en mijn inaugurele post is hier. Ik ben het schrijven van een reeks over het gebruik van SharePoint Designer maken eersteklas zakelijke workflow-oplossingen. In overeenstemming met de EUSP.com focus, deze artikelen zullen altijd de eindgebruiker front en center.

Ik persoonlijk de neiging om de SharePoint-wereld te verdelen in drie grote groepen: SharePoint consultants, full-time SharePoint personeel ontwikkelaars en eindgebruikers. Toen ik schrijf, Ik vraag me vaak, welke van deze groepen in het onderwerp geïnteresseerd zouden kunnen zijn? Meest vaak, Ik eindigen met het schrijven voor de eerste twee (technische) groepen, vooral omdat ik een consultant mezelf ben; het is altijd gemakkelijker en meer authentiek te schrijven over deze dingen waarmee u meest vertrouwd op een persoonlijk niveau bent.

Zoals ik eerder heb opgemerkt, de eindgebruiker Gemeenschap is veel, veel groter is dan de technische Gemeenschap. EUSP.com is top-notch en ik van harte aanbevelen het aan alle drie groepen. Van de site laser focus is natuurlijk waardevol voor eindgebruikers. Echter, Wij ontwikkelaars en consultants kunnen alleen beter op ons beroep als we kunnen begrijpen en effectief reageren op de behoeften van de eindgebruikers wij serveren. I know I need all the help I can get 🙂 Check it out.

</einde>

Abonneren op mijn blog.

Inroepen SSRS webservices van WSS / MOSS in FBA omgeving

We nodig zich te beroepen op de CreateSubscription"" methode op een SSRS-webservice die wordt gehost in een FBA beheerd MOSS milieu vanuit een aangepast webonderdeel. Wij hield krijgend variaties van:

  • 401: Niet toegestaan
  • Object verplaatst

Het "object verplaatst" bericht was het meest interessant omdat het zei dat het "object" (onze SSRS-service) had "verplaatst" aan login.aspx. Dit betekende duidelijk hadden we een soort van probleem met verificatie.

Uiteindelijk besefte ik dat ik had bladwijzer van een blogbericht door Robert Garret die beschreef hoe zich te beroepen op een algemene doel WSS/MOSS-webservice die leeft in een omgeving FBA. Merk op dat ik kan rechtstreeks aan het artikel koppelen (als van 06/09/08) omdat het om te verifiëren dat wil. De link die ik bieden brengt u naar een "alle berichten" en u kunt de specifieke artikel vinden door te zoeken naar "Toegang tot MOSS webservices met behulp van verificatie met formulieren op basis van".

Hier is de code die voor ons werkte:

ReportingService2006 rs = Null; 
// Verifiëren Verificatie auth = Nieuw Verificatie(); 
auth. URL = "http://URL/_vti_bin/Authentication.asmx";
auth. CookieContainer =
Nieuw CookieContainer();
LoginResult resultaat = auth. Login("userid", "wachtwoord");
Als (resultaat. ErrorCode == LoginErrorCode.NoError) 
{
// Geen fout, Zo krijgen de cookies.
CookieCollection cookies = auth. CookieContainer.GetCookies(Nieuw URI(auth. URL));
Cookie authCookie = cookies[resultaat. CookieName];
RS =
Nieuw ReportingService2006();
RS. URL =
"http://server/_vti_bin/ReportServer/ReportService2006.asmx";
RS. CookieContainer =
Nieuw CookieContainer();
RS. CookieContainer.Add(authCookie);
}
Probeer
{
  RS. CreateSubscription(verslag, extSettings, desc, eventType, matchData, PARAMETERS1);
}
vangst (Uitzondering ex)
{
  Console.WriteLine(ex. Message.ToString());
}

Ik interpreteer dingen om te werken als dit:

  • Onze webonderdeel moet dial-up van de verificatieservice en zeggen, "Hey, Tony, It's me!".
  • Verificatieservice van antwoorden zeggen, "Hey, Ik weet dat je. Hoe zijn de kinderen? Hier is een token."
  • We roepen de SSRS-service en zeggen, "Tony stuurde me, Hier is het token."

</einde>

Abonneren op mijn blog.

Je heb uw maandelijkse Zoek analyse uitgevoerd?

Het is een goede gewoonte, waarschijnlijk zelfs een beste praktijk, uw zoekopdracht evaluatieverslagen eenmaal per maand te zoeken naar mogelijkheden om de meest relevante treffers toevoegen, Tune uw synoniemenlijst en misschien zelfs ontdekken sommige bedrijfsinformatie die anders is verborgen voor beheer.

Het is al de 3e van de maand. Time's awastin’ 🙂

</einde>

Abonneren op mijn blog.

Technorati Tags:

Gefacetteerd Zoek hek Sitter niet meer

Ik had vandaag reden om mee te spelen over de CodePlex facetten zoeken project vandaag.

Het is al rond voor een tijdje, maar ik geaarzeld om te downloaden en te gebruiken om de gebruikelijke redenen (vooral gebrek aan tijd), plus outright fear 🙂

Als u op zoek bent om te verbeteren uw zoekopdracht en verkennen van nieuwe mogelijkheden, het downloaden en installeer het wanneer u beschikt over een uur of zo van vrije tijd. Ik volgde de installatiehandleiding instructies en het kostte me minder dan 20 minuten te hebben geïnstalleerd en werken. Het biedt waarde minuut nul.

Het ziet er vrij moeilijk om uit te breiden. De auteurs bieden een gedetailleerde walk-through voor een complexe BDC-scenario. Ik kan worden ontbreekt het, maar ik wou dat ze bieden ook een eenvoudiger scenario waarbij een van de vooraf bestaande eigenschappen of misschien een nieuwe beheerde eigenschap toevoegen. Ik zal proberen en schrijven die zelf in de volgende periode van tijd.

Bottom line — in minuten, u kunt installeren, configureren, use it and add some pretty cool functionality to your vanilla MOSS search and be a hero 🙂

</einde>

Abonneren op mijn blog.

Technorati Tags: