Monday, July 30, 2007

BDC writing back baby!

Nick from has done it! Check out the article he posted about writing back to the datasource using the BDC at Business Data Catalog Read and Write- You got it!
Grab your copy of the BDC Meta Man here

We've been working on BDC Meta Man for little over a year now. Along with the first release I think the feature I can show you today is just as exciting! I've always known that being able to write back to a business data catalog source was possible, but finding the time to create the new functionality was the reason for it taking so long. I also wasn't 100% sure that Microsoft would want us to make the BDC 'writeable' as in most presentations I'd seen they always say it's a read-only solution. Well if you dig into the SDK it is possible to find that they don't mind it being a write back solution..


Technorati tags: , ,

2003 : Cannot add links to SiteDirectory anymore

Well funny thing happened last week, a power-user reported that when creating a site using the portal he couldn't get further when he reached the 'add site to SiteDirectory page'. If he clicked on OK, the button just grayed out and the same applies to the "Cancel" button. Using my dear friend Google I found the cause and the solution! So, the cause was Service Pack 2 for Windows 2003 as described in this KB Article. As described in the KB article there is no support from MS yet but googling further I found the following solution by Neal from SPS2003 Add Link to Site not working and Read SPS2003 - Cannot Add To Site Directory- It’s a feature!:


I had the same problem and didn't feel like removing SP2 so I came up with
the following solution:

1. Open this file in a text editor:

C:\Program Files\Common Files\Microsoft Shared\web server extensions\60\TEMPLATE\[LCID]\SPSSITES\LISTS\SITESLST\NewForm.aspx

(Replace [LCID] with your locale identifier, 1033 for English)

2. Find this code fragment:

<SPSWC:InputFormButtonSection runat="server">
<SPSWC:InputFormButtonAtBottom ID="ButtonOk" runat="server"
<SPSWC:InputFormButtonAtBottom ID="ButtonCancel" runat="server"
TextLocId="Page_CancelButton_Text" visible="false" />

3. Replace it with this code fragment:

<SPSWC:InputFormButtonSection runat="server">
<!-- Workaround for WIN2003SP2 issue:
<input type="button" value="         OK         "
onclick="document.forms[0].submit()" />
<!-- <SPSWC:InputFormButtonAtBottom ID="ButtonOk" runat="server"
TextLocId="Page_OkButton_Text"/> -->
<!-- End workaround -->
<SPSWC:InputFormButtonAtBottom ID="ButtonCancel" runat="server"
TextLocId="Page_CancelButton_Text" visible="false" />

4. Thats it;-)

Hope this helps...


Wednesday, July 25, 2007

Friday, July 20, 2007

(Approval) Workflow thingies continued..

As promised in my previous post (Approval) workflow thingies "I promise.. heck maybe I will do a screencast about this as well! ;)"

So here it is.. in this screencast (without audio so just have to look real good at what i'm doing ;)) I'm gonna show you how to promote fields from InfoPath to Sharepoint columns and use those columns to populate the task that is created by the workflow using SharePoint Designer. Thereby giving the approver the information he/she needs without having to open the document.

You can download the clip here

Tuesday, July 17, 2007

Filter by year

I got a question by a customer who wants to filter listitems on a specific year (eg. show me all the items from the year 2007). It's not that difficult to achieve since you only have to build a calculated column and use that column to get the year from a date column (like the created or modified date). So what I did was go to Excel and use the formula which I thought was the correct one and that was : =Year([DateColumn])
So I ended up with the following column..

As you can see.. there is a decimal breaking up the number (although the columntype is 'single text column'). Getting back to Excel, I checked the format of the cell and there I found the following:

If the 'Use 1000 separator' was checked, the year was also broken in Excel. So I found the cause of my problem! Now.. where do you uncheck the separator in SharePoint eh?
Well .. I couldn't find it, but I found another solution while I was googling and that was:  =TEXT([DateColumn],"yyyy") (
And voila check out the following screenshot with the desired outcome :)

 Btw if you receive errors when you  typed in the formula, it could be due to the separator character. For example if your regional settings are Dutch, the formula looks like =TEXT(Created;"yyyy"). Mind the ';' character instead of the ',' character (see also the KB article that I mentioned)


Technorati tags: , ,

Monday, July 16, 2007

Found another cool blog!

