Kategori Arkiv: Uncategorized

SharePoint metodtips konferens, “Bästa praxis,” och elefanten i rummet

Jag hade turen att delta i och presentera på förra veckans SharePoint metodtips konferens. Jag är fortfarande ny på hela talar "sak" och, Ärligt talat, Jag var lite nervös för första halvåret medan jag svettades ut väntar på att tala själv. Det slags nervös känsla gjorde det lite svårt för mig att uppmärksamma presentatörer (inte att jag ignorerade dem). I stället, Jag fokuserar lite mer på deltagarna.

Konferenser alltid mitt sinne racing och det fanns en hel del ta i på den här. Denna konferens var utmärkt. Jag tror det var ovanliga på flera sätt. Det var inte en tung utvecklare konferens. Det fanns förvisso dev delar till den, men jag tror det var åtminstone 60% fokuserade på frågor som icke-dev, kanske så hög som 80%. Jag tror som talar till SharePoint marknaden föränderliga natur. Företag implementerar SharePoint i en mängd olika sätt och de söker vägledning om hur man gör det rätt. Och inte bara vägledning om hur man skapar funktioner/lösningar (som nu, mycket väl har fastställts).

Jag tror att konferensen var oerhört värdefulla för de flesta alla som deltog och jag vet att arrangörerna planerar att göra konferensen tidigt nästa år igen.

Med det sagt, Jag tror det var ett missat tillfälle som jag hoppas nästa konferens adresser. Jag säger det är en missad möjlighet, men det är inte en dålig sak. Att upptäcka ett gemenskapens behov är i och för sig bra. Konferensen diskuterade ett antal bästa praxis i en rad olika områden såsom styrning, utbildning, krav på insamling, Sök, utveckling, informationsarkitektur, m.m.. Jag tror att det de missat tillfälle har att göra med "gröna fältet" antaganden som ligger bakom många av de bästa metoderna.

När vi talar om grönt fält, Vi menar att SharePoint har inte gått i produktion och vi börjar med en kula. Detta är idealiskt eftersom du kan börja använda direkt bästa praxis för att definiera och hantera styrning, informationsarkitektur, m.m.. Men … Vad händer när du redan är i produktion med flera tusen användare (eller 10 000-tals) och du följa inte bästa praxis i början? Jag har sett företag med … ahem … en mycket udda informationsarkitektur inbakad i sin omgivning. Jag tror inte att denna konferens som mycket vägledning för organisationer med den typen av problem (och jag menar inte bara IA, men styrningen, Sök, många andra områden). Självklart, att veta att du har problem är en stor del av lösningen och det är mycket värdefull.

Jag tror att en SharePoint community inte har gjort mycket för att ta itu med detta antingen. Jag vet jag inte har. Det är ett mycket svårt problem att lösa på många nivåer. Tekniskt är det svårt. Budget-Wise det är svårt. Kulturellt, Det är svårt. Men, Det är nog ett större problem i verkliga världen än de flesta. Sedan konferensen slutade, Jag har funderat på dessa typer av problem och hur man skulle lösa dem. Det måste finnas ett bättre svar än, "avinstallera och installera om" och gemenskapen måste se det i vitögat.

Jag tror att detta en stor möjlighet för blogging gemenskapen och erfarna trodde ledare att lägga ut viss vägledning om hur man reparera sina miljöer. Jag tror att det finns en liten men noll risk att SharePoint skulle kunna sluta med en dålig och varaktig rykte som ett resultat av dåligt utformad implementeringar som misslyckas på grund av dåligt styre, IA, m.m..

</slutet>

Prenumerera på min blogg.

Technorati Tags:

SharePoint instrumentpaneler Online seminarium

Min online-vän, Mark Miller över och Slutanvändaren SharePoint (www.endusersharepoint.com) kör en gratis timmes seminarium riktat, som han alltid gör, på SharePoint slutanvändaren gemenskapen. Det sker vid 1 pm EDT. Detaljer är här: http://www.endusersharepoint.com/?p=785

Jag har satt på en av hans online seminarium förra månaden och det gjordes ganska bra och om du är intresserad av några mycket praktisk information om instrumentpaneler i SharePoint, Jag är säker på att det är värt det 1 timme investeringar.

</slutet>

Prenumerera på min blogg.

Technorati Tags: ,

FBA och SQL Server: En kärlekshistoria

Min kollega har arbetat på en webbdel i en FBA miljö. Bland annat, webbdelen drar vissa data från SQL server. Den stora planen för detta projekt dikterar att en DBA konfigurerar datasäkerhet i SQL (i stället för att bädda in ett användar-ID i en SQL-fråga eller några andra tillvägagångssätt).

