קאַטעגאָריע אַרטשיוועס: ונקאַטעגאָריזעד

שאַרעפּאָינט בעסטער פּראַקטיסעס קאָנפֿערענץ, “בעסטער פּראַקטיסעס,” און דער עלעפאַנט אין די רום

I was lucky to attend and present at last week’s SharePoint Best Practices conference. I’m still new to the whole speaking "thing" און, פראַנגקלי, I was a bit nervous for the first half while I sweated out waiting to speak myself. That sort of nervous feeling made it a little hard for me to pay attention to the presenters (not that I ignored them). אַנשטאָט, I focused a bit more on the attendees.

Conferences always set my mind racing and there was a lot take in at this one. This conference was excellent. I think it was unusual in several ways. It wasn’t a heavy developer conference. There were certainly dev parts to it, אָבער איך טראַכטן עס איז געווען לפּחות 60% פאָוקיסט אויף ניט-דעוו ישוז, maybe as high as 80%. I think that speaks to the evolving nature of the SharePoint market. Companies are implementing SharePoint in a variety of ways and they are looking for guidance on how to do it right. And not just guidance on how to create features/solutions (וואָס דורך איצט, האט שוין זייער געזונט געגרינדעט).

I believe the conference was tremendously valuable to most everyone that attended and I know that the organizers plan to do the conference again early next year.

Having said that, I believe there was a missed opportunity which I hope the next conference addresses. I say it’s a missed opportunity, but that’s not a bad thing. Discovering a community need is in and of itself a good thing. The conference discussed a number of best practices in a variety of areas such as governance, טריינינג, requirements gathering, זוכן, אַנטוויקלונג, information architecture, אאז"ו ו. I think that the missed opportunity has to do with the "green field" assumptions underlying many of the best practices.

When we talk about green field, we mean that SharePoint hasn’t gone into production and we’re starting with a clean slate. This is ideal because you can start straight away using best practices for defining and managing governance, information architecture, אאז"ו ו. אָבער … what happens when you’re already in production with several thousand users (or 10’s of thousands) and you didn’t follow best practices at the beginning? I’ve seen companies with … ahem … a very odd information architecture baked into their environment. I don’t think that this conference provided much guidance for organizations with that kind of problem (and I don’t just mean IA, but governance, זוכן, many other areas). אַוואַדע, knowing you have a problem is a big part of the solution and that’s very valuable.

I think that the online SharePoint community hasn’t done much to address this either. I know I have not. It’s a very hard problem to solve at many levels. Technically it’s hard. Budget-wise it’s hard. Culturally, it’s hard. אָבער, it’s probably a bigger real world problem than most. Since the conference ended, I’ve been thinking about these kinds of problems and how one would solve them. There has to be a better answer than, "uninstall and reinstall" און די קהל דאַרף צו פּנים עס קאָפּ אויף.

I think that this a great opportunity for the blogging community and experienced thought leaders to lay out some guidance on how to repair their environments. I think there’s a small but non-zero risk that SharePoint could end up with a bad and enduring reputation as a result of poorly architected implementations that fail due to poor governance, IA, אאז"ו ו.

</עק>

אַבאָנירן צו מיין בלאָג.

טעטשנאָראַטי טאַגס:

שאַרעפּאָינט דאַשבאָאַרדס אָנליין סעמינאַר

מייַן אָנליין פרייַנד, מארק מיללער איבער און סוף באַניצער שאַרעפּאָינט (www.endusersharepoint.com) איז פליסנדיק אַ פֿרייַ איין שעה סעמינאַר טאַרגעטעד, ווי ער שטענדיק טוט, at the SharePoint End User community. It takes place at 1pm EDT. Details are here: http://www.endusersharepoint.com/?p=785

איך האָבן Sat אין אויף איינער פון זייַן אָנליין סעמינאַר לעצטע חודש און עס איז געווען געטאן גאַנץ געזונט און אויב איר ניטאָ אינטערעסירט אין עטלעכע זייער פּראַקטיש אינפֿאָרמאַציע אויף דאַשבאָרדז אין שאַרעפּאָינט, איך בין זיכער עס ס 'ווערט די 1 שעה ינוועסמאַנט.

</עק>

אַבאָנירן צו מיין בלאָג.

טעטשנאָראַטי טאַגס: ,

פבאַ און סקל סערווירער: א ליבע סטאָרי

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.

אפילו כאָטש פבאַ איז אַ ASP.NET שטריך, מיר שאַרעפּאָינט נאַציאָן מענטשן האָבן געלערנט די פארשידענע זוכן ענדזשאַנז אַז אויב איר ניטאָ קוועריינג פֿאַר פבאַ, 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 ימפּערסאָנאַטיאָן

מער פאָרשונג געפירט אונדז צו דעם קאָדפּראָדזשעקט אַרטיקל: 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.

דאָ ס דער קאָד וואָס געארבעט פֿאַר אונדז:

פּראָטעקטעד פּאָסל בטנסעאַרטשקאַרריער_קליקק(כייפעץ סענדער, עווענטאַרגס E)
 {
 פּרובירן
 {
 ו = ימפּערסאָנאַטעוסער נייַ ימפּערסאָנאַטעוסער();
 // אַלע: Replace credentials
 iU.Impersonate("DomainName", "UserName", "Password");

//
 CODE
//

 iU.Undo();
 }
 כאַפּן (ויסנעם עקס)
 {

 }
 }

// Using Impersonation class as mentioned below.

עפנטלעך קלאַס ימפּערסאָנאַטעוסער
 {
 [DllImport("advapi32.dll", SetLastError = ריכטיק)]
 עפנטלעך סטאַטיק extern bool LogonUser(
 String lpszUsername,
 String lpszDomain,
 String lpszPassword,
 int dwLogonType,
 int dwLogonProvider,
 ref IntPtr phToken);

 [DllImport("kernel32.dll", CharSet = CharSet.Auto)]
 פּריוואַט extern סטאַטיק bool CloseHandle(IntPtr handle);

 פּריוואַט סטאַטיק IntPtr tokenHandle = נייַ IntPtr(0);
 פּריוואַט סטאַטיק WindowsImpersonationContext impersonatedUser;

 // If you incorporate this code into a DLL, be sure to demand that it
 // runs with FullTrust.
 [PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")]
 עפנטלעך void Impersonate(string domainName, string userName, string password)
 {
 פּרובירן
 {

 // Use the unmanaged LogonUser function to get the user token for
 // the specified user, domain, and password.
 const int LOGON32_PROVIDER_DEFAULT = 0;

 // Passing this parameter causes LogonUser to create a primary token.
 const int LOGON32_LOGON_INTERACTIVE = 2;
 tokenHandle = IntPtr.Zero;

 // טרעטן -1 Call LogonUser to obtain a handle to an access token.
 bool returnValue = LogonUser(
 userName,
 domainName,
 password,
 LOGON32_LOGON_INTERACTIVE,
 LOGON32_PROVIDER_DEFAULT,
 ref tokenHandle); // tokenHandle - new security token

 צי (false == returnValue)
 {
 int ret = Marshal.GetLastWin32Error();
 קאָנסאָלע.ווריטעלינע("LogonUser call failed with error code : " +
 ret);
 וואַרפן new System.ComponentModel.Win32Exception(ret);
 }

 // טרעטן - 2
 WindowsIdentity newId = נייַ WindowsIdentity(tokenHandle);
 // טרעטן -3
 impersonatedUser = newId.Impersonate();

 }
 כאַפּן (ויסנעם עקס)
 {
 קאָנסאָלע.ווריטעלינע("Exception occurred. " + ex.Message);
 }
 }


 /// <קיצער>
 /// Stops impersonation
 /// </קיצער>
 עפנטלעך void Undo()
 {
 impersonatedUser.Undo();
 // Free the tokens.
 צי (tokenHandle != IntPtr.Zero)
 CloseHandle(tokenHandle);
 }
 }

</עק>

אַבאָנירן צו מיין בלאָג.

טעטשנאָראַטי טאַגס:

אַדינג צו די לאָר: ססרס דערציילט מיר “רסאַקסעססדעניעד”, אָבער … איך טאַקע טאָן האָבן צוטריט

א ביסל וואָכן צוריק, 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 (דער הויפּט שטריך זייַענדיק אַ קלוג לאָאָקופּ אויף אַ פּאַראַמעטער מיט עטלעכע טויזנט סעאַרטשאַבלע וואַלועס הינטער אים).

This was working great in the development environment but in the user acceptance testing (ואַט) סוויווע, it wouldn’t work. Firing up the debugger, we would see exception details like this:

The permissions granted to user ‘UAT_domain\mosssvc’ are insufficient for performing this operation.(רסאַקסעססדעניעד).

If you do a live search on the above error, 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.

In our case, 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, added the web part and that solved our problem.

Hopefully this will save someone an hour or two down the line.

</עק>

אַבאָנירן צו מיין בלאָג.

טעטשנאָראַטי טאַגס:

מינערווערטיק פּובליק אַנאַונסמענט: פֿענצטער לעבן זיכערהייַט סעטטינגס און קאָנטאַקטינג ספעיס אָוונערס

I receive a handful of messages from individuals via the built-in "send a message" פונקציאָנירן מייקראָסאָפֿט גיט מיט לעבן ספּייסיז (וואָס אויך מחנות מיין בלאָג) יעדער חודש.

וועגן 1/3 פון די צייַט, those users have secured their live spaces account such that I cannot reply. This is some kind of anti-spam feature I assume.

</עק>

ביסט “אומבאַקאַנט פֿעלער” אַרטיקלען טאַקע בעסער ווי אַ סטאַק טרייס?

איך איז געווען לייענען מאַדהור ס בלאָג פּאָסטן אויף ווי צו געבן אָנלייגן שפּור דיספּלייז און איצט איך בין וואַנדערינג: וואָס טאָן ניט מיר שטענדיק ווייַזן אַ אָנלייגן שפּור?

ווער געקומען אַרויף מיט וואָס הערשן און וואָס טאָן מיר נאָכגיין עס?

End users will know something is wrong in either case. At least with a stack trace, זיי קענען דריקן קאָנטראָל-פּרינצקרעען, copy/paste into an email and send it to IT. That would clearly reduce the time and effort required to solve the issue.

</עק>

טעטשנאָראַטי טאַגס:

בייז מייקראָסאָפֿט URL

איך טאָן אַ גוגל זוכן:

בילד

איך גיט אויף די לינק כיילייטיד אויבן ("Download details: פֿענצטער שאַרעפּאָינט…").

איך באַקומען דעם:

בילד

Note the URL.

Looks pretty suspicious to me. I don’t know if I should laugh, טשאַקאַל אָדער רופן אַ גאַלעך.

</עק>

טעטשנאָראַטי טאַגס:

דאס איז וואָס איך טאָן ניט ווי ניצן מכשירים טאָג זעראָ

http://groups.google.com/group/microsoft.public.sharepoint.portalserver.development/browse_thread/thread/41e8cbe4f15e8b4c/76506ea401403e35?#76506ea401403e35

אויב די געצייַג איז טאן שטאָפּן איר טאָן נישט פֿאַרשטיין און דעמאָלט עס פיילז אין שריט N פון אַן אומבאַקאַנט נומער פון טריט, איר ניטאָ טויט אין די וואַסער…

</עק>

טעטשנאָראַטי טאַגס:

געשעעניש שייַן 1023: “פֿענצטער קענען נישט מאַסע עקסטענסיבלע טאָמבאַנק דלל מססקנטרס”

דערהייַנטיקן (04/08/08): I seem to have solved this problem. From the command line, I ran "c:\Windows סיסטעמ32 לאָדקטר / ר" ווי פּער אַ פּאָזיציע גערעדט וועגן ינסטאַללשיעלד פּראָבלעמס און אַז אויס צו האָבן סאַלווד עס פֿאַר מיר.

איך האב באמערקט אַז לעצטנס, my desktop/server fan never turns off. I know it used to turn off. I took a moment to check it out noticed that the a VMware process was running a consistent 20% utilization on one of the CPU’s. I checked the event log and saw these errors in the application log happening dozens of times per minute:

פֿענצטער קענען נישט מאַסע עקסטענסיבלע טאָמבאַנק דלל וגאַטהערער, דער ערשטער דוואָרד אין דאַטן אָפּטיילונג איז די פֿענצטער טעות קאָד.

פֿענצטער קענען נישט מאַסע עקסטענסיבלע טאָמבאַנק דלל וגטהרסווק, דער ערשטער דוואָרד אין דאַטן אָפּטיילונג איז די פֿענצטער טעות קאָד.

פֿענצטער קענען נישט מאַסע עקסטענסיבלע טאָמבאַנק דלל מססקנטרס, דער ערשטער דוואָרד אין דאַטן אָפּטיילונג איז די פֿענצטער טעות קאָד.

אויב איך בויער אין די פרטים פון איינער פון די אַרטיקלען, איך באַקומען דעם:

מאָקער: פּערפליב

טיפּ: גרייַז

קאַטעגאָריע: גאָרניט

געשעעניש שייַן 1023

I did some research and there was some indication it could be a permission problem in terms of access to the DLLs in question. I played around with that stuff but could not affect things in a positive way so I gave up on that.

וומוואַרע האט שוין נאַגינג מיר וועגן פּערפאָרמינג אַ דערהייַנטיקן פֿאַר גאַנץ עטלעכע מאָל, אַזוי איך דזשאַטיד אַראָפּ די ווערסיע איך האט אינסטאַלירן (apparently "1.0.1 build 29996") and did the update. This upgraded me to v1.04. סאַדלי, עס האט נישט פאַרריכטן די אַרויסגעבן.

I can stop the insane number of messages going to my application log if I shut down a service named "VMware Authorization Service". This prevents me from using the VMware software, אַזוי … not such a great option.

דער באַלעבאָס אַפּערייטינג סיסטעם איז פֿענצטער קספּ 64 ביסל.

איך טאָן ניט טראַכטן דאָס האט שטענדיק געטראפן, אָבער איך טאָן ניט צוריקרופן קיין באַזונדער געשעעניש וואָס זאל האָבן געפירט צו אים.

דאס איז וואָס איך האַס קאָמפּיוטערס.

</עק>

טעטשנאָראַטי טאַגס:

פורום דיסקוסיע: ענפאָרסינג בעסטער פּראַקטיסעס קאָמפּליאַנסע אין נאָן-טריוויאַל מאָך סוויווע

א יונגערמאַן, "Mark", has started up a potentially interesting newsgroup discussion focusing on "establishing excellent SharePoint Governance from the start" פֿאַר אַ 35,000 באַניצער סוויווע.

די דיסקוסיע איז דאָ: http://groups.google.com/group/microsoft.public.sharepoint.portalserver/browse_thread/thread/6d9a738d981af772/1c390b15c5407db6?#1c390b15c5407db6

פּאָפּ אויף איבער און בייַשטייַערן!

</עק>