June: Uncategorized

SharePoint Optimus Actiones conferentia, “Optimus Actiones,” et elephantos locus

I was lucky to attend and present at last week’s SharePoint Best Practices conference. I’m still new to the whole speaking "thing" et, ingenue, 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 (Non ego neglexi eos,). Pro, Ego aliquantulus magis focused in 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, sed certe puto 60% Dev quaestiones focused in non-, 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 (quae iam, optime constitutum fuerit).

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.

Dixisset, 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, institutio, conventu requisita, quaerere, progressionem, architectura indicium, etc. I think that the missed opportunity has to do with the "green field" positionibus subiecta multi de optimis institutis.

Quando loquuntur de viridi prato, 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, architectura indicium, etc. Autem … quod iam accidit adipiscing elit multis milibus (or 10’s of thousands) et non ambulaverunt in principio optimum exercitia? I’ve seen companies with … EM … admodum imparem information architecture baked into their environment. I don’t think that this conference provided much guidance for organizations with that kind of problem (et non solum hoc I, sed regiminis, quaerere, multis aliis locis). Utique, scientes quoniam magna pars problematis solutionem pretii ipsum dolor.

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. Autem, 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" caput et faciem eget civitatis.

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, etc.

</finem>

Scribet ad mea blog.

Technorati Tags:

Latin SharePoint Dashboards Seminar

Online amici mei, Mark et super Miller Finem User SharePoint (www.endusersharepoint.com) currat libero iaculis una hora Seminario, sicut semper facit, at the SharePoint End User community. It takes place at 1pm EDT. Details are here: http://www.endusersharepoint.com/?p=785

Ego sedebat in in online unum de Seminario et ultimum mensis factum est et si tu incolumis interested in aliquid practica Info on dashboards in SharePoint, Certe tanti est 1 hora obsideri.

</finem>

Scribet ad mea blog.

Technorati Tags: ,

FBA et SQL Servo: Amore fabula

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 (ut opponitur ad a user embedding ID SQL query in a, aut alio aditu).

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, pro defectu melius verbum, manually impersonating an AD user so that we could connect to SQL such that SQL data level security works.

Est ASP.NET quamvis FBA pluma, nos docuerunt populum SharePoint Gente diversis quaero engines quod es querying pro 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 hoc tractu investigantibus, nos re-lego is article: ASP.NET imitatione discretos

Magis investigationis duxit nos ad hoc articulus codproject: http://www.codeproject.com/KB/cs/cpimpersonation1.aspx

Quod nostris moribus auxiliatus est nobis scribere, which I’ve included below. It’s not the most elegant stuff, but it worked. I hope you find it helpful.

Hic 'quod operatus est in nobis codicem:

protegetur btnSearchCarrier_Click vacuo(obiectum mittentis, E EventArgs)
 {
 experiri
 {
 ImpersonateUser iu- novum ImpersonateUser();
 // Todo: Restituo credentials
 ("DomainName", "UserName", "Password");

//
 LEX
//

 iU.Undo();
 }
 capiendos (Exceptio ex)
 {

 }
 }

// Sicut infra annotatum genere utens imitatione discretos.

