Office Developer Conference 2008 – Days 2 & 3

Well, I had every intention of spending last night neatly writing up my notes from the sessions I attended that day. However, I had the honor of being chosen to present not one, but two topics in the Un-conference sessions.

Because of this, I’ll describe Day 3 first, then go back and cover Day 2.

Wait, “What’s an Unconference?” you ask. It’s a session presented by an attendee. The way it worked here at the ODC was that attendees like myself who were willing to speak for up to 30 minutes on an Office System development topic each submitted a short session proposal. I submitted several. On Tuesday, the attendees voted on the ones they wanted to hear. There were probably 20ish submissions, and there were 12 speaking slots. Two of my sessions were voted for often enough that I was asked to present both of them. This meant that last night, after returning from the Tech Museum (location of the Attendee party), I sat down and put together two power point decks, one for each session.

Day 3

Since I was up late writing my presentations, I slept in a bit. I want to present well, and being under-rested won’t help. I catch the tail end of breakfast, and go find a table to sit at. I skipped the first session of the day so that I could sit at a table and talk to myself, or rather, practice my presentations. I made a few changes, and had enough time to attend the last few minutes of a session on InfoPath development in Visual Studio (with VSTO). I had lunch with my coworkers and attended the raffle for Bill Gate’s Guitar Hero guitar and the RC Ducati bikes. Didn’t win either, so I hurried off to Room A3 to get set up to present. My first session was on Information Architecture for a MOSS intranet, which I blogged about in a previous post. I tore through that content in about 15 minutes, so I probably should have slowed down a bit and gone into more depth. If anyone wants a copy of the slides from either presentation, please leave me a comment to this post, and I’ll send it out to you. I also welcome any feedback on the presentation.

After a 15 minute break, I started my next presentation, called “Wrong and Right ways to customize MOSS”. I talked about 7 things I had done or seen, and how they should be done instead. My coworker reported that my session was one of the better attended sessions, which is impressive since I was the only thing separating people from being homeward bound. The advice I presented in the session was to NOT do the following:

  1. Avoid learning how to create and use features. At first glance, you look at them and think “Oy, there’s this complex XML syntax I have to figure out with all these special tags. I already know how to work with ASP.NET, HTML, and javascript isn’t that enough? No, it’s not. Suck it up, get to know features, and you’ll find that they do make your life easier.
  2. Apply a CSS file by adding it directly to the Master page. Don’t do it that way, the results won’t always be what you expect. Instead, use the proper web page that lets you set the CSS URL. See my previous post categorized under Branding.
  3. Test all your code as Administrator. Certain Common SharePoint API actions need elevated privileges, and you should find these before you present your code to your customer… In a previous post I have a link to Ted Pattison’s MSDN article on running code with elevated privileges.
  4. Ignore the infrastructure. If you fail to plan, you plan to fail…
  5. Edit the databases directly. This is a no-no, pure and simple. If you edit them, abandon all hope of PSS support. If you need to edit them, talk to PSS (Microsoft Premier Support Services) first, and have them help you.
  6. Open MOSS files, especially _layout files, in SharePoint designer, from the file system rather than from the website. I demo’d this rather compellingly – watch me break the site settings page in 10 seconds or less!

Again, if anyone wants a copy of this slide deck, leave a comment on this post.

So now I am on the plane home. Let’s go back to Day 2, and recap that.

Day 2


There were two morning Keynotes, one on Office Live Small Business (OLSB) , and one on Unified communications. The one on OSLB didn’t do much for me as I don’t see it as applicable to the business I am in – OLSB is geared toward very small organizations of up to 10 people. We tend to focus on much larger clients. The Keynote on Unified communication however was very cool. An ISV has a product for the manufacturing sector – it’s an OBA because it integrated text and video chat and presence information into this line of business Computer Aided Design application that lets engineers collaborate on the manufacturing of a product. into a single application that runs off. It was just cool to watch, but then again, I’ve always been fascinated by how things are made, from a tour of a Jelly Belly factory in Pleasant Prairie, WI to a tour of the GM plant in Janesville, WI.

There were four sessions that day. In the morning I attended OBA User Experience Patterns. It wasn’t that memorable, other than seeing the Loan Origination OBA RAP, which I think could stimulate some interesting discussions with my current client. I had to skip the session on VSeWSS 1.1 – the Visual Studio Extensions for Windows SharePoint Services. The 1.1 version was just released. I had to skip that session to take a call with a client, which I felt went well and was clearly worth a small sacrifice.

I caught the beginning of the next session, on using the User Profile store, but also had gotten an invitation to participate in a focus group for VSTO developers. After watching the presenter of the session walk through Central Admin UI and discuss aspects I was already familiar with, I bolted and went to the focus group. There were four of us users and five Microsoft people, including a person from the documentation group. Unfortunately, the focus group was at an odd time, so I had to run off to catch the last session of the day. I attended SER316, Delivering Modular Workflow Functionality via Components, presented by David Mann. This was excellent. He showed how to build workflow activities in Visual Studio that could be published to SharePoint Designer (we had just used this technique on a project, but it was nice to see someone else do it too), and he demonstrated a tool called STSDEV, which was written by (come on, take a guess…) Ted Pattison and which David had enhanced. STSDEV is an abbreviation of course: SharePoint Tools for Software Developers. Look for it at . I am curious why Ted built this as a stand alone app, rather than as Visual Studio project templates, I’ll have to ask him next time I am online (I’m on a plane right now). STSDEV generates Visual Studio projects for a number of common SharePoint projects, but I am not sure if it does it for SharePoint Application Pages. If it doesn’t, maybe I can add it.

Other notes from David’s presentation: He used CodeRush from DevExpress to provide code snippets as he typed. With Code Rush, you bind a short character string to a code snippet, and then when you type the character string, it replaces it with the snippet. I don’t know what the benefits of CodeRush are versus the 2005 Visual Studio snippet support, but it was an interesting alternative. Another thing that I learned from his presentation was that you can use a feature receiver to add the workflow declarations to the web.config. David is also working with unnamed others to better document the WSS.actions file that SharePoint designer uses to determine what Workflow Actions are available. His blog is at

After a painfully slow and salty dinner with a coworker ( I would not recommend that restaurant), I went over to the San Jose Tech Museum for the Attendee Party. The live entertainment was strange, at least to my tastes. Having quickly had enough of that, I explored the museum. In a number of ways, it seemed similar to the Museum of Science and Industry in Chicago. However, they had a Segway, which I got to ride twice. It was very fun. I don’t see myself buying one, but there is a Chicago tour company that has a tour where you ride Segways around part of the city, and that’s suddenly seeming more attractive. The Museum closed at 10, and since I had such a slow dinner, it was almost that time by the time I left. Getting back to my hotel room, I found that I had an email informing me that I was giving two Un-conference sessions. Time to buckle down and write some slides.

GOTO Day 3.