Monday, August 24, 2009

SharePoint Server Limits

Often I get asked in classes what the limits are for SharePoint. Like how many files can I have in a document library and how many folders, how many lists in a site etc.
Microsoft published a really nice whitepaper on technet covering loads of limits, from how many user profiles per farm to how many items in a list.

One thing to keep in mind though: IT IS ALL RELATIVE

Having 50000 items in a document might be quite feasible on the right farm, but if you're using your SQL Server for other stuff and he is running at max speed anyway (150+ Transactions per second for example) you will feel the pain faster than when he's got 4 quad cores, 20GB of Ram and is generally quite bored (10-50 Transactions per second)

Another good post I managed to scrouge of the internet is on the limit of columns in a list. The above article claims you can have up to 256 different field types in a list and up to 4000 columns. But can you? If you ever come across the column limit exceeded error message or your columns are not behaving the way they should (filtering not working properly for example) then you have reached the field type limit.

These were the settings for WSS 2.0 and SPS 2003:

64 Single line of text and Choice (drop-down menu or radio buttons)
31 Multiple lines of text and Choice (check boxes (allow multiple sections))
32 Number and currency
32 Hyperlink
16 Date and time
16 Lookup
16 Yes/No
8 Calculated

in WSS 2.0 these limits were set and they were transferred to WSS 3.0 Although they are not enforced the same way no more and you can end up creating more than those in some cases, expect the system to start acting up and behaving badly when exceeding those limits.

Thursday, August 20, 2009

Edit only your own on document Libraries

This is another one of those features which people cry for. You have that option on Lists via the advanced settings but not on libraries. WTF?
Well, it has to do with the implementation of that feature. Which is pretty bad by the way. The edit only your own setting does not integrate into the permission model but is a final check before an item is saved. Thus it does not work well with items which can be saved without the use of an application page, like from within word directly.
There are some blogs out there suggesting reactivating the feature on libraries using some code and following functions

but that does not get around people saving directly from within office.
Thus the only way right now to achieve something proper and stable is to create an event handler catching the modified event which checks who the creator was and responds accordingly.

Wednesday, August 19, 2009

Browse button on Send To Other Location in SharePoint

Wilson has put together some time ago now a great little article on how to add the object picker aka a browse button to the "Send To" page in SharePoint. this has been an asked for feature by many customers and the solution is not that hard. it includes creating a custom copy.aspx, a custom core.js and a custom site definition.

You could also create a feature which adds the custom copy.aspx page to the ECB context menu of an item, but you would end up with two send to options in the context menu.

I prefer the feature approach as it is more resillient to change and service packs. Modifying the core.js means you need to check for changes after each update to make sure that the old core.js syntax still works with the new updated version of sharepoint.

Tuesday, August 18, 2009

Enabling Content and Structure tool in non Publishing Sites

Often I get a request for having the content and structure tool available in the Site Actions on a normal collaboration site. This is often the case when the root of the portal has the publishing feature activated and then subsites were created using the team site template. The solutions is pretty simple and can be achieved easily using a feature.
All you need to do is create a feature which adds a link to /_layouts/sitemanager.aspx to the Site Actions menu.
Site Owners can get to this link already via Site Settings in the collaboration site, but site members have no access to the site settings page and thus it seemes that site members can not access the content and structure tool from the subsite.
Below is a sample feature and elements xml to create the missing link in the site actions.
<?xml version="1.0" encoding="utf-8"?><Feature Id="FEAD7313-AE6D-45DD-8260-13B563CB4C72" Title="Content and Structure Site Actions" Description="Enables the Content and Structure Site Actions Menu Item" Version="" Scope="Web" Hidden="FALSE" DefaultResourceFile="core" xmlns=""> <ElementManifests> <ElementManifest Location="menu.xml" /> </ElementManifests> <ActivationDependencies> <ActivationDependency FeatureId="A392DA98-270B-4e85-9769-04C0FDE267AA" /> </ActivationDependencies></Feature>
<?xml version="1.0" encoding="utf-8"?><Elements xmlns=""> <CustomAction Id="ContentStructureMenu" GroupId="SiteActions" Location="Microsoft.SharePoint.StandardMenu" Sequence="20" Title="Manage Content and Structure" Description="Reorganise content and structure in this site" ImageUrl="/_layouts/images/SMT_SMALL.png"> <UrlAction Url="javascript:window.location='{SiteUrl}/_layouts/sitemanager.aspx?Source=' + encodeURIComponent(window.location)" /> </CustomAction></Elements>

