Posted by: generation12 | November 19, 2009

Installing SharePoint Server 2010 Beta 2 – Configuration

Whoops, someone blew it.

I ran the SPPT Configuration Wizard, specified the Farm DB access account as usual, and set the wizard in motion to create and configure the SharePoint Config DB.

Didn’t make it past Step 3. The configuration process threw a FileNotFound exception when it tried to load the Microsoft.IdentityModel assembly version 1.0.0.0.

Problem is, as far as I know, there never has been a version 1.0.0.0. Geneva Beta 2 was version 0.6.1.0 and the release candidate of Windows Identity Foundation is version 3.5.0.0.

I found several config files containing references to the 1.0.0.0 assembly, but these appear to be related to provisioning processes.

At any rate, the installation is on hold until a fix is released. It could very well be that the prerequisite installation process was trying to install WIF with assemblies stamped with version 1.0.0.0 and that’s why I had some issues during installation.

In any case though, even if the issue only surfaces when a version of Geneva/WIF has already been installed, which I have all over the place, it’s still an issue.

Posted by: generation12 | November 19, 2009

Installing SharePoint 2010 Beta 2

First-up, pre-requisite applications/frameworks. A couple of standouts were PowerShell V2 and the Geneva Framework (WIF) runtime. The Microsoft Sync Framework and SSAS for PerformancePoint Services are no surprise. 

The server I am using for this install is a Dell 1850, single CPU Xeon Dual Core server with 2GB of RAM. The OS is Server 2008 SP2. SQL Server 2008 SP1 64-bit is also installed.

The pre-req installation took 8:32 on this server, then a reboot was needed, then another 7:18 and another (long) reboot, then another 9:16 and another reboot. Hey! Wait a minute, the pre-req UI always says it’s adding and configuring the Application Server Role (which was already there) so this thing is looping.

Nice first impression.

OK, time to punt. I installed the pre-reqs that were missing from my system; PowerShell 2.0 and the Sync Framework runtime. Then I just clicked the Install SharePoint Server link. Success!

Next post will be running the SharePoint Products and Technologies Configuration Wizard.

Posted by: generation12 | November 9, 2009

Google Chrome Frame

Game changer?

I don’t know, but moving the web community to technologies that IE cannot deal with – to an embarrassing extent – is an admirable strategy on Google’s part.

Running this demo http://www.chromeexperiments.com/detail/many-lines/ on IE shows just how far behind it has gotten.

Posted by: generation12 | November 6, 2009

MIA, but not gone…

I haven’t been working in the SharePoint Server space for the last few months as I was needed on an ASP.NET web site project. Currently I’m working in the Geneva (now Windows Identity Foundation) stack and will be doing other work in the WinFx (mostly WCF) space for a while. 

This is a good thing, as using Geneva Server (ADFS 2.0) to implement SSO in SharePoint 2007 and 2010 (unless it’s OOTB) projects will be far more sane, and successful, than with previous approaches.

Depending on how long I’m working on .NET 3.5/4.0 plumbing, the time I spend reverse engineering SharePoint 2010 (and Blogging about it) will vary. The list of features for the 2010 release is impressive, but being the skeptic I am, I’ll be focusing on whatever new issues appear in the platform, VS 2010 support and SharePoint Designer 2010.

Posted by: generation12 | July 20, 2009

SharePoint 2010 Preview

This official preview site is actually pretty good.

At least they have the new technology highlights listed like Linq to SharePoint (yeah!).

Posted by: generation12 | July 1, 2009

Web Application Usability

It seems like I am running into an ever increasing number of usability issues in web sites/applications these days.

It has me wondering what the root cause of this is. Is it a race-to-market issue, or are designers missing these annoyances altogether?

For example, when you search for Accelerators on the ieaddons site, the page you are currently on is used to navigate to this Microsoft site rather than opening a new tab, as I have IE8 configured. Then when you search for a phrase like package tracking without quotes, you get a listing that includes The Gadget Toolbar, which has nothing to do with tracking packages. If you search for “package tracking”, then your search is treated like a phrase which produces zero results. When you search for UPS, you get accelerators like Facebook.

I also like how just clicking in the search box completely clears its contents. I’m sure some user panel decided that was better than having you use backspace…

I would love a chance to sit down and talk to the wingbolts that designed this site. Do they not understand the notion of familiarity? Like with the way Google works? Or is it because the team lives in Mumbai?

Speaking of Browsers, it amazes me that the standard in that space is not an Open Source application.

I am no big fan of Open Source, but this is one place where it would make complete sense. Since every Browser we have to choose from is just a clone of every other Browser (I have been following this from the beginning), there might as well be 1. Why do we need choice? Choice is doing ZIPPO for the consumer!

In fact, maybe I don’t want a browser that allows kids to delete their browsing history! DUH…

While I don’t blame our educational system for this, and it would not be the fault of one country’s system anyway, I do blame experienced programmers for not passing the hard-earned experience along to new programmers entering the field. I also blame the general state of Management in the Software industry, which has never been a model of success and will never get it right.

Since WE can do something about this, I ask that every experienced programmer out there please just try to take some interest in mentoring less experienced folks. These acts will go much farther than reducing your friggin carbon footprint!

Posted by: generation12 | June 16, 2009

Relational Data Applications in SharePoint

A month ago or so, I was at a client doing some work involving an application that required a fast way to JOIN two SharePoint lists. Let me explain.

Sometimes you have a need to store data in 2 or more lists because the data in list ‘A’ represents real world entities that are unique instances, while data in lists ‘B’, ‘C’, etc hold data that is non-unique and reusable by its nature and for our purposes also possesses a 1-to-Many relationship to the data in list ‘A’.

Relational Database Applications 101.

Of course in some cases a data-driven ASP.NET application might be the best course to take; but that might not be an option. So in a SharePoint world, we will use lists and have to find a way to make the relations between lists work in our code in an efficient way.

It is very easy to take a simple approach that leads to performance/scale issues in applications of this type because the WSS Object Model does such a nice job of putting SP objects in collections, and iterating over these collections seems like a natural extension. Except that iterating through list item collections, especially when nested, is quite costly.

In the interest of stating the obvious, of course you will reduce the number of list items you need to iterate over with the appropriate CAML query filtering so that when you form the SPListItemCollection from a list.GetItems(query), it is already minimal in size.

However, in the context of this post, imagine nesting foreach loops to iterate over our ’A’ list, while also iterating over an inner collection of items from our 1-to-Many ‘B’ list. You will start to get close to an N squared situation in terms of Big O notation and computational complexity.

Hence the need for a relational solution with a JOIN.

The solution is rather simple with WSS 3.0, and there are at least 2 versions of an approach you can take that involve placing your SPListItems in DataTable objects as part of a DataSet object.

For reduced footprint and added speed, I like defining the DataTable explicitly in code using just the DataColumns (list columns) I need. This reduces the footprint used over this approach:

DataTable table = list.GetItems(query).GetDataTable();

which returns the items with all column values present, and uses more memory.

Quite a few folks favor the minimalist code approach, and I am no different, but when it matters, performance should be paramount over a few extra lines of code. I tend to make fun of ASP.NET programmers for this same reason, as they tend to fall in love with the “look what I can do with 1 line of code” mantra.

Now you need to define a DataRelation object to represent what you are trying to accomplish with a JOIN and add that to your DataSet. This can transform a (slow) nested iteration over multiple sets of SharePoint list items into a single result set formed in a few milliseconds. Then you do your really meaningful operations on this result set now that the data is aligned.

One comment on this approach with respect to server round-trips.

Since you are working in the realm of a disconnected data set, you are in effect getting all the pertinent list items once. In my specific case, the list queries simply needed to run one time, but there is a caching benefit here that can make a big difference in other application situations.

Lastly, the one way to improve on this further is for the SharePoint Development Team to leverage LINQ in WSS 4.0.

That would be way cool.

Posted by: generation12 | June 5, 2009

Who moved my conference?

In our last episode, there was confusion over the term Office in the name Microsoft Office SharePoint Server 2007.

http://blogs.msdn.com/sharepoint/archive/2009/04/14/microsoft-sharepoint-14-is-now-microsoft-sharepoint-2010.aspx

SharePoint will no longer be showcased at the ODC like it was in 2006 when MOSS 2007 was unveiled. Now SharePoint Server 2010 will be showcased at SharePoint Conference 2009, but it will include Office 2010 developer tracks.

http://blogs.msdn.com/sharepoint/archive/2009/06/01/office-developer-conference-moving-to-sharepoint-conference-2009.aspx

Apparently, the Borg have taken over the SharePoint team and now they have assimilated Office.

Clever diversion – the Office 2010 development team never suspected a thing!

Posted by: generation12 | June 3, 2009

An obscure bug creating Office documents (Update)

I discovered yesterday that the problem I described in the original post is avoided anytime the document template you are using is a regular document type. In my case, I was using an Excel template rather than an empty Excel document (formatted of course). So it was just a matter of doing a SaveAs in the open template and saving it as a workbook, then replacing the .XLT file being used by the content type I define with its .XLS mate.

I realized that the document type of the “template” was forcing the SaveAs functionality to shift from the default of XLS to XLT because that was actually the file being used.

The key insight that I was forgetting, is that files are opened from SharePoint as-is; SharePoint is blind to Office document templates.

I guess it really is better that MS has decided to drop the Office moniker from SharePoint 2010. Unless MS truly integrated SharePoint with Office, they were no better off than any other document collaboration/management system where Office documents are concerned.

Posted by: generation12 | May 27, 2009

SharePoint 2010

This is old news at this point

http://blogs.msdn.com/sharepoint/archive/2009/04/14/microsoft-sharepoint-14-is-now-microsoft-sharepoint-2010.aspx

but I think it’s an odd Blog post.

Removing Office from MOSS was done because “lots of folks associate the name Office with the Office client“.

Huh?

So a new group of managers and developers comes along, every 2-3 years apparently, and decides that the Office Server concept is what, confusing? I wonder who they asked?

Well, I imagine some survey showed that SharePoint was the real brand and that Office moniker just didn’t mean anything. Usually companies like IBM and Microsoft try to stick a hot brand on everything, ad nauseum. Of course we have not given Redmond a chance to stamp SharePoint on everything yet, so we’ll see.

I also liked this line about WSS 4.0.

It’s too early to drill into any of the details but WSS is getting a lot of new features and will be a great release.

I just had to copy that over here so it’s preserved for posterity. Will WSS 4.0 be “a great release” because they finally decided to fix all those pesky bugs? Or, like WSS 3.0, does great mean “great big”. I’m betting on the latter.

Considering the aquisitions MS has made in this space, SharePoint 2010 as a whole is quite likely to be a great big release. I suppose there is a chance that MS may decide not to pile all that social networking code they bought into SharePoint.

Here’s a thought, maybe there will be a dedicated version of SharePoint called SharePoint Server 2010 for Lonely Geeks.

Oh, now I’ve gone and offended someone.

Seriously though, any bets on how many SKUs SharePoint 2010 will actually have?

Older Posts »

Categories