Problemet är att SQL server inte vet något om vår FBA miljö så det inte kan lita på oss. Vi löste detta problem genom att, i brist på bättre ord, manuellt härma en AD-användare så att vi kunde ansluta till SQL så att SQL data nivå säkerhet fungerar.

Trots att FBA är en ASP.NET-funktion, Vi SharePoint Nation människor har undervisat i olika sökmotorer som om du frågan för FBA, Du måste menar du vill veta hur till konfigurera FBA i SharePoint. Jag kunde inte hitta hitta någon information om hur du aktiverar en FBA orienterade ASP.NET ansökan att kommunicera med SQL på det sätt vi behövde.

I forska i detta, Vi läser denna artikel: ASP.NET-personifiering

Mer forskning ledde oss till denna codproject artikel: http://www.codeproject.com/KB/cs/cpimpersonation1.aspx

Som hjälpte oss att skriva vår kod, som jag har tagit under. Det är inte den mest eleganta saker, men det fungerade. Jag hoppas du tycker det är bra.

Här är koden som arbetat för oss:

skyddade void btnSearchCarrier_Click(objekt avsändare, EventArgs e)
 {
 försök
 {
 ImpersonateUser iU = nya ImpersonateUser();
 // TODO: Ersätta referenser iU.Impersonate("Domännamn", "Användarnamn", "Lösenord");

//
 KODEN
//

 iU.Undo();
 }
 fånga (Undantaget ex)
 {

 }
 }

// Personifiering-klassen som nämns nedan.

offentliga klass ImpersonateUser
 {
 [DllImport("advapi32.dll", SetLastError = sant)]
 offentliga statisk extern bool LogonUser(
 Sträng lpszUsername,
 Sträng lpszDomain,
 Sträng lpszPassword,
 int dwLogonType,
 int dwLogonProvider,
 Ref IntPtr phToken);

 [DllImport("kernel32.dll", CharSet = CharSet.Auto)]
 privat extern statisk bool CloseHandle(IntPtr handtag);

 privat statisk IntPtr tokenHandle = nya IntPtr(0);
 privat statisk WindowsImpersonationContext impersonatedUser;

 // Om du införliva denna kod i en DLL-fil, se till att kräva att den
 // kör med FullTrust.
 [PermissionSetAttribute(SecurityAction.Demand, Namn = "FullTrust")]
 offentliga void personifiera(sträng domännamn, String användarnamn, sträng lösenord)
 {
 försök
 {

 // Använda ohanterade av funktionen LogonUser för att få användaren token för
 // den angivna användaren, domän, och lösenord.
 CONST-utskottet int LOGON32_PROVIDER_DEFAULT = 0;

 // Passerar denna parameter orsakar LogonUser skapa en primär token.
 CONST-utskottet int LOGON32_LOGON_INTERACTIVE = 2;
 tokenHandle = IntPtr.Zero;

 // Steg -1 Anropa LogonUser för att få ett handtag till en åtkomst-token.
 bool returnValue = LogonUser(
 Användarnamn,
 Domännamn,
 lösenord,
 LOGON32_LOGON_INTERACTIVE,
 LOGON32_PROVIDER_DEFAULT,
 Ref tokenHandle); // tokenHandle - ny säkerhetstoken

 om (falskt == returnValue)
 {
 int ret = Marshal.GetLastWin32Error();
 Console.WriteLine("LogonUser anrop misslyckades med felkod : " +
 ret);
 kasta nya System.ComponentModel.Win32Exception(ret);
 }

 // Steg - 2
 WindowsIdentity newId = nya WindowsIdentity(tokenHandle);
 // Steg -3
 impersonatedUser = newId.Impersonate();

 }
 fånga (Undantaget ex)
 {
 Console.WriteLine("Undantag inträffade. " + ex.Meddelande);
 }
 }


 /// <Sammanfattning>
 /// Hållplatser personifiering
 /// </Sammanfattning>
 offentliga void ångra()
 {
 impersonatedUser.Undo();
 // Gratis tokens.
 om (tokenHandle != IntPtr.Zero)
 CloseHandle(tokenHandle);
 }
 }

</slutet>

Prenumerera på min blogg.

Technorati Tags:

Lägga till Lore: SSRS berättar “rsAccessDenied”, Men … Jag verkligen har tillgång

Ett par veckor tillbaka, Jag arbetade med kollegan utvecklare på ett projekt som omfattar SQL Server Reporting Services plug-in för MOSS. Han utvecklade en webbdel som tillhandahåller en front-end till betänkandet rätt fancy (den viktigaste funktionen är en smart sökning på en parameter med flera tusen sökbara värden bakom det).

Detta fungerade bra i utvecklingsmiljön men i användare acceptanstest (UAT) miljö, Det skulle inte fungera. Bränning upp debugger, Vi skulle se undantagsinformation såhär:

Behörigheterna som beviljats användare 'UAT_domainmosssvc' är otillräckliga för att utföra den här åtgärden.(rsAccessDenied).

Om du gör en levande söka på ovanstående fel, du tycker det är ganska vanligt. Scarily gemensamma. Den värsta formen av gemensamma eftersom det har många olika potentiella roten orsakar och allas föreslagna lösning "känns" rätt. Vi har förmodligen försökt dem alla.

I vårt fall, problemet var att vi hade gjort en backup/återställning av DEV att UAT. Någonstans i data, något fortfarande hänvisar till "DEV_domain" (i stället för den uppdaterade "UAT_Domain"). Vi skapat en ny webbplats, lagt till webbdelen och som löste våra problem.

Förhoppningsvis kommer att detta spara någon timme eller två ner linjen.

</slutet>

Prenumerera på min blogg.

Technorati Tags:

Mindre offentligt tillkännagivande: Windows Live-säkerhetsinställningar och kontakta utrymme ägare

Jag får en handfull meddelanden från personer via inbyggt "Skicka ett meddelande" funktionen Microsoft ger levande utrymmen (som också är värd min blogg) varje månad.

Ungefär en tredjedel av tiden, Dessa användare har säkrat sina live spaces-konto så att jag inte kan svara. Detta är någon form av anti-spam funktionen antar jag.

</slutet>

Är “Okänt fel” Meddelanden verkligen bättre än en stackspårning?

Jag läste Dårhusens blogginlägg om hur man Aktivera stack trace visar och nu är jag undrar: Varför inte vi alltid Visa en stackspårning?

Som kom med denna regel och varför följer vi det?

Slutanvändarna kommer att veta något är fel i båda fallen. Åtminstone med en stackspårning, de kan trycka på kontroll-printscreen, kopiera/klistra in i ett mail och skicka det till det. Det skulle helt klart minska den tid och ansträngning som krävs för att lösa frågan.

</slutet>

Technorati Tags:

Händelse-ID 1023: “Windows kan inte läsa in utökningsbar räknare-DLL för MSSCNTRS”

UPPDATERING (04/08/08): Jag verkar ha löst problemet. Från kommandoraden, Jag körde "c:\windowssystem32lodctr/r" per en post som talar om InstallShield verkar problem och som ha löst det för mig.

Jag har märkt som på sistone, min desktop/server fan stänger aldrig av. Jag vet att det används för att stänga av. Jag tog en stund för att kolla ut märkte att den en VMware process var igång en konsekvent 20% användningen i en av Processorns. Jag kollade loggen och såg dessa fel i programloggen händer dussintals gånger per minut:

Windows kan inte läsa in utökningsbar räknare-DLL för UGatherer, första DWORD i datasektionen finns felkoden i Windows.

Windows kan inte läsa in utökningsbar räknare-DLL för UGTHRSVC, första DWORD i datasektionen finns felkoden i Windows.

Windows kan inte läsa in utökningsbar räknare-DLL för MSSCNTRS, första DWORD i datasektionen finns felkoden i Windows.

Om jag gå in i detalj på något av dessa meddelanden, Jag får detta:

Källa: Perflib

Typ: Fel

Kategori: Ingen

Händelse-ID 1023

Jag gjorde en del efterforskningar och fanns vissa tecken som det kan vara ett tillstånd problem vad gäller tillgång till dll i fråga. Jag spelade runt med det där men kan inte påverka saker på ett positivt sätt så jag gav upp på det.

VMware hade tjatat mig om hur du utför en uppdatering för ganska länge, så jag skrev ner den version som jag hade installerats (uppenbarligen build"1.0.1 29996") och gjorde uppdateringen. Detta uppgraderade mig till v1.04. Tyvärr, det inte åtgärda problemet.

Jag kan stoppa vansinniga antalet meddelanden ska min programloggen om jag stänga ned en tjänst benämn "VMware tillstånd Service". Detta hindrar mig från att använda programvaran VMware, så … inte sådana ett bra alternativ.

Värd operativsystemet är Windows XP 64 lite.

Jag tror inte att detta alltid har hänt, men minns jag inte någon särskild händelse som har lett till det.

Det är därför jag hatar datorer.

</slutet>

Technorati Tags:

Forumet diskussion: Att upprätthålla bästa praxis överensstämmelse i icke-trivialt MOSS miljö

En Karl, "Mark", har startat upp en potentiellt intressant diskussionsgrupp diskussion fokuserar på "etablera utmärkt SharePoint styrning från början" för en 35,000 användarmiljö.

Diskussionen är här: http://groups.google.com/group/microsoft.public.sharepoint.portalserver/browse_thread/thread/6d9a738d981af772/1c390b15c5407db6?#1c390b15c5407db6

Pop på över och bidra!

</slutet>