Enabling discussion boards for email interaction

Funnily enough I have not found many people complaining about the lack of proper email integration with discussion boards. Probably because they are all using Outlook 2007 by now :-) and there you have full Discussion Board integration just like you can integrate tasks, contacts and calendars.

Within Sharepoint there is the option to accept incoming emails for lists and libraries. This feature works like a dream. First you configure your incoming email settings in Central Administration (Operations Tab) and then configure an incoming email address for the list or library in its settings (Communications column beneath RSS settings).

So far so good. Now you should be able to start new discussions simply by sending an email to a discussion board. An example email address could look like . Cool! But how do you reply to a thread?
This is where the main option is missing. You can only reply to a discussion if you subscribed to it and received the discussion in your email. But guess what, that option does not exist in SharePoint.
You might think, "hey, let me try alerts" And although they are a great tool for all other kinds of lists and libraries, they are not meant to be discribution channels for discussions and thus replying to an alert will not get you anywhere near where you want to be. Two problems. first, the sender is a fixed email address for all alerts, so replying to it will not end up in the list that you want to end up in, and secondly the format of the email is totally wrong for email threads.

Now If you posted the original thread via email, opened that email from your sent items, replied to it by including the original text in the email and changed the To: email to the one of the discussion board, it would actually work! Whopee!
So SharePoint is clever enough to strip out the "Re:" bit, match the subject up and also match up the body to figure out which post you're replying to.

Thus the only feature which is really missing is the Discussion Subscription mechanism and the distribution of discussions to the subscribers.

There are a few options thinkable. Now these are just hypothetic...
1) Create an event handler for the discussion board which reads out the alerts set up on the item/list and sends an email to the subscribers.
PRO: simple to set up and maintain
CON: users receive two emails, the subscription and the alert.

2) Create a feature which replaces the alert feature on that discussion board and maintains its own list of subscribers which then get "spammed" through an event handler.
PRO: users only receive on email
CON: need to create additional User Interface components for subscribing and unsubscribing to discussions and discussion boards

3) Create your own custom email alert handler to catch the alerts and reformat them by adding the original body and changing the reply to field to the list's email address. here is a great article to get you started on this route:
How to create a custom email alert hander by Microsoft
Just the SPUtility.SendEmail function does not allow you to specify a reply to address, so I would use a different email sending function such as the built in smtp functions in System.Net.Mail.

Two great articles on customising alert templates in general:
1) How to customise the built in alert template by Brett Lonsdale at Combined-Knowledge

2) customising Alert Templates in WSS 3.0 on the SharePoint Team Blog

I've tried playing with the custom alert handler and got as far as sending out minimal streamlined emails but the date stamp on the email is different and thus the email hander is not clever enough to match them up. thus you would need to write your custom incoming email handler for the discussionboard as well. here is a link to get you started:

Wednesday, August 12, 2009

Showing multiple Content Types in the Content Query WebPart

A common myth is that it is not possible to show multiple different types of content in one CQWP. The trick is that it can not be done using the web interface but can be achieved either via SharePoint Designer or by editing the source xml of the web part directly. The trick is not to think content types but list/library types. you can create a custom search query which will look in multiple different lists by the list type id and pull out the items. as long as the content types you are aggregating are related in a parent/child relationship they will be pulled together. Thus you can create a content query webpart which shows both web pages and documents in one list.

Effectively you need to add two attributes to the CQWP
ListsOverride="<Lists BaseType='1'></Lists>"

The ListsOverride is the important bit. Here I'm specifying any list which is a document library, as web pages live in document libraries it works like a charm.

Tuesday, August 11, 2009

Damsel's Den - The Dragons Pitch to You

It’s about time the tables were turned and the “dragons” (actually a neat group of business angels from Angel HQ) pitched to the entrepreneurs. Come along and find out who they are, what they’ve done, what networks they can access, what other investments they’ve made and how they’re going etc, and of course what they look for in a great opportunity to invest in.

