Wednesday, December 20, 2006

InfoPath 2007 resources

General resources

InfoPath General Overview

InfoPath team Blog

Designing Form Templates With The New Features Of InfoPath

Using InfoPath E-mail Forms

InfoPath 2007 Focuses on Developers

InfoPath Developer Portal

Creating complex infopath controls in C#

How to do cascading dropdrowns in InfoPath Forms

Template parts in InfoPath 2007

How to make picture buttons in InfoPath 2003/2007


Forms Server 2007

Hosting the InfoPath 2007 Form Editing Environment in a Custom Web Form

Hosting InfoPath 2007 Forms in WSS v3 / MOSS 2007 Pages

Creating Browser-Enabled Forms with InfoPath 2007

How to Deploy an InfoPath 2007 Form Containing Managed Code to a Browser-Enabled WSS v3 Library

Rendering an InfoPath 2007 Form in a Web Part

InfoPath 2007, Forms Server, MOSS 2007

InfoPath Forms in Office SharePoint Server 2007

Plan Forms Services

InfoPath Forms for Workflows

Enterprise Solutions: A Developers Cookbook with Practical Solutions

Information Rights Management - Protecting Forms

MOSS and InfoPath 2007 - IT Showcase - Facilitating effective employee reviews at Microsoft

The anatomy of a UDC file

Where do UDC files come from?

Data connections in Browser Forms

InfoPath attachment control and the InfoPathViewer webpart

Using CAML to filter a infopath published boolean field (from a sharepoint list)

SPListItem looses Property data type when publishing Infopath form to a sharepoint list (MOSS 2007 beta2TR)



XPATH query tool (Free - pretty handy when doing InfoPath development)

XML Notepad 2007



IFP010 - Forms solutions with InfoPath 2007(English description) 


tags: , , , , , , ,

Tuesday, December 19, 2006

Automatic My Site creation with SharePoint 2007

Last week I got the question if it would be possible to automatically create the My Site for a specific user in SharePoint Server  2007. Normally the My Site gets created when the user accesses it for the first time. I got a some advice from a fellow MVP - Pierre  but when I looked at it a little more closely I noticed that some of the classes used in SharePoint Portal Server 2003 are now obsolete.

public static void CreatePersonalSite(string sAccount)

      //get portal site context from topology
      string strUrl = "http://moss";

      //TopologyManager Obsolete
TopologyManager tm = TopologyManager();
      PortalSite ps = tm.PortalSites[new Uri(strUrl)];
PortalContext pc = PortalApplication.GetContext(ps);

//initialize user profile config manager object

UserProfileManager upm = UserProfileManager(pc);
UserProfile u = upm.GetUserProfile(sAccount);



So how does the code look like using the new SharePoint Server 2007 object model.

public static void CreatePersonalSite(string sAccount)
    using (SPSite site = new SPSite("http://moss"))
       ServerContext context = ServerContext.GetContext(site);
       UserProfileManager profileManager = new UserProfileManager(context);
       UserProfile u = profileManager.GetUserProfile(sAccount);


tags: , , , ,


Monday, December 18, 2006

WSP - SharePoint Solution Files

In a previous post I talked about Features in MOSS 2007 and WSS 3.0 - these are a very powerful framework to extend your SharePoint platform. But at a certain point you will still need to deploy these features to your SharePoint servers (be it a single server or a complete web farm).

The best way to do this, is to create a SharePoint solution file - this is basically a cabinet file with the wsp extension.  This WSP file can be used to deploy web parts, template files, assemblies, code access security policies, site definitions or features.

To create a solution file you will need to create:

  • A manifest.xml file to specify what needs to happen
  • A DDF ( data directive) file which tells makecab.exe how to structure your cabinet file. You will need to use makecab since you will need a folder structure within your cabinet file (similar to the structure you will need underneath the "12" hive.

In the previous post about features - I pointed to a nice example of how you can change the Site Actions menu with a feature - here you can download a solution which includes a wsp file. If you rename the wsp file to cab and extract the manifest.xml file you get the contents listed below.

<?xml version="1.0" encoding="utf-8" ?>
<Solution SolutionId="{5DA74A52-818A-4bba-B268-AD5E29361489}"
    <FeatureManifest Location="SiteActionsSubMenuDemo\Feature.xml"/>
    <Assembly DeploymentTarget="GlobalAssemblyCache"
        <SafeControl  Assembly="SiteActionsSubMenuDemo, Version=, Culture=neutral, PublicKeyToken=e9db3057acd9c0f6"
                      Safe="True" />

After you have created the solution, you will need to deploy it  to the solution store which is a central location for all solution files. After you have deployed the solution to a single server, the SPTimer service will  synchronise/deploy  the solution automatically to the other servers in the farm.

Required steps:

  • Add solution: stsadm.exe -o addsolution -filename "solutionname.wsp"
  • Deploy solution - either from SharePoint Central Administration > Go to the Operations Tab - underneath the Global Configuration category you will see Solutions Management.


After you have deployed a solution you can still remove it - this action is called retracting. You can start retraction from the command line through stsadm.exe, from within SharePoint Central Admin or with the object model (Microsoft.SharePoint.Administration.SPSolution.Retract)

tags: , , , ,

Bringing Web 2.0 to the Enterprise with the 2007 Office System

Just stumbled upon this new white paper - Bringing Web 2.0 to the Enterprise with the 2007 Office System . Summary: This white paper explores how the 2007 Office system allows enterprises to adopt Web 2.0 ideas and technologies to create high-value, user-driven applications for the Internet and intranet.

tags: , ,

Sunday, December 17, 2006

Excel 2007 generator with PHP

A colleague of mine - Maarten - has been working on  Office 2007 SpreadsheetML classes in PHP  - definitely check it out :


In my evening hours, I've been working on a set of PHP classes to create Offixe 2007 SpreasheetML documents (.xlsx files). I finished my first goals (some basic XLSX writing), and I want to share this set of classes to the community.


Currently, the following features are supported:

  • Create a Spreadsheet object
  • Add one or more Worksheet objects
  • Add cells to Worksheet objects
  • Export Spreadsheet object to Excel 2007 OpenXML format

Each cell supports the following data formats: string, number, formula, boolean.

Visual formatting is not implemented, but I'll get to that later.

tags: , , ,

Visual Studio 2005 SP1 released

Visual Studio 2005 SP1 has been released - check out MSDN for more info - there's also a great blogpost from Heath Stewart about slipstreaming Visual Studio Service Pack 1 . For  developers using Windows Vista - they also released a beta of the Visual Studio 2005 SP1 update for Windows Vista

tags: , , ,

Wednesday, December 13, 2006

Features in MOSS 2007 and WSS 3.0

The Features framework is something completely new in both MOSS 2007 and WSS 3.0. This framework enables you to package SharePoint functionality (be it a SharePoint list definition, a site definition, some web parts, UI components, or a combination of the previously mentionned ...) and to deploy it in a flexible way on a SharePoint server. It provides a more granular approach for adding functionality since you don't need to wrap your new functionality anymore in a site definition. For a detailed description take a look at Working with Features

What is interesting to now is that the SharePoint team has actually used this feature framework itself to built WSS 3.0 and MOSS. E.g. all the standard built-in list types are created as separate features. You will find them underneath c:\program files\common files\microsoft shared\web server extensions\12\templates\features\  - for an overview of which of these features are linked to MOSS and which to WSS - take a look at What's a MOSS vs WSS feature.

So if you navigate to  C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES\AnnouncementsList you will see the feature.xml for the announcements list.

<?xml version="1.0" encoding="utf-8"?>
<Feature Id="00BFEA71-D1CE-42de-9C63-A44004CE0104"
<ElementManifest Location="ListTemplates\Announcements.xml"/>

If you look at it from a developers stand point a feature is actually nothing more then a couple of XML files and their associated resources. Which are the most interesting "features of features":

  • Possible to extend existing sites "Light up"
  • Activation and deactivation of features

Every features is scoped at a certain level:

  • Farm
  • Web application
  • Site Collection
  • Web

So if you need to deploy a certain component for a specific type of site (so actually a specific site defintion) you can actually use a feature for it - for a complete discussion of how to do this take a look at the post about Feature stapling


So what do you need when you create a new Feature - a very simple feature will just require to simple files:

  • MyFeatureName.xml : defines the feature itself and the different components linked to this feature
  • Elements.xml :  definition of the separate components - the feature.xml actually references Elements.xml

 It is also possible to hook up your own event handlers with activation and deactivation event of features. Take a look at  Feature Events - these feature provisioning callouts allow you to write code that handle specific events that occur in the lifecycle of a Feature.

The easiest way to learn more about features is to take a look at the OOTB features available as well as to the resources listed below.

Some interesting uses of features:

Creating ContentTypes in SharePoint 2007 by using a feature
Activating Features in a site definition in SharePoint 2007

Making development easier with the SharePoint Feature Manager
Feature Explorer

Adding site colums to Office SharePoint Server by using Features

Adding sub menus to site actions in SharePoint

tags: , , , ,

Tuesday, December 12, 2006

SharePoint 2007 upgrade - Technical and Business?

Mauro recently wrote down some random thoughts on WSS 3.0/MOSS 2007 - I'm going to quote a piece which I think was very important :

Speaking of upgrade, I think there are two types: Technical and Business.  I've seen a lot written already about the various options for upgrading (in-place, side-by-side, etc.).  These are all METHODS of the Technical Upgrade.  The goal is to simply stand a V3 instance of a V2 portal.  This is very different than a Business Upgrade.  Here we focus on leveraging new features, redesigning outdated taxonomies, etc.  When I present, I explain these (I'm a visual person) as two steps: (1) Lateral (my hands move left to right) to explain a technical upgrade and (2) Upward (my hands my up) to explain a business upgrade.  Both are different; each requires its own planning.

