May 2006 - Posts

Jelle has released the long awaited version 1.1 of his InfoPathHelper component! This version fixes a nasty bug that appears when caching data from a web service. Check his latest post for the download and the source code.

InfoPathHelper is a small reusable .NET library you can use to add offline support to InfoPath forms. That's right, you're finally able to make InfoPath a real smart client that is offline capable of submitting forms and querying data sources, without any extra security requirements whatsoever.

For the end user, the form will appear to continue working when the machine is offline or when the target you're submitting your form to is unavailable (a Web Service, a Sharepoint site, ...). The next time the machine goes online, any pending requests will be submitted. The same goes for querying data sources (files on a network share, Web Services, ...): if they're not available, the data will be taken from the local cache until the next time it can be refreshed.

For a developer using the InfoPath 2003 Toolkit for Visual Studio .NET, it boils down to inheriting from the CachingInfoPathForm base class, changing your submittal options to use form code, deleting the messy generated boilerplate code (you get cleaner properties and events for free in stead) and calling a few methods depending on your needs. The following example shows how to enable offline support for a form that has a submit data adapter named "WebServiceSubmit" and a data object named "Countries".

[Yet Another SharePoint Relief Series] In SharePoint 2003 you can enable versioning for a Document Library, so SharePoint will store for each document in that library previous versions when the document gets edited. That’s nice, but that’s about it what you get out-of-the-box. Since each version of the document is in fact a complete document (it’s not the delta that’s stored for a version) big documents can take up more space than desired. Just imagine that you have a 1MB Word document for which you have 15 versions, the total size that the document item will use, is 15 MB (15 times 1 MB). So a very common request is to limit the number of versions that is stored in a document library. In SharePoint 2003 there is no out-of-the-box functionality to do that, although it’s quite easy to write a Document Library Event Handler to accomplish this, but you do need to write some code and deploy the solution.

In SharePoint 2007 however, you specify the number of versions that should be kept quite easily. In the Document Library Settings page, you can navigate to the Versioning Settings, where you can enter any number of versions to keep.

Another thing on this page that may get your attention is the fact that you can either choose to only create major versions, or you can choose to create major and minor (draft) versions. A little bit further on the page you can specify who can read the draft versions of the document.

So when you enable major and minor version a possible scenario could go like this: you create a new Word document in the document library. This document will become version 0.1. When you edit the document again, you will create version 0.2. When you decide it’s time for other people to see your hard work you can decide to publish the document as a major version.

This action will promote version 0.2 to version 1.0, so the version number 0.2 will change into version 1.0. The version history also reflects this:

Another common complaint for SharePoint 2003 is the fact that versioning is only available in document libraries. In SharePoint 2007 versioning is also available for lists (although only major versions). For example editing a list item will result in the following version history:

Document and list item versions in SharePoint 2007: yet another SharePoint relief!

[Yet Another SharePoint Relief Series] If you know a little bit about SharePoint 2003 you probably are aware of the fact that you can add custom columns to a SharePoint List or a Document Library. For example you can add an Importance column to a Document Library so each document in that library can have an Importance value. Probably if you want to do this nicely, you create Choice column so users can select the value for the Importance field from a couple of predefined values (e.g. Important, Very Important …). So far so good, this works fine in SharePoint 2003. But suppose you would like to have this Importance column also in another Document Library or in another List. The only option that you have in SharePoint 2003 is to repeat the creation of the field for the other Lists or Libraries (including defining all the different Importance values). In SharePoint 2007 you can avoid this repetitive work by using a new feature called Site columns. When you navigate to the Site Settings of a site, you’ll see a link called Site columns.

Clicking this link will bring you to the Site Column Gallery. This gallery contains all the defined Site columns, as you can see there are a bunch of columns that you get out of the box. Because this list can get quite long, you can divide the Site columns into groups.

From this gallery you can also create a new Site column, by clicking the Create link. Creating a Site column works exactly the same as creating a column for a Document Library or List. In this example I’ve created the Importance column and I’ve put it into the YASR group. The Source of the column is identified as YASR1 which is the name of the site.

When you want to add the newly created site column either to a Document Library or List, you need to navigate to the Settings of the Library or List. In the Columns section you’ll find links to create a new column, or to add a column from existing site columns.

Selecting a site column is quite easy: the groups are listed in a drop down and it’s possible to add more than one column at the same time.

