The Microsoft Learning Gateway on CodePlex is a collection of site definitions/templates and web parts designed to kick start a school or district portal. In fact the documentation tells you to set up your school as though you are a district even if being installed in a single school.
My recommendation is NOT to use the site definitions, even though I am the project co-ordinator. Firstly, let me say that I think that the web parts in the project are useful and have value, so it’s just the definitions I have an issue with.
Why is this?
There’s 2 reasons: actual problems and their lack of value.
1. Complex Site Definition
The school site definition is complex. It builds a hierarchy of about 6 sites with each site having 1 to 3 pages. The problem with this is maintainability. There is a growing consensus that site definitions should be as minimal as possible, with most of the work done by features and custom provisioning code if there is a need for an automated build.
The problems with site definitions is that there is no guarantee that they will work when upgrading SharePoint and you can’t modify them once they are deployed.
Problems with upgrading could happen with a service pack or especially a new version – SharePoint 2010 is almost here. Microsoft is pretty much going to guarantee that sites based on the built in definitions upgrade and they will be working hard to minimize problems with custom definitions. However there’s no way they can catch all problems in templates they’ve never even seen. And the more complex the template, the more likely that there will be problems.
For a more in depth treatment see Do you Really Need to Create Custom Site Definitions? by Joel Oleson and You don’t need to create site definitions by Andrew Connell.
Strictly speaking this isn’t a current problem, but could be a huge problem for you when you upgrade if your entire site is based on a definition which doesn’t upgrade well. Whether this is an acceptable risk is then down to the value the definitions provide.
Having said that the 1.1 release modifies the existing templates to support the latest version of SLK and by doing this, it puts the templates in a unsupported state (in Microsoft terms).
2. Publishing Pages or Not!
The second problem, and this is a real existing problem, is with the pages on the sites. The sites are publishing sites, will all the associated publishing functionality including the Pages library to store the site pages. And this is where the MLG pages are stored. The problem is that the MLG pages are not actually publishing pages.
Publishing pages are special pages which inherit from a specific class and are basically a combination of a page layout from the page layout gallery, and the values of field controls. The MLG pages are just standard web part pages. You can see this by clicking on View All Content and then selecting Pages under Document Libraries. You will see that the Page Layout column is blank. If you try creating a page in the Pages library, the first thing it does is ask you what page layout you want to use.
How is this a problem, they pages all seem to work? Well SharePoint treats the Pages library in a special manner, but it does accept having the web part pages in their with no problem except for one thing. When you come to Edit the page and save it, you get an error about the page being updated in the meantime. You can then save again and all is well. I accept that this seems fairly minor, especially as there is a workaround. But it does confuse people, who question why it happens, and it certainly isn’t going to help with the uptake of your Gateway if there’s obvious errors in it.
3. Site Collections
Finally, the last major problem is that the school sites are all created in the same site collection. Although this seems to be a good idea on first look, making it easy to share and collaborate, further down the line it start becoming a problem. Having schools in separate site collections is much easier to maintain and backup. You can set quotas on the site collections and move them between databases if they become too big. It’s easier to maintain users and groups as they are scoped at the site collection level and there are many other advantages. There also isn’t really a problem in collaboration between site collections.
The lack of value
What value do the MLG site definitions give? They allow the quick creation of a school gateway by someone with limited SharePoint knowledge. However, it is a bare-bones start. No-one is going to use it just as it’s created. Before it’s used, at a minimum the following needs to happen:
1. Brand the site. One of the most complex and difficult parts of SharePoint to get right.
2. Add useful content.
3. Add more sites to make it usable. For example in the default layout you need to add your class sites. You may want to add departmental sites for your staff to add content to.
4. Add all your users.
By themselves, none of these are particularly difficult, except the branding. However, the fact that they still need to get done, negates the usefulness of a speedy school creation.
It is also easy to create the layout manually instead of using the site definition. I would recommend a school to do this. Not only will it allow you to get the site layout exactly as works for your school, but you will then be completely familiar with how it is set up. And if you don’t know much about SharePoint, the mere fact you site up the site from scratch means that you will understand it and SharePoint much better. If you already know SharePoint well, the time taken will only be marginally greater than using the site definition. This way you not only get a site better suited to you, you get more experience of SharePoint and don’t have any of the problems detailed above as you will be basing it on an out of the box template. In a later post I will describe how to replicate the school site manually.
The one case where having a site definition is useful is if you are hosting many school sites. And by many I’m talking over 50 if not hundreds of sites. In this case hand building each school does become an issue. However, if you are hosting that many then you really ought to be investing in getting your own templates created, targeted at your and your schools’ needs and branding and not using a generic, brand less, minimal functionality one which at the end of the day are what the MLG definitions are.