jamii Archives: Uncategorized

SharePoint Best Practices Mkutano, “Best Practices,” na Tembo katika chumba

I was lucky to attend and present at last week’s SharePoint Best Practices conference. I’m still new to the whole speaking "thing" na, kusema ukweli, 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 (si kwamba mimi kupuuzwa yao). Badala yake, Mimi ililenga zaidi kidogo juu ya waliohudhuria.

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, lakini nadhani ilikuwa ni angalau 60% kulenga katika masuala ya mashirika yasiyo ya dev, 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 (ambayo kwa sasa, imekuwa vizuri sana imara).

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.

Baada ya kusema kwamba, 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, mafunzo, mahitaji ya mkutano, kutafuta, maendeleo, habari usanifu, nk. I think that the missed opportunity has to do with the "green field" mawazo ya msingi nyingi ya njia bora.

Tunapozungumzia kuhusu shamba kijani, 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, habari usanifu, nk. Hata hivyo … kile kinachotokea wakati uko tayari katika uzalishaji na watumiaji elfu kadhaa (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, kutafuta, many other areas). Bila shaka, 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. Hata hivyo, 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, nk.

</mwisho>

Kujiunga na blog yangu.

Tags technorati:

SharePoint Dashboards Online Semina

Rafiki yangu online, Mark Miller juu na Mtumiaji wa mwisho SharePoint (www.endusersharepoint.com) ni mbio bure saa moja semina ya walengwa, kama yeye daima gani, at the SharePoint End User community. It takes place at 1pm EDT. Details are here: http://www.endusersharepoint.com/?p=785

Mimi ameketi katika moja ya semina yake online mwezi uliopita na ikawa vizuri kabisa kama wewe ni nia ya maelezo juu ya baadhi ya vitendo sana dashboards katika SharePoint, Mimi nina uhakika ni thamani 1 Saa ya uwekezaji.

</mwisho>

Kujiunga na blog yangu.

Tags technorati: ,

