USPJ: Content Types in next issue

The next issue of Understanding SharePoint Journal is due for release in about a week, on March 30, 2009. The topic this time is SharePoint Content Types.

I’m experimenting with different formats for the journal, so this issue will be different from the first issue. This time, the journal is not focused on a single solution, but rather on teaching several concepts on SharePoint content type development and answer a range of questions rather than just a single question. The table of contents for USPJournal issue 2 was just posted to the website, so you can get a preview and check out the questions and scenarios that will be addressed.

Also, I posted the topic schedule for the next four issues on the mailing list today, and I’ll be posting a discount code for the second issue on Friday March 27, so don’t just sit there, sign up now!


Found this article valuable? Want to show your appreciation? Here are some options:

a) Click on the banners anywhere on the site to visit my blog's sponsors. They are all hand-picked and are selected based on providing great products and services to the SharePoint community.

b) Donate Bitcoins! I love Bitcoins, and you can donate if you'd like by clicking the button below.

c) Spread the word! Below, you should find links to sharing this article on your favorite social media sites. I'm an attention junkie, so sharing is caring in my book!

Pin It

8 Reasons why SharePoint is Bad for Your Business

SharePoint has received a lot of hype recently, and it seems that everyone is jumping on the collaboration bandwagon. I say you’re all bonkers, so I’ve decided to put together a list of reasons why SharePoint will really hurt your business.

1. If it worked in ‘98, it should work today

Come on, learning new stuff all the time takes a massive amount of effort. Training people to work in a different way costs money.

Why not just get to know the existing technologies instead? ASP is a great idea. CGI hasn’t lost its touch. Stop forcing progress on everyone.

2. Why would you need yet another way of sharing content?

There’s Flickr, YouTube, SlideShare, FaceBook, and I’m sure there’s at least one or two more. I don’t need yet another place to store or share my documents.

All the talk about storing content in-house is fine until your house burns down and you loose all your data, and from what I’ve heard, backing up a SharePoint server is really difficult for someone who has never done it before.

Besides, I know how to share a document on the file server. Leave me alone!

3. Efficiency leads to job loss

If everything was automatic we wouldn’t have any jobs. Having more efficient business processes leads to layoffs and that is a bad thing for people in these troubled economic times.

Take one for your country and print one copy of this page to everyone in your organization. Then, send said copies by postal mail to all the employees. You’ll keep the paper industry, the postal service, and a lot of stamp designers happy and in business.

4. No built-in support for real-time movie sharing

There’s no way you can hook your camera into SharePoint and have it stream whatever you like onto people’s browsers. I mean, if you want to invest in collaborative technologies, the least one should expect is to be able to send live images to however you want. At any time. Preferably even if their browsers are closed.

SharePoint can’t do that. Feature lacking just doesn’t cover it.

5. Extensibility? Bah, extend this!

Why would you want to extend a bad product? That only means you get more of the bad product, right? And if SharePoint was so great it should solve all your problems, so why would you even need extensibility?

I say: Give me a solution that can solve or my problems out-of-the-box, or give me nothing.

6. SharePoint isn’t open source

If you can’t see what goes on under the hood, how can you be expected to know what will happen? I don’t care if you can reflect the files and see that way, because that means you have to install a program to see the source code.

Can you imagine the disaster that would happen if there was a bug in SharePoint? The whole economy would collapse. You just can’t trust a piece of software you haven’t written yourself.

7. SharePoint consultants are expensive!

You can hire three self-taught PHP developers for the price of one really good SharePoint developer. Three times the number of people means three times more work done, right? You should measure employees by quantity, not quality, especially when you consider item 3 in this list.

Keep more people in jobs and go with a legacy system requiring more maintenance.

8. SharePoint requires your organization to have a plan

I have installed SharePoint and I didn’t get rich. Sure, now someone tells me I need a purpose, and that I actually have to know which business problems I want SharePoint to solve _before_ I go for SharePoint.

I’m busy, and you are likely too, so worrying about business problems and planning ahead is just too massive an undertaking.

Well, I hope I have set the record straight on how many problems you will have if you want to go down the path of SharePoint.


(In case you don’t realize, this is a sarcastic post. SharePoint is only bad for your business if you approach it the wrong way, have the wrong expectations, or just don’t realize what SharePoint can do. Stop posting ridiculous comments about my heritage; my mother is not a goat)

Pin It

Question: Why are there always two constructors in a SharePoint custom field type class?

I’ve worked a bit recently on custom field types in SharePoint for an upcoming Understanding SharePoint Journal issue. Actually, I’ve worked with custom field types for a long time, one of my first WSS3 project involved creating a cascading custom field type. Looking back I think it would have been easier, and less painfull, to eat my own eyes.

One thing that puzzled me in the beginning, which actually puzzled me still, is why you must always have two different constructors in your field type class. Just the other day a friend of mine asked about this when he looked at one of the field type classes I made for him.

public MyFieldType(SPFieldCollection fields, string fieldName)
: base(fields, fieldName)

public MyFieldType(SPFieldCollection fields,
string typeName, string displayName)
: base(fields, typeName, displayName)

The short answer is: Don’t ask.

The reason why you shouldn’t ask is that the answer cannot be made short in any situation. The answer is actually closely tied to the problems you face if you try to store custom field type properties.

As you may or may not know, storing custom properties for columns based on your field type is actually impossible, or at least incredibly difficult. The reason is that there are two different objects created from the same class that are responsible for creating a new column based on your field type. These two objects are not only completely separate objects but perform completely different tasks in the column creation operation. One objects handles the custom property input while the other object is responsible for creating the column in the list.

You’ll have to wait for the journal issue that deals with custom field types for the deep details on how custom field types work in SharePoint, but at least you should know that the two constructors are there to create two different objects.


Pin It