Sue Hernandez's SharePoint Blog

SharePoint and Related Stuff

Monthly Archives: June 2009

SPTechCon Boston – Day 3

A Good conference, all in all.   I enjoyed days 2 and 3 most, as per my previous posts, and day 2 was my favorite, but day 3 had its high points as well.

On day 3 I started with “Tapping Into your Line-of-Business App with SharePoint BDC” by Fabian Williams.  We went through the various parts of the application definition file, and I learned that if you set up filter descriptors in the app def file, the BDC List web part automatically gives you filter choices.  We also learned that, although you should not do it, theoretically you could write custom actions (custom .net code) to write back into the database.  Again, though, Fabian stressed that the BDC was meant to be a window into the LOB data, and was not for updating the LOB data.

I also attended “Customizing SharePoint Search” by John Ross.  This was more of an end-user course, as no code was involved; however I got ideas that I had not previously thought of.  For instance I did not realize that you could fully customize the display of the Core Search Results web part with XSLT.

Next was “Development Strategies for SharePoint – Declarative vs. Imperative” with Maurice Prather.  This one was good – I learned you could declare new content types completely through XML with no code involved.  The discussion was focused mainly on what is the line between all XML and all Code.  Conclusion – you can’t get away from XML but there are tons of things you can do with code that will, for example, make it so that you don’t really have to write a site definition.

Another session was “Into the Wild – The Challenges of Customized SharePoint Apps in Release” by Andreas Grabner.  Unfortunately, this was mostly a sales pitch, but even so I got lots out of it.  Contrary to what I thought the talk was going to be about, Andreas talked purely about performance issues, and how bad coding can greatly contribute to your performance problems.  I learned good tips and tricks and good coding practices, and not a few Dont’s.

Last session was “Features and Solutions: Packaging SharePoint Functionality and Content” with Darrin Bishop.  This session was good, although I had kind of been through most of what he taught.  It was a good refresher course, and I learned about more things that could be installed through features and solutions.  I also learned more of the difference between the Scopes (i.e. Farm, Web App, Site and Web).

All in all, as I said it was a very good conference, and I’m going to bring back lots of coding tricks – especially what to avoid – and how to make absolutely sure all of my objects are disposed properly.  I learned I’m going to have to resort to using CAML and the SPQuery object on lists instead of iterating through list items, which I had actually heard once before.

I’m on my way home, tired but happy.


SPTechCon Boston Day 2 – a Great Day

Today at Boston’s SPTechCon was much better for me – I went to courses much more suited to my tastes. 

First was the talk “Developing SharePoint Solutions with Silverlight” with Bob German.  This one course for me was worth the whole trip.  He talked about how to code for Silverlight using a custom Web Part, and what logic you put where.  It was an interesting and valid concept that he stated to put as much of the first-pass data retrieval as you can in your Web Part code, and pass this in to your Silverlight web part, either via the InitParams, or into a hidden field on the page (and pass the control ID of the hidden field via InitParams).  He even showed us how to code a Field Control so that in Edit Mode in the web part page, his Silverlight control was displayed and functional.

I also attended “SharePoint Workflow Alternatives for Developers” with Gary Blatt.  He was hilarious, and gave an interesting talk on how to use OOB workflows with custom lists and custom Event Handlers to simulate a workflow.  I don’t know that I’d ever need to go that route, but I was happy to be in the class and to get a little more perspective on what Event Handlers can do.

There was “A Tour of Development Governance” with Robert L Bogue.  This was wonderful – he talked about best practices and design patterns – what to use when.  He spent 9 slides – out of something like 24 – JUST on disposing your objects and more importantly why this is so important to do.

Finally, I attended Advanced InfoPath with Larry Riemann.  I think everyone was tired at that point, because the presentation went a little slow was too low-key.  There were some good tips and tricks I learned from the presentation, especially with developing InfoPath forms through Visual Studio and not Tools for Apps.  I had hoped a little more in-depth would be covered than it was, but hey what can you do in only and hour and 15.

All in all, I had a very good day today, and I’m happy about attending the conference.

A Disappointing First Day at SPTechCon

Let me first say that the speakers were fine and the material was decent.  Myself, I didn’t like the first 2 sessions that I went to.  Being a SharePoint Developer, I wanted to hit some development courses.  There weren’t many choices, at least on this first day.

I first went to “A Primer for Developing SharePoint Applications” with Kevin Israel.  Again, the speaker was fine, and the materials were appropriate.  But it was WAY too much of a Novice level course for my tastes.  I have already been developing on the SharePoint Object Model, and I figured I’d be a little above the curve, but there was a Novice course, and this was slated as an Intermediate course.  I thought I might still get something out of the course, but we basically covered stuff I was already very familiar with, such as the SPSite, SPWeb, and SPUser objects, and disposing your objects.

The second course was “Web Services and SOA in SharePoint” with Paul Swider.  He was a bit of a better speaker, but the material was a little under par, even for the audience it targeted.  The main focus of the seminar revolved around “taking a tour” of the web services, which I can do myself.  There were very little tips and tricks, or best practices, although he did mention something about Artifact development versus Assembly development which I have to look up.

All in all, I’m just waiting for tomorrow’s break out sessions.

MOSS – WSPBuilder and Workflow Template

I am a big fan of using WSPBuilder for building Solution packages.  I did, however find one bug that others have found and blogged about also.

First of all, I was working on my company’s PC which does not have SharePoint installed.  That had problems of its own:  I had to get some dll’s on to my local computer, and register them in the GAC, for

  • Microsoft.SharePoint.dll
  • microsoft.sharepoint.WorkflowActions.dll
  • microsoft.sharepoint.WorkflowActions.intl.dll
  • microsoft.SharePoint.workflowactions.intl.resources.dll

The last one, I had to get directly out of the GAC from a server that had SharePoint on it, by navigating to


Now, as for WSPBuilder, when adding a new project of type “WSPBuilder Project with Workflow”  I found that once I deployed the solution I kept getting the result “Failed on Start”.  When I looked into the SharePoint log files, it showed “Workflow Failed Validation” type of exceptions.

Turns out accofding to This Post that the project file needed an extra line – a missing import target.  Below the line

    <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />

we need to add the line

    <Import Project="$(MSBuildExtensionsPath)\Microsoft\Windows Workflow Foundation\v3.5\Workflow.Targets" />

This solved the problem, and the workflow then proceeded to fail miserably in expected ways as opposed to unexpected ways :-).  Until I fixed it of course.

MOSS VPC – Publishing from Infopath 2007 URL Not Valid

For some reason when you’re in a Virtual PC that is not on the network, and you try to publish an InfoPath Form to your server, you receive a “URL Not Valid” error.

This is due to the System Event Notification Service checking the network status.  A trick is to type in

    net stop sens

in a command window, and then deploy your template.