In true UP Style, this event will be fuelled by pizza and beer.To RSVP for Damsel's Den visit >

Incoming Email woes in SharePoint 2007

A common error you will get is "Error in the application".

If you're having problems with activating an incoming email on a list or library in WSS or MOSS (only when activating the automatic contact generation in an OU) then you probably have one of two problems.
Either you forgot to give the CA Service account enough permissions on the OU group or you don't have Exchange installed. Yes, you need exchange to use the OU feature. As SharePoint tries to add some attributes to the AD objects, and exchange makes them available.

here is a nice blog explaining some of these issues:

Sunday, August 9, 2009

Best SharePoint Training

The time has come where I can learn from the best there are.
Without a doubt Bill English (mindsharp) and Steve Smith (combined-knowledge) count to the top SharePoint dudes around and I have the priviledge to study their material. I'll be in the UK for the next three weeks to get up to scratch on their material and am looking forward to passing the knowledge on, once I'm back in NZ.
Sounds simple? Not at all. I'm totally freaked out! These folks know SharePoint inside out and expect nothing less of me. So the last few weeks was spent reading, researching and reading more to prepare for the upcoming course and teach back. Wish me luck and who knows, maybe I'll be teaching the best SharePoint training material there is in a city near you soon.

Friday, August 7, 2009

Gadgets, Games and Geeks

Wellington’s Leading Techfest - Returns This Month with Silicon Valley-based Keynote Speaker

This month the eagerly awaited annual Gadgets, Games and Geeks showcase of Wellington’s vibrant and thriving information and communication technology (ICT) sector will take place at the St James Theatre on Courtenay Place.

Geeks, Gadgets and Games, to be held on Monday, August 24 from 4.30pm, offers an exciting opportunity for the public to see both the latest innovations and catch-up on industry trends, developments and expertise. Organised by Wellington’s leading networking organisation for ICT professionals, Unlimited Potential (UP), Gadgets, Games and Geeks has established itself as the premier showcase and networking event for Wellington’s ICT sector.

“It is always exciting to bring to the public’s attention the latest innovations from a city that has earned a reputation as New Zealand’s ICT capital, having spawned such innovative businesses as Trade Me, Weta Workshop and Xero,” said UP chair Tom Reidy.

“Gadgets, Games and Geeks is a great opportunity for anyone interested in what’s hot in Wellington’s IT space to view the latest gadget, game or geek-friendly technological innovations produced by some of Wellington’s smartest IT inventors, suppliers, manufacturers and entrepreneurs.”

UP is especially pleased to announce it has secured renowned Silicon Valley-based IT entrepreneur, Bill Reichert as the event’s keynote speaker. Reichert, Managing Director of seed and early-stage venture fund, Garage Technology Ventures, will share insider knowledge and tips on starting and growing a successful technology business during an address titled, The Future of Innovation: Entrepreneurship, Venture Capital, and Emerging Technologies.

Event Details:
When: Monday 24 August 2009, time: from 4.30pmWhere: St James Theatre, Courtenay Place
Entry: FreeTwitter feeds: #ggg09; Flickr tag: GGG09To RSVP and for more information:

About Unlimited Potential
Unlimited Potential was set up in 2000 as a non-profit organisation to facilitate the growth and development of professionals at the forefront of ICT in Wellington. It does this primarily by providing opportunities for people working in Wellington’s ICT industry to meet and share ideas in a relaxed and friendly environment through events and forums. The network has more than 2000 members working in every type of ICT role across the industry, including start-ups, corporates, education, and government departments.

About Bill Reichert
Bill Reichert has over 20 years of experience as an entrepreneur and an operating executive. He was a co-founder or senior executive in several venture-backed technology start-ups, including Trademark Software, The Learning Company, and Academic Systems. Before that he worked at McKinsey & Company, Brown Brothers Harriman & Co. and the World Bank. Bill has a B.A. from Harvard College and an M.B.A. from Stanford University. He was a founding board member and a Chairman of the Churchill Club, and a Charter Member of the Silicon Valley Association of Start-up Entrepreneurs. In 1998 Bill joined Garage Technology Ventures (founded by well-known author and entrepreneur, Guy Kawasaki) and has since focused on early-stage information technology and materials science companies.

