بایگانی دسته بندی: دستهبندی نشده

شیرپوینت بهترین روش کنفرانس, “Best Practices,” and the Elephant in the Room

I was lucky to attend and present at last week’s SharePoint Best Practices conference. I’m still new to the whole speaking "thing" و, frankly, 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, but I think it was at least 60% focused on non-dev issues, 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 (which by now, has been very well established).

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, training, 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" and the community needs to face it head on.

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

من در ماه گذشته در یکی از سمینار آنلاین خود نشسته و آن را کاملا به خوبی انجام شد و اگر شما علاقه مند در برخی از اطلاعات بسیار عملی بر روی داشبورد در شیرپوینت, من مطمئن هستم که آن را به ارزش 1 سرمایه گذاری در ساعت.

</پایان>

مشترک شدن در وبلاگ من.

FBA و SQL Server: یک داستان عاشقانه

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 (as opposed to embedding a user ID in a SQL query or some other approach).

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, for lack of a better word, manually impersonating an AD user so that we could connect to SQL such that SQL data level security works.

Even though FBA is an ASP.NET feature, we SharePoint Nation people have taught the various search engines that if you’re querying for 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.

In the course of researching this, we re-read this article: ASP.NET Impersonation

More research led us to this codproject article: http://www.codeproject.com/KB/cs/cpimpersonation1.aspx

That helped us write our code, which I’ve included below. It’s not the most elegant stuff, but it worked. I hope you find it helpful.

در اینجا کدی که برای ما کار می کرد:

محفوظ void btnSearchCarrier_Click(object sender, EventArgs e)
 {
 امتحان
 {
 ImpersonateUser iU = جدید ImpersonateUser();
 // TODO: Replace credentials
 iU.Impersonate("DomainName", "UserName", "Password");

//
 CODE
//

 iU.Undo();
 }
 گرفتن (سابق استثنا)
 {

 }
 }

// Using Impersonation class as mentioned below.

عمومی کلاس ImpersonateUser
 {
 [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;

 // Step -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);
 }

 // Step - 2
 WindowsIdentity newId = جدید WindowsIdentity(tokenHandle);
 // Step -3
 impersonatedUser = newId.Impersonate();

 }
 گرفتن (سابق استثنا)
 {
 مثلا عدم("Exception occurred. " + ex.Message);
 }
 }


 /// <خلاصه>
 /// Stops impersonation
 /// </خلاصه>
 عمومی void Undo()
 {
 impersonatedUser.Undo();
 // Free the tokens.
 اگر (tokenHandle != IntPtr.Zero)
 CloseHandle(tokenHandle);
 }
 }

</پایان>

مشترک شدن در وبلاگ من.

برچسب ها:

اضافه کردن به فرهنگ: SSRS به من می گوید “rsAccessDenied”, اما … من واقعا نمی دسترسی دارند

چند هفته قبل, 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 (UAT) محیط, 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.(rsAccessDenied).

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" تابع مایکروسافت فراهم می کند با فضای زندگی می کنند (که همچنین میزبان وبلاگ من) هر ماه.

حدود یک سوم از زمان, those users have secured their live spaces account such that I cannot reply. This is some kind of anti-spam feature I assume.

</پایان>

آیا “خطا مشخص نشده” پیام واقعا از ردیابی پشته بهتر?

من خواندن Madhur پست وبلاگ در مورد چگونگی را قادر می سازد پشته نمایش ردیابی و در حال حاضر من نگرانم: چرا ما همیشه یک مسیر بسته را نشان می دهد?

که با آن قانون آمد و چرا من به آن را دنبال می کنیم?

End users will know something is wrong in either case. At least with a stack trace, آنها می توانند با printscreen کنترل را فشار دهید, 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

اگر این ابزار در حال انجام مسائل شما را درک نمی کنند و سپس آن را در مرحله نفر تعداد نامعلومی از مراحل با شکست مواجه, شما مرده در آب…

</پایان>

ID رویداد 1023: “ویندوز می تواند MSSCNTRS DLL ضد توسعه را بار نیست”

تکمیلی (04/08/08): I seem to have solved this problem. From the command line, I ran "c:\WINDOWS SYSTEM32 lodctr / R" در صحبت کردن در مورد مشکلات InstallShield یا ورود و که به نظر می رسد که آن را برای من حل شده.

من متوجه شدم که به تازگی, 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:

Windows cannot load extensible counter DLL UGatherer, the first DWORD in data section is the Windows error code.

Windows cannot load extensible counter DLL UGTHRSVC, the first DWORD in data section is the Windows error code.

ویندوز می تواند MSSCNTRS DLL ضد توسعه را بار نیست, the first DWORD in data section is the Windows error code.

If I drill into the details of one of those messages, من این را دریافت کنید:

منبع: Perflib

نوع: خطا

دسته: هیچ یک

ID رویداد 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.

VMware had been nagging me about performing an update for quite some time, so I jotted down the version I had installed (apparently "1.0.1 build 29996") and did the update. This upgraded me to v1.04. متاسفانه, it did not fix the issue.

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.

The host operating system is Windows XP 64 ذره.

I don’t think this has always happened, but I don’t recall any particular event that might have led to it.

This is why I hate computers.

</پایان>

برچسب ها:

انجمن: اجرای پیروی از بهترین روش ها در محیط زیست خزه غیر بدیهی

همکار, "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

بر روی بیش از پاپ و کمک!

</پایان>