publica genus ImpersonateUser
 {
 [DllImport("advapi32.dll", SetLastError = verum)]
 publica static externus bool LogonUser(
 String lpszUsername,
 String lpszDomain,
 String lpszPassword,
 int dwLogonType,
 int dwLogonProvider,
 Ref IntPtr phToken);

 [DllImport("kernel32.dll", Charset = CharSet.Auto)]
 privatis externus static bool CloseHandle(IntPtr manubrio);

 privatis static IntPtr tokenHandle = novum IntPtr(0);
 privatis static WindowsImpersonationContext impersonatedUser;

 // Si in hoc Codice incorporamus DLL, esse certa ad eam deposcendam
 // decurrat FullTrust.
 [PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")]
 publica Irrita Personatus(string domainName, string username, string Signum)
 {
 experiri
 {

 // Utor user indicium pro unmanaged LogonUser muneris impetro
 // User praefinitum, dominico, et password.
 Const int LOGON32_PROVIDER_DEFAULT = 0;

 // Praeteriens hoc parameter facit LogonUser creare primum indicium.
 Const int LOGON32_LOGON_INTERACTIVE = 2;
 tokenHandle = IntPtr.Zero;

 // Ingrediamur -1 Vocare ad obtinere LogonUser manubrium accessum indicium.
 bool returnValue = LogonUser(
 Username,
 domainName,
 Signum,
 LOGON32_LOGON_INTERACTIVE,
 LOGON32_PROVIDER_DEFAULT,
 Ref tokenHandle); // tokenHandle - novum securitatis indicium

 si (returnValue falsum ==)
 {
 int-ret Marshal.GetLastWin32Error();
 Console.WriteLine("LogonUser call failed with error code : " +
 ret);
 mittent novum System.ComponentModel.Win32Exception(ret);
 }

 // Ingrediamur - 2
 WindowsIdentity newId = novum WindowsIdentity(tokenHandle);
 // Ingrediamur -3
 impersonatedUser = newId.Impersonate();

 }
 capiendos (Exceptio ex)
 {
 Console.WriteLine("Exception occurred. " + ex.Message);
 }
 }


 /// <Summary>
 /// Sistit imitatione discretos
 /// </Summary>
 publica Irrita abrogare()
 {
 impersonatedUser.Undo();
 // Libera indicia.
 si (tokenHandle != IntPtr.Zero)
 CloseHandle(tokenHandle);
 }
 }

</finem>

Scribet ad mea blog.

Technorati Tags:

Additoque lore: SSRS michi “rsAccessDenied”, Sed … Ego vere praesto

Pauci retro weeks, 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 (pelagus pluma esse ingeniosi lookup in parametrum investigabiles values ​​post aliquot millia).

This was working great in the development environment but in the user acceptance testing (UAT) environment, 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" ius. We probably tried them all.

In nobis, 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.

</finem>

Scribet ad mea blog.

Technorati Tags:

Sunt “Error incognitus” Nuntius Vere melior Stack Trace?

I was reading Madhur’s blog post on how to enable stack trace displays and now I’m wondering: Itaque omni suspicione quin Stack?

Qui simul ascenderant cum eo imperante quid sequatur?

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

</finem>

Technorati Tags:

ID eventu 1023: “Non aggravat contra fenestras extensible DLL MSSCNTRS”

UPDATE (04/08/08): I seem to have solved this problem. From the command line, I ran "c:\fenestrae system32 lodctr / R" ut per ingressum solvi de InstallShield mihi videtur esse quaestionum.

Animadverto quod nuper, 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:

Non aggravat contra fenestras extensible DLL UGatherer, Primum section DWORD in notitia est Fenestra Erroris Codicis.

Non aggravat contra fenestras extensible DLL UGTHRSVC, Primum section DWORD in notitia est Fenestra Erroris Codicis.

Non aggravat contra fenestras extensible DLL MSSCNTRS, Primum section DWORD in notitia est Fenestra Erroris Codicis.

Si ex iis mandatis in exercitio singulis, Feror:

Source: Perflib

Typus: Errorem

Praedicamento: Nulla

ID eventu 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 fuerant de me iugiter facientes update satis temporis, ita raptim annotaui scedulis versionem iam installed (apparently "1.0.1 build 29996") and did the update. This upgraded me to v1.04. Miserabile, non determinet eventum.

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

Fenestra XP operating ratio est hostia 64 frenum.

Non opinor factum hoc semper, Non memini, sed ad hoc ut aliquid rei.

Hoc est cur oderim computers.

</finem>

Technorati Tags:

Discussion Forum: Inducentes Optimus Actiones Obsequium in non levia MUSCUS Opera

A conservis, "Mark", has started up a potentially interesting newsgroup discussion focusing on "establishing excellent SharePoint Governance from the start" nam 35,000 User environment.

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

Pop in super conferunt!

</finem>