When you’ve added the column to a Document Library or List, the library or list will have the Imortance column right away, including all the settings that have been chosen for this column (e.g. different values). Of course it’s possible to add the same site column to multiple Document Libraries or Lists. That’s already quite nice functionality, don’t you think? It gets even better: just imagine that you’ve added the Importance field to a bunch of SharePoint 2003 lists and libraries (which involves doing some repetitive manual actions) and you realize that you forgot to add a Importance value (e.g. Critical). There was no other option for you to go to each SharePoint Library or List and to manually update the Importance field, so the new value was added. However in SharePoint 2007 Site columns, update a site column that you have added to libraries or lists already. When you make the update you can specify if you would like to update all the lists and libraries that make use of this site column, or not. Yet another Sharepoint relief!

If you have been working with SharePoint 2003 you probably know the abbreviation YASQ which stands for yet another SharePoint quirk. Those quirks seem to be insignificant at first sight, but they are so important to be aware of if you don’t want to run into serious problems. Just imagine that you (or your sales person) have sold document level security in a content management system built on top of SharePoint 2003. :-)

In SharePoint 2007 a lot of those quirks, if not all, are solved. In a series of blog posts (rss), I’m going to show off some features that will transform a YASQ into a YASR: yet another SharePoint relief. They will come in no particular order and a lot of them are already spotted on other blogs; check for example Amanda Murphy’s posts. See you soon in one of the YASR posts!

Now it’s getting really funny: head hunters are looking for SharePoint Consultants who know how to use the SmartPart. So if you know the SmartPart, and if you’re looking for a new job the following ad.

Remark: in general in don’t publish job offerings on my blog (unless if my company is looking for people, and they still are!), but consider this one as the single exception. Btw, I'm not affiliated with the company offering this job or it's client.

Our client, a leading Microsoft Gold partner is currently looking for a sharepoint Consultant to work on a high profile project. This is an excellent opportunity to work on a fantastic project with Microsoft's latest technologies. In order to be successful you must have experience with Sharepoint preferably smartparts - not essential. Experience with Biztalk is a massive bonus also. We are looking for an experienced professional with extensive experience in development, Web parts, administration and configuration. Any commercial experience of architecture is a plus. An all round knowledge of .NET technology is a must. Please apply without delay as this is an immediate start (however, notice periods are fine).
Location London
Country England
Start Date ASAP
Rate 40k-50k
Employment Agency E-Synergy Solutions
Contact Daniel Ankah
Telephone 0207 444 4088
Fax 0207 444 4099
Reference JS01.05.SHAREPOINT/DA
Posted Date 30/04/2006 10:57:43

More info here:

When talking to customers about the new version of SharePoint, a lot of questions I get are related to moving the existing infrastructure and data to the new version of SharePoint once it gets released. For now there wasn't a lot of (public) information available, but now Joel Oleson has written a nice post about the topic. There are actually three scenarios:

  • In place upgrade - of course for hardware reasons you're going to want to have an option like this, so for small environments you're not needing additional hardware or additional expenses.  Be sure to get a good backup if you take this route.  You'll pretty much be down while the upgrade takes place, the options are few, but this is the quickest route to getting the job done.
  • Side by side upgrade - running V2 and v3 or 2003 and 2007 side by side on 2 different IIS web applications (IIS virtual servers) in the same farm may sound strange, but this gives best of both worlds options... the ability to preserve on hardware costs... minimize user impact, and the ability to quickly roll forward or rollback and with customizations or no customizations, you'll find this ability very useful.
  • Database attach/content database migration - having 2 different farms on different hardware, given it's the right time of the year to invest in hardware... this option is great for really seeing your farm have a clean v3/2007 experience.  I really like the idea of taking a content db and simply taking a good backup, making a copy of the db, and attaching it to the v3 FE's.  Automatically Microsoft Office SharePoint Server (MOSS) 2007 will know to upgrade the content in the database.  There is planning of course on disk space on the SQL side and IIS/DNS namespace for something like this, but as well this gives you options for a quicker upgrade than the side by side, but methodical and easy to roll back.

Read more here.

Since the last couple of weeks I’m spending again some time with BizTalk. Although there is no official training material for BizTalk Server 2006 available yet, U2U is already offering BizTalk 2006 training. So it was about time to upgrade my BizTalk Server 2004 skills!

The first thing that I actually had to search for was the functionality that was previously available in Health and Activity Tracking (HAT). In HAT 2004 you can run queries that display the currently running, suspended ... orchestration instances. HAT is still available in when you install BizTalk 2006, but the Queries menu is quite empty:

A great deal of monitoring functionality in BizTalk Server 2006 has been moved to the Administration Console. This tool offers a centralized place to keep an eye on your BizTalk instances: the Group Hub.

The page above gives a nice overview of what’s happening. Clicking on a hyperlink drills further into the requested report. Cool!

More Posts « Previous page