Tom Reidy, Chairman, Unlimited Potential, phones: 021 779 298 (mobile), 04 210 0955 (work), email:
Anamika Vasil, Communicator, phone: 021 494 005 (mobile), email:

Daisy, Family Reunion 2009

Family Heep 2009 035
Urspr√ľnglich hochgeladen von Alxdean
Daisy is the cutest thing! We met at the family reunion in Mainz and fell in love with each other instantly! Well. maybe not quite. She started screaming each time she looked at me (God knows why...) Daniel and Carol can be proud to have such a cute, fun and bright kid.

Microsoft Learning: Microsoft Certified Master Program

Microsoft Learning: Microsoft Certified Master Program

Hey folks, They are already working on the 2010 material. In theory that is great news! Get certified on the newest technology while it is hot off the press and avoid all the teething problems we all had when 2007 came out and nobody was around to give us best practices. But there is also some sad news involved. From December onwards you will not be able to gain a SharePoint 2007 MCM Certification no more. Once they roll out the 2010 curriculum they will close down the 2007 track.
What does that mean? That all customers who need support to clean up their 2007 mess and are looking around for a 2007 super guru will be looking at existing 2007 MCMs first before evaluating 2010 MCMS.
Will a 2010 MCM have the same indepth understanding of the 2007 platform as a 2007 MCM? Of course. If not more so! But will customers understand this fact? probably not. the worst are the HR managers and recruiters which have no understanding of the MS certificaitons. I just remind you of the countles recruiters turning down MCITPs while they were looking for MCSEs.

So the final verdict. Is it worth while doing the SharePoint 2007 MCM before it expires? Do the math first.
Devin did a nice little calculation on the ROI of the MCM program There he explains how the increased productivity already is worth its weight in gold.
And all you consultants out there. Be honest. How many hours of brooding over tricky and difficult problems have you not been able to bill to your customers. You're working 50 hours a week and billing only 40? sound familiar to anybody? that's at $100 an hour over 48K a year which you are not billing out. Just halving the lost time from 10 hours to 5 hours due to skill, knowledge and new connections is worth more than the cost of the program including travel, accommodation and food. Not to mention the fact that you will get away with an increase in your charges of upt to 50% in some cases. i.e. charge out at $120-$150 instead of the $100.

Will I be doing it? All depends on how fast I can get the cash together.

Wednesday, August 5, 2009

Adding Themes the supported way! - Robin | zevenseas | SharePoint Blog

Adding Themes the supported way! - Robin zevenseas SharePoint Blog
Ever screamed at SharePoint that Themes are such a hassle and you have to jump through hoops to make your custom themes selectable by the end user?
Up until recently the only options were to either create a feature which applies the custom theme or to muddle with the SpThemes.xml file (preferrably also done through a feature).
Robin on the other hand came up with a better solution. He created a solution which has a configuration interface in CA which allows admins to define multiple themes.xml files (no muddling with built in files that are prone to be overwritten in an upgrade).
To load the custom xml file he used a feature to hide the existing site actions menu entry and replaced it with his own application page. There he loads the default themes and custom themes into one dataset and displays them as if nothing had changed.

But be warned! Although he spent much effort on sticking to the API and the way it was coded previously (Reflector is such a great tool) his solution is not 100% upgrade proof. If the MS developers decide to change the way themes work and muddle with the classes the page could crash. But that's the beauty of features. Deactivating the feature will remove the new link and put the old link back and you're back to Vanilla.

Happy theming!

WSS 3.0 Tagging Web Parts

Windows SharePoint Services (WSS) V3 Search - Tagging Web Parts
The above link is for a simple alternative to the bells and whistles version by kwizcom. It is a free and simple Tag field plus Tag Cloud which pulls the items out of the sitecollection that have the field populated. Not the most refined option but a start and definately worth expanding upon.

SharePoint Tagging Feature :

SharePoint Tagging Feature :

I've been spammed by a friend recently with lots of interesting SharePoint related links. This one is a real gem. Have not tried it out yet, but the screen shots are very promising. A full tagging feature with tag management, tag clouds, search filtering with tag categories and tag cloud and more.
I was asked at my Search presentation about Tag Clouds for SharePoint and I wish I had stumbled upon this one before.

Check it out or your selves and tell me what you think!