tags: , , , ,

New blog on SharePoint 2007 Search

Lawrence pointed today to a new blog on SharePoint 2007 search from Mike - some interesting posts:

tags: , , , ,

Links roundup for course SharePoint 2007 for Admins

Last week, I was teaching another course of SharePoint Server 2007 for Administrators - one of the custom courses I wrote in the last year when doing all the SharePoint 2007 beta testing. I promised to my students a couple of links - so here they are:


Installation instructions

tags: , , , , ,

Saturday, December 09, 2006

OBA Reference Application for Supply Chain Management

Microsoft recently released the Reference application pack for an OBA (More about OBA here - Office Business Applications - crossing the chasm ) for supply chain management (SCM). Download RAP for SCM -  it will get you up to speed with what Microsoft actually means with Office Business Applications. I don't know if we can expect some other reference application (Update: it seems that there is already another one available - Reference Application Pack for Retail using WCF, Biztalk and Business ScoreCard Manager) since Microsoft actually expect us to build OBAs targetted at specific industries or specific functional domains - all the different components are available in 2007 Office System now we only need to knit them together to create our own solutions.

PS I also found this interesting video - Channel 9 - Lewis Levin on Office Business Applications


tags: , , , , , , , ,

Monday, December 04, 2006

SharePoint 2007 workflow development

The number of online resources about workflow development on the SharePoint platform is finally increasing. If you want to start doing workflow development on MOSS 2007 yourself, you will first need to download the next two resources:


First start of by reading about the basics of workflow in WSS and MOSS:

Understanding Workflow in Windows SharePoint Services V3 and the 2007 Microsoft Office system

Developer Introduction to Workflows for Windows SharePoint Services V3 and SharePoint Server 2007

Introduction to SharePoint Workflow


Also take a look at the series of workflow articles by Eilene Hao on the SharePoint Blog - these are a must read:

Developing workflows in VS: Part 1 - Workflow objects and a crash course on mechanics

Developing workflows in VS: Part 2 - Planning your workflow : two things to keep in mind

Developing workflows in VS: Part 3 - Five steps for developing your workflow

Developing workflows in VS : Part 4 - Design and bind your forms

Developing Workflows in VS: Part 5 - Code Your Workflow

Developing Workflows in VS: Part 6 - Deploy and Debug your workflow

Developing Workflows in VS: Part 7 - Summary and Final Thoughts


Some other resources:

Workflow Activities for Windows SharePoint Services Overview

How Windows SharePoint Services Processes Workflow Activities 

Workflow Initialization in Windows SharePoint Services 

InfoPath Forms for Workflows 

Windows Workflow Foundation

Walkthrough: Using the SharePoint Server 2007 Approval Workflow

Workflow Tips (Part II - Collect Feedback)

Workflow Tips (Part I - Configurable Approvers)

A WorkFlow that Uploads a Document via a Task using an InfoPath Form

Creating Workflows for Windows SharePoint Services  (Virtual Lab)

Creating Custom Workflows with SharePoint Designer 2007  (Webcast) 


tags: , , , , , ,

Sunday, December 03, 2006

Funcast about blogs and wikis

Bart his funcast about blogs and wikis in Windows SharePoint Services 3.0 is now available for viewing - for those of you who have missed it - take a look at it here


tags: , , , , , , ,

Saturday, December 02, 2006

Office Business Applications - crossing the chasm

It has been a couple of months since I first blogged about Office Business Applications and LOBi for Office SharePoint Server and More about LOBi, SharePoint 2007 and Office Business Application (OBA) services .

At TechEd Europe - I attended an interesting whiteboard session together with some members of the Office Business Applications (OBA)  team (Joanna Bichsel , Rob Barker, Chris Bryant and Matt Hallett ).

So what is OBA all about -  I think a great intro is the blogpost from  Erik Ehrli - Office Business Applications - what is it, and how can I get started? 

Also take a look at the video on Channel 9 - Office 2007 - Office Business Applications. Basically you should think of OBA as an excellent example of composite applications - these applications will either use the SharePoint UI or Office clients as your primary UI and will use all of the different capabilities of the new 2007 Office System platform  such as the Business Data Catalog, search, workflow, Excel Services, the new Open XML formats, the UI extensibility and the different WSS core features such as the web part framework. This cleary positions Office 2007 as a suitable platform for building applications - see Office 2007 the next platform for Business Applications

So why am I talking about crossing the chasm (and no, I'm not talking about the book by Geoffry Moore - allthough I think it is an interesting book)? What I am referring to is the gap between the way that systems work and the way that people work. There have been huge investments in system software such as CRM and ERP systems but these systems are not widely accepted in most organisations because they simply do not fit the expectations of the typical end users - people who spend most of their time in applications such as Outlook, Excel and Word.  So what we are waiting for are applications which will enable us to cross this result gap.

There is another post which talks about this issue with another metaphor - talking about the last mile of productivity problem. This post also talks about the different characteristics of this next generation of applications:

· Easy to use –  allow users to use familiar and powerful Office clients for information consumption

· Role-Based –  are not one-size-fits-all, but have role specific interfaces for greater productivity and decision making

· Collaborative – are collaborative, allowing people-to-people interactions, and address the ad-hoc business activity surrounding a business process

· Configurable –  are highly customizable, by end users and IT alike. As the business landscape changes decision makers can customize these apps to adapt and enable the change

· Contextual –  allow users to make decisions in the context of business problem(s) they are working on

There are already a couple of examples available one of the better know is the Dynamics Snaps project. I will probably be posting some more stuff about OBA in the future.

tags: , , , , ,

Bringing XBOX back

Another funny video -  Bringing XBOX back ...

tags: ,

Mac Attack on soapbox - way funny

Take a look at this Mac attack ...