Was that a bit harsh ?  Perhaps but sometimes it’s how I feel about Sharepoint, for five years now.

I’ve been scratching my head this morning.  I have some list templates as part of my feature that I have defined and I don’t want anyone to be able to create them again once the ListInstance is there.

So as part of my manifest file I have the following.

<ListTemplate Name=”JamList” DisplayName=”JamList” Type=”51003″
Description=”JamList” BaseType=”0″ Hidden=”true”
OnQuickLaunch=”false” SecurityBits=”11″ AllowDeletion =”false”>

Yet the damn thing keeps showing up on the create lists page and it shouldn’t.  Well according to the wss.xsd schema file this is a valid attribute and value yet it doesn’t work.

In the documentation its a valid attribute and will achieve what I want.  But for one minor thing.

In the docs they state the values are “TRUE” | “FALSE”.  Well that’s what I have right ?

Wrong.  The damn boolean value is case-sensitive !

Yeh! you read that right, the XSD defines it as a valid response but actually when it parses it it is case sensitive to boolean values.  But only in certain attributes.  Like this one for instance.  The onquicklaunch allows anything as does the allowdeletion.  But Hidden wants upper case.

Some one on the team is a slack bugger.  And don’t you go hiding behind “that’s how its documented in the SDK”, it won’t wash as many, if not all, allow mixed case boolean values.

Hope if you find this page it solves your problem.

Handy Search Words – Sharepoint, moss, wss3, wss, ListTemplate, hidden, list, create, working, failed, bonehead programmers.

An idea might be to edit the wss.xml schema to remind you that uppercase is the way to go.

Technorati Tags: ,,