Ah man... when you are clicking trough links from one blog to another, sometimes you stumble upon new cool blogs. The second (for me) new blog I found today was Jose Barreto's Blog!
Here are a couple of links:

Q&A for Course 5249 – Customizing and Securing WSS 3.0

Q&A for Course 5248 – Maintaining and Optimizing WSS 3.0

Q&A for Course 5247 – Administering WSS 3.0

Q&A for Course 5246 – Deploying WSS 3.0

Q&A for Course 5245 - Planning the WSS 3.0 Environment

Integrating SharePoint with other portals and web applications


I promise that the next post will be from myself for you to blog about ;)


Technorati tags: , ,

InfoPath development articles

Sharepoint MVP Adam Buenz has posted 18 InfoPath development articles. So if you are new to InfoPath developing or just wanna know what his approach is (he is MVP so..  probably would make sense that it's good eh? :)), I recommend that you read the 18 New InfoPath Development Articles!
Browsing his blog, I stumbled upon the following posts that are worth mentioning :

Technorati tags: , ,

Friday, July 13, 2007

SPD.. nice to have

Wouldn't be nice to have the ability in SPD when you are creating workflows to copy/paste some blocks instead of clicking all the same things together for each step?  Doesn't matter if it's about the conditions or the actions. Either way it would save a lot of time and it would be more efficient don't you think? :)



Technorati tags: ,

Underscores and hostnames

As you can read from the following post Underscores are evil: IE may block SP from using session cookies by Sean, it's not recommended to use underscores in your hostnames / urls together with SharePoint (or any other webapp that depends on cookies). And here is why plus how you can fix it if you used an underscore :

Historically, the underscore character has been allowable for NetBIOS names but not allowable as host names according to RFC 1132 [ ] except as the *first* character in certain circumstances. Over the years as Microsoft has taken various positions toward standards compliancy there has been inconsistency across MS implimentations. Additionally, the underscore has widely and popularly used in DNS hostnames in spite of the RFC restrictions.


DON'T just rename your machine. The machine name is hard-coded throughout the SharePoint config files and database and throughout the registry for various applications.

 DO set up an Alternate Access Mapping so that users can interact with the site using a different URL. Go to Central Administration > Operations > Alternate Access Mappings and use the Add Internal URLs option. For a quick fix, i just added a new hostname to our internal DNS and then added the FQDN as an Internal URL for the "Intranet" zone.

So thanks Sean! :)


Technorati tags: , , ,

Monday, July 09, 2007

More and more articles about capacity planning and performance

From the godfather and guru of SharePoint (aka Joel Oleson) comes this nice post about articles that are released about perfomance and capacity planning

A number of new articles around performance have been published rounding out some great content on capacity planning, so rather than update those old posts where people have marked them as read, I've put together a more complete list of links to performance content and grouped it by product and scenario.  In addition I'd like to announce a paper we've been working on which will help you better plan for scalable lists and libraries with best practices on what methods to use for the best performance.  Note, some of the links are listed 2-3 times as they relate cross category.

By Product

WSS 3.0

MOSS 2007

By Scenario

Portal & Collaboration

ECM: Records Repositories and Document Management Repositories

ECM: Internet/Web Content Management


Excel Services

Technorati tags: , , , , ,

Thursday, July 05, 2007

If you fail to plan, you plan to fail!

Nice oneliner eh? Well it ain't mine though (or Steven Segal's).. it's from Joel Oleson who posted some governance posts on the SharePoint Product Group blog:

  • Windows SharePoint Services Manageability Controls (Governance Series Part 1 of 5)
    This article, authored by Dan Holme with some help from myself, give you some background and lay the groundwork for what the nobs and controls are in a deployment.  I've recently been saying, Exchange is about hosting Mailboxes and SharePoint is about hosting Site Collections, but that statement might be 90% true.  For you the answer actually might be it's about hosting Web Applications or Sites.  For example... the question do I use a web application or a site collection or a site collection vs. a site is explored here.  This paper lays the framework for the other papers that use the terminology in this paper.  If you prefer to read ahead the links to the other papers are included.  I do recommend reading the actual whitepapers for the best readability and to view the applicable images.
  • Information Architecture and Management Controls in WSS 3.0 (Governance 2 of 5)
    This paper by Dan Holme will explore four common usage scenarios such as Light Document/Content Management, Collaboration, Meetings/Workspaces and Individual expression. He explains the management/governance controls around each of these scenarios.  I hope you find it insightful.  There's a lot of good guidance based on the experience of MS IT and you'll see some of my recommendations and experience coming out in this paper as well. 