FBA na SQL Server: 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 (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, kwa kukosa neno bora, 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.

Here’s the code that worked for us:

kulindwa void btnSearchCarrier_Click(object sender, EventArgs e)
 {
 kujaribu
 {
 ImpersonateUser iU = mpya ImpersonateUser();
 // TODO: Replace credentials
 iU.Impersonate("DomainName", "UserName", "Password");

//
 CODE
//

 iU.Undo();
 }
 kukamata (Ubaguzi wa zamani)
 {

 }
 }

// Using Impersonation class as mentioned below.

umma darasani ImpersonateUser
 {
 [DllImport("advapi32.dll", SetLastError = kweli)]
 umma tuli extern bool LogonUser(
 String lpszUsername,
 String lpszDomain,
 String lpszPassword,
 int dwLogonType,
 int dwLogonProvider,
 ref IntPtr phToken);

 [DllImport("kernel32.dll", CharSet = CharSet.Auto)]
 binafsi extern tuli bool CloseHandle(IntPtr handle);

 binafsi tuli IntPtr tokenHandle = mpya IntPtr(0);
 binafsi tuli WindowsImpersonationContext impersonatedUser;

 // If you incorporate this code into a DLL, be sure to demand that it
 // runs with FullTrust.
 [PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")]
 umma void Impersonate(string domainName, string userName, string password)
 {
 kujaribu
 {

 // 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;

 // Hatua -1 Call LogonUser to obtain a handle to an access token.
 bool returnValue = LogonUser(
 jina la Mtumiaji,
 domainName,
 password,
 LOGON32_LOGON_INTERACTIVE,
 LOGON32_PROVIDER_DEFAULT,
 ref tokenHandle); // tokenHandle - new security token

 kama (false == returnValue)
 {
 int ret = Marshal.GetLastWin32Error();
 Console.WriteLine("LogonUser call failed with error code : " +
 ret);
 kutupa new System.ComponentModel.Win32Exception(ret);
 }

 // Hatua - 2
 WindowsIdentity newId = mpya WindowsIdentity(tokenHandle);
 // Hatua -3
 impersonatedUser = newId.Impersonate();

 }
 kukamata (Ubaguzi wa zamani)
 {
 Console.WriteLine("Exception occurred. " + ex.Message);
 }
 }


 /// <muhtasari>
 /// Stops impersonation
 /// </muhtasari>
 umma void Undo()
 {
 impersonatedUser.Undo();
 // Free the tokens.
 kama (tokenHandle != IntPtr.Zero)
 CloseHandle(tokenHandle);
 }
 }

</mwisho>

Kujiunga na blog yangu.

Tags technorati:

Na kuongeza kwa lore: SSRS Inaeleza Me “rsAccessDenied”, Lakini … Mimi kwa kweli Access

wiki chache nyuma, 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 (Kipengele kuu kuwa lookup wajanja juu ya parameter na elfu kadhaa maadili kutafutwa nyuma yake).

Hii ilikuwa kazi kubwa katika mazingira ya maendeleo lakini katika kupima mtumiaji kukubalika (UAT) mazingira, it wouldn’t work. Firing up the debugger, tunataka kuona maelezo isipokuwa kama hii:

ruhusa imetolewa user 'UAT_domain mosssvc' ni haitoshi kwa ajili ya kufanya operesheni hii.(rsAccessDenied).

Kama wewe ni kutafuta makosa juu ya kuishi kwenye, 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" haki. We probably tried them all.

Katika kesi yetu, 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, Aliongeza sehemu ya mtandao na kwamba kutatuliwa tatizo letu.

Hopefully hii ila mtu saa moja au mbili chini ya mstari.

</mwisho>

Kujiunga na blog yangu.

Tags technorati:

Madogo Umma Announcement: Windows Live Settings Usalama na Kuwasiliana Wamiliki Space

I receive a handful of messages from individuals via the built-in "send a message" kazi Microsoft hutoa na nafasi ya kuishi (ambayo pia ni mwenyeji wa blog yangu) kila mwezi.

Kuhusu theluthi moja ya wakati, those users have secured their live spaces account such that I cannot reply. This is some kind of anti-spam feature I assume.

</mwisho>

Ni “Haijulikani Hitilafu” Ujumbe Kweli Bora Kuliko Trace Stack?

Nilikuwa kusoma blog Madhur za baada ya jinsi ya kuwawezesha stack maonyesho kuwaeleza na sasa mimi nina anashangaa: kwa nini sio sisi daima kuonyesha mpororo?

Ambaye alikuja na utawala kwamba na kwa nini sisi kufuata?

End users will know something is wrong in either case. At least with a stack trace, wanaweza waandishi wa kudhibiti-printscreen, copy/paste into an email and send it to IT. That would clearly reduce the time and effort required to solve the issue.

</mwisho>

Tags technorati:

Tukio ID 1023: “Madirisha haiwezi kupakia MSSCNTRS extensible DLL kukabiliana”

UPDATE (04/08/08): I seem to have solved this problem. From the command line, I ran "c:\madirisha system32 lodctr / A" kama kwa kuingia kuzungumza juu ya matatizo InstallShield na kwamba inaonekana kuwa kutatuliwa kwa ajili yangu.

Mimi niliona kuwa siku za hivi karibuni, 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:

Madirisha haiwezi kupakia extensible kukabiliana DLL UGatherer, DWORD kwanza katika sehemu ya data ni kosa Windows kanuni.

Madirisha haiwezi kupakia extensible kukabiliana DLL UGTHRSVC, DWORD kwanza katika sehemu ya data ni kosa Windows kanuni.

Madirisha haiwezi kupakia MSSCNTRS extensible DLL kukabiliana, DWORD kwanza katika sehemu ya data ni kosa Windows kanuni.

Kama mimi kuchimba katika maelezo ya mmoja wa ujumbe wale, Mimi kupata hii:

Chanzo: Perflib

Aina: Kosa

Jamii: Hakuna

Tukio 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 alikuwa nagging yangu kuhusu kufanya update kwa muda kabisa, hivyo mimi jotted chini toleo nilikuwa imewekwa (apparently "1.0.1 build 29996") and did the update. This upgraded me to v1.04. Cha kusikitisha, hakuwa na kurekebisha suala.

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, hivyo … not such a great option.

uendeshaji jeshi mfumo ni Windows XP 64 bit.

Sidhani hii daima kilichotokea, lakini mimi wala kukumbuka yoyote ya tukio fulani kwamba ili kuwa na kuongozwa na ni.

Hii ni kwa nini mimi chuki kompyuta.

</mwisho>

Tags technorati:

Forum Majadiliano: Utekelezaji Best Practices Mwafaka katika Non-Trivial Mazingira MOSS

wenzake, "Mark", has started up a potentially interesting newsgroup discussion focusing on "establishing excellent SharePoint Governance from the start" kwa 35,000 user mazingira.

mjadala ni hapa: http://groups.google.com/group/microsoft.public.sharepoint.portalserver/browse_thread/thread/6d9a738d981af772/1c390b15c5407db6?#1c390b15c5407db6

Pop juu juu na kuchangia!

</mwisho>