SharePoint 2007 Predicted by “Joel on Software” Back in 2004?

I was wikipedia’ing the word “Portal” today at work and stumbled across an interesting article from Joel on Software (if you have never read his blog, you might as well read up… because it full of pure gold) on how Microsoft has “Lost the API War”… written in 2004. Its interesting to see his points in this article and how they parallel with what Microsoft has done with SharePoint 2007. From what I can tell, he was “dead on” and Microsoft (despite being accused of often times being slow to market) was able to notice the same trends and create a viable contender for continuing its domination over the API through SharePoint 2007 and the web. If you don’t feel like reading the whole post I’ll sum it up with a quote: “None of this bodes well for Microsoft and the profits it enjoyed thanks to its API power. The new API is HTML, and ...

Using Firebug to Manage CSS Effectively

I often talk about the benefits of using Firebug for Firefox in the MSDN Design and Customization Forums. Rather than try to type out a long winded article on why it rules, I found a video that should help to convince non believers that it is truly superior to the IE Developers Toolbar: Firebug 1.0 Beta Screencast by Jesse Newland  Takes a little bit of time to download the video, but its worth it.

Fixing the name.dll ActiveX Problem the Mossman Way 5

UPDATE: Are you using SharePoint 2010? See my newer post about the name ActiveX message in SharePoint 2010. Have you seen this message on public facing SharePoint sites: The Web site wants to run the following add-on: ‘Name ActiveX Control’ from ‘Microsoft Corporation’. If you trust the Web site and the add-on and want to allow it to run, click here… For an example of one (at least until they fix it), check out: http://www.viacom.com/pages/default.aspx There are quite a few nice examples of internet facing SharePoint 2007 sites on the interwebs these days, however many of them seem to be plagued by this minor annoyance that seems to have slipped through the Microsoft cracks. The problem is compounded by the fact that most developers won’t even notice the issue until their portal is available to internet users. This is due to the fact that the problem is seen only in Internet Explorer 7 and only ...

Adding Prompt Text Inside of a Search Text Box 1

I had a client need today to make the out of the box SharePoint search box have the prompt text actually inside the box instead of before the box. I’m not sure what you call this pattern exactly but you can find it on many modern websites including on Amazon’s homepage in the A9 search box in the top right corner. The boxes I’m referring to usually have the text “Website Search” or something similar inside them and when you click the box to add your search terms, javascript usually clears them out for you. So, I set out to make this work in the MOSS search box, and found some difficulty at first, my immediate thought was to add it with a “value” property, but SharePoint pretty much ignored that. So, I then thought I could do it in javascript, but SharePoint gives the search box a dynamic ID name like: “ctl00_PlaceHolderSearchArea_SearchBox_SD06736D6_InputKeywords” At the ...

Virtual Machine Settings and Performance (my non scientific tests) 1

I recently performed some very subjective non scientific benchmark results for how my new pc runs MOSS in a VMWare virtual machine. The pc is a Dell Dimension 9200 Dual Core with 3 gigs of memory, and unless I mention it specifically the tests will have both cpu’s turned on (you can turn one off in the vmware settings), 1.5 gigs of memory for the vm, a 20 gig hd pre-allocated to the vm, and will have hardware virtualization enabled in the bios of the host machine. I used PassMark Performance Test v6.1 trial edition to do the testing. I mainly just wanted to learn a little more about how VM performance works, since I’m fairly new to the concept. Hopefully someone else can learn something useful from my homework. Based on my readings of the test (and perhaps should have been obvious from the start) its best to run with both cpu’s on, hardware ...

New SharePoint 2007 Publishing Portal

As my friends John Ross (on Moss) and Andrew Connell have mentioned already today, the new web portal for Orange County Public Schools has just gone live. The team I work for was responsible for transitioning their website from a loose confederation of around 50 department managed websites into one unified Microsoft SharePoint 2007 publishing portal. I think the key differentiator for the site (compared to many other public SharePoint sites) is that it is maintaned not by a central team, but instead by these 50 departments and their respective employees. As for the initiative, I was primarily responsible for all of the public facing UI elements of the portal. This included several customized masterpages, layouts, tons of css, custom webparts, custom XSL transformations, and restyling of several out of the box webparts. We had a lot of fun working on the project, but there was also considerable pain as well. Our team owes a ...

Problems Copying Virtual Machines to an External Drive?

If you are new to the world of virtualization (as I am), you may run across the same problem that I did today. While attempting to move a bunch of vm’s over to my external usb harddrive I was constantly getting errors about there not being enough space (despite having plenty of room): Cannot copy FILENAME: There is not enough free disk space. Delete one or more files to free disk space, and then try again Turns out the problem is with the external drive being formatted with Fat32. I guess you can’t copy files bigger than 2 gigs to a Fat32 drive. The good news is you can run the following command to convert a Fat32 to NTFS and alleviate this problem (though you may want to research the up and downsides of doing this). From a dos prompt run: convert F: /fs:ntfs This will convert the F drive to NTFS for you. Note: ...

Programmatically Using the Outgoing SMTP Server from Central Admin

Had a need today to programmatically get the outgoing SMTP server that is setup in the Central Administrator. Luckily, I found a sample of how to do this with WSS V3 from the folks at Covelle Corner. Worked like a champ for me! They use the following code (obvious credit to Covelle Corner for this): /// /// Returns SharePoint smtp server /// /// private string GetSmtpServer() { SPWebApplicationCollection spWebApplicationCollection = SPWebService.ContentService.WebApplications; SPOutboundMailServiceInstance smtpServer = new SPOutboundMailServiceInstance(); if (spWebApplicationCollection != null) { foreach (SPWebApplication spWebApplication in spWebApplicationCollection) { smtpServer = spWebApplication.OutboundMailServiceInstance; return smtpServer.Server.Address; } } return string.Empty; }

U2U CAML Query Builder

The Mossman got to spend some time with John Holliday “SharePoint Ninja” today. He demoed the CAML Query Builder from U2U and I have to say I was quite impressed by it. Not sure why Microsoft wouldn’t include something like this with SharePoint, but it really does make the tedious job of working with CAML a lot nicer. He showed off its capabilities to connect to an existing SharePoint site, browse the available objects, view the available fields, piece together a query, preview the results, and copy and paste the resultant CAML query. Pure hotness, check it out. U2U CAML Query Builder

How to Add a Button to the HTML Editor Control in SharePoint 2

The HTML Editor Control (or rich text editor) in SharePoint 2007 is a pretty helpful addition to the product (assuming your users are using IE). If you would like to programmatically add your own buttons to the toolbar, you will most likely find only one or two articles from a Google search on the topic. Most links point to this page at the msdn: How to: Add a Button to the HTML Editor Field Control Unfortunately, I think this document is flawed in many ways. Because of this, the other day, I set out to actually get it working, and in the process I have simplified their example and have made it a bit more useful (hopefully). I’m not sure why their example is filled with syntax errors, contains unnecessary logic (example: always reading the second item in an array?!?!), and does not bother to reset the button to a usable state when they are ...