(Approval) workflow thingies

This has been on my mind for a couple of months and now I have the time to write a proper post about it. It's about the user-friendliness of using custom workflows (or the default out-of-the-box even) on documents or in my case particularly: InfoPath Forms. The problem I am facing is that the customer finds it weird (and it is believe me) that approving a document or form requires a lot of steps that are not linked to each other.

  1. A task is created for the designated user.
  2. An email is sent to the user regarding the task
  3. The user clicks on the link in the email to open the task in the browser
  4. If you use the out-of-the-box workflows you get a nice InfoPath form where you can approve/reject the document and if you turned the option on, you can also reassign the task. If you didn't use the out-of-the-box workflows and opted for the 'create task' option in Sharepoint Designer when you designed the workflow, you only get a simple 'Ok' and 'Cancel' dialog.
  5. Up until here the user has no clue what the document is all about, so he needs to click on the document link to open the document . Then he needs to close the document, go back to the task and approve/reject/reassign the task.

So if you catch my drift, the user must two separate things :
- Open the task and complete it
- Open the document and review it

Now wouldn't be nice if the user gets an overview (and here is why my rant is about InfoPath forms) of all the information in the task itself. Therefore gaining a huge amount of efficiency because the user would not have open the document to review it and it's just 'one' step to accomplish the task. Also the user is presented with this information already in the email that is sent by the tasklist. In order to accomplish this, you should the following :

  1. Promote the fields in your infopath form to list columns (remember you can't promote repeating tables (well at least you can promote the first row :)) 
  2. Publish your InfoPath form as a content type and use this content type in the task list
  3. In Sharepoint Designer for each new task you wan to create, don't (!!) choose the 'create new task' option but rather choose 'create new listitem' and choose the tasklist
  4. Set the values of the columns from the tasklist the same as the 'current' columns from the form (basically you are copying the values from the form to the taskitem)
  5. You're done.. now the user gets information about the document/form when he or she receives the email that a task is awaiting for them.

Now to make it even more prettier you can also extend the toolbar of the taskitem to include an 'approve/reject' button in which you redirect the user to a similar form like the one that comes out-of-the-box. I will post a code example of this later on .. I promise.. heck maybe I will do a screencast about this as well! ;)

Technorati tags: , , , ,

Wednesday, July 04, 2007

Book reviews

What's better than coming home from a (well-deserved) vacation and getting two additional free books to review eh? :)

The first book is called "Essential SharePoint 2007, Delivering High-Impact Collaboration" and is about the functional capabilities that SharePoint 2007 has to offer. So instead of going deep into the technical stuff, this book covers several scenarios in what are the best ways of getting the most out of SharePoint 2007. For example it covers the discussion, as seen on the SharePoint blog, about using SharePoint 2007 to replace fileshares. In addition (and this is why I love this book already) it gives you some examples on how to setup and write plans to cover the gaps to get from high business level right down to implementation.
This book is aimed at architects, (functional/business) consultants and in a smaller sense developers.

So coming right down from a 10.000ft view of the product, the next book is about programming in SharePoint.

This second book is called "Microsoft SharePoint 2007 Development Unleashed". In the first chapter you are taught using CAML and then from there the book is divided in the following main chapters:

  • programming using the object model
  • programming the enterprise content, this goes into creating Business Data Catalog
  • programming using Web Parts
  • programming using the webservices

I think the book is aimed too high when it says it's useful for the current generation of SharePoint developers because the difficulty level is way to low and most of the things you should have done in 2003 and/or you can find in the SDK. As I Googled on the book I came across another book review just posted 2 days ago by Edhild: Book Review- Microsoft SharePoint 2007 Development Unleashed and somehow he has the same feeling about is as I do.


Get the book about the functional capabilities and leave the programming book on the shelf :)



Essential SharePoint® 2007: Delivering High-Impact Collaboration by Scott Jamison, Mauro Cardarelli, Susan Hanley
Microsoft® SharePoint® 2007 Development Unleashed by Kevin Hoffman, Robert Foster


Technorati tags: