For a while now I’ve been thinking about what should I write about in the very first post about SharePoint 2010. If you’ve been following this blog for a while, you probably know, that I’m passionate about Web Content Management (WCM) in SharePoint. For three years now I’ve been working with SharePoint WCM. Although it’s sometimes challenging, it’s great to build WCM solutions on the SharePoint platform. And now SharePoint 2010 offers an even richer foundations for custom Web Content Management solutions. So what’s new in SharePoint Server 2010 Web Content Management?
SharePoint Server 2010 ships with a rich set of functionality for developing Web Content Management solutions. Some of this functionality has been crafted specially for SharePoint Server 2010 but some of it is being reused from the SharePoint Foundation 2010.
User Experience à la 2010
Probably the very first thing that you notice, while looking at SharePoint 2010, is the new User Experience. The SharePoint team has now included the Ribbon in SharePoint making it easier for the end users to do content authoring. Not only does the ribbon allow the quickly access the most common functionality, but is also uses context information to display the functionality that applies to what the user is doing at that moment. For example while editing text you will get the text formatting options, but while working with the Silverlight Media Player, you will see the various video settings that the player supports.
Another great improvement in SharePoint 2010 is the Modal Framework. One of the investments of the SharePoint team was improving the User Experience and allowing users to do their job without losing the context. Using the Modal Framework SharePoint not prompts users for information without performing any extra redirects.
Both these improvements are done at the SharePoint Foundation level, so you can benefit of them even while using the basis content publishing functionality.
SharePoint 2010 strictly accessible
One of the most important things is leveraging the web standards and accessibility for developing WCM solutions. The markup have been revised at the SharePoint Foundation level, so all controls render now not only XHTML strict compliant but also WCAG 2.0 AA accessible markup! Hopefully this will not only make developing accessible websites easier but it will also reduce complexity and simplify the life-cycle management of accessible Web Content Management solutions.
2010 spelled AJAX
One of the optimizations that cannot be seen, but that are quickly noticeable while working with SharePoint 2010 is leveraging asynchronous processing. To improve loading and rendering, SharePoint 2010 heavily uses AJAX to do partial loading and processing of pages. This not only helps SharePoint 2010 to work faster but also limits the usage of bandwidth.
2010 is not the number of pages in new SharePoint version
MOSS 2007 suffered a lot from the 2000-items myth, according to which it would break after storing more than 2000 pages (items) in a list. While the myth wasn’t really true, there were scenario’s when you could experience some performance decrease after storing a large amount of pages in a single site.
SharePoint 2010 has not only been optimized to better deal with large number of items in a single list, but it also allows you to organize them. For more information about the new Content Organizer check out the post by Andrew Connell.
Pushing the limit of the number of items in a single list is not the only scalability improvement in SharePoint 2010. The SharePoint team did a lot of work to optimize working with both Variations and Content Deployment. Both mechanisms are now more robust and reliable.
Creating of Variations and Variation Hierarchies have now been fully moved to Timer Jobs. This makes the provisioning process more reliable as it doesn’t depend on the IIS worker process anymore.
Content Query Web Part v14
Another great improvement in the WCM area is the new version of Content Query Web Part (CQWP). The new CQWP simplifies working with Item Styles by introducing slots. A slot is a marker in the Item Style Template which is being filled with the content on runtime. The Content Query Web Part allows you to set the mappings between the slots and the fields using the property pane what allows you to create more semantic and reusable Item Style Templates!
Another great feature of the new Content Query Web Part is the Content to Content concept. Content to Content introduces two tokens that can be used in the Content Query Web Part filters. The PageQueryString token allows you to include in the query a value from a query string parameter and the PageFieldValue token gives you the possibility to filter the query results using a value of another field on the same page. This makes it extremely easy to provide functionality such as related content.
Summary
SharePoint Server 2010 ships with numerous improvements to the Web Content Management functionality. Using the new features you can now not only easily build solutions with richer functionality but also make them more robust and reliable.

















October 21st, 2009 at 7:29 am
*Finally* he can talk about it :D
We expect some presentations when you're back ;)
October 21st, 2009 at 8:51 am
Yes! Looking forward to all your questions: I'll be needing it :)
October 21st, 2009 at 9:48 am
I have been playing around with a WCM website in the latest build of SP2010 and I built a custom field control as I have done many of times in MOSS 2007 but for some unknown reason it cannot find the ascx rendering template.
Have you successfully created a custom field control in SP2010?
Or is there some extra steps needed in 2010?
October 21st, 2009 at 4:35 pm
@Simon: no, not yet. There is so much new stuff to discover…
October 26th, 2009 at 5:42 pm
as for 2K myth, maybe on items not, but on security principals yes. If you had more then 2k principals then every action on the site has been taking extra time – the stored procedure for updating ACL for the items has been killing SQL server. I run into this problem some time ago (in Polish): http://blog.gutek.pl/post/2008/06/24/Usuwanie-uprawnien-za-pomoca-bazy-gdy-ze-strony-SharePoint-sie-nie-da-2b-krotka-historia-o-ograniczeniach.aspx
Hope this will not be a case in SPS2010 :)
November 6th, 2009 at 10:02 am
Ok luckly on MSDN they have info on the field controls so i got past my problem. I was referencing version 14 SharePoint & PublishingWebControl assemblies in my ascx, which i would have thought is correct but they must be version 12…..good from upgrade point of view i guess
January 5th, 2010 at 1:38 am
[...] SPC09 – Web Content Management in SharePoint Server 2010 – Courtesy of Waldek Mastykarz [...]
January 22nd, 2010 at 3:58 pm
You mention something about bandwidth and process improvements through Ajax process on loading pages. Would you recommend using bandwidth optimization tools instead of Ajax. Should we disable that option or can it be used in conjunction with the optimization software or appliance?
January 22nd, 2010 at 4:12 pm
@Johnny: I think that you should be using both. While AJAX can help you minimize the number of postbacks, using some other tools might help you minimize the total number of requests and the size of files such as JavaScript and CSS.
January 30th, 2010 at 3:46 am
Hi All – We are using the below STSADM commands in our project on MOSS 2007. Now we are trying to use SharePoint 2010.We know that the below commands have been removed from sharepoint 2010. I would like to know alternate STSADM commands in SharePoint 2010. We are not able to find suitable power shell commands for the below STSADM cmds.
1. stsadm -o createwebapp -adminurl http://HostName:CentralAdminPortNo -url http://portal.FullyQualifiedDomainName:3112 -port 3112 -name portal.FullyQualifiedDomainName -description portal.FullyQualifiedDomainName -template SPSPORTAL#0 -user Domain Name\Administrator -password ***** -email Administrator@DomainName.com
2. stsadm -o createwebapp -adminurl http://HostName:CentralAdminPortNo -url http://ssp.FullyQualifiedDomainName:3310 -port 3310 -name ssp.FullyQualifiedDomainName -description ssp.FullyQualifiedDomainName -user HostName\Administrator -password ****** -email Administrator@domainName.com
3. STSADM -o osearch -action start -f -role IndexQuery -farmcontactemail Administrator@domainname.com -farmserviceaccount DomainName\Administrator -farmservicepassword PASSWORDTEST -defaultindexlocation "C:\Program Files\Microsoft Office Servers\12.0\Data\Office Server\OSSIndex"
4. STSADM -o deploysolution -name RIC.wsp -url http://winportal.FullyQualifiedDomainName:3110 -allowgacdeployment -immediate –force
5. STSADM -o addlistitems -url http://winportal.FullyQualifiedDomainName:3110/sites/projects -listname "RssFeedContent" -column1name URL -column1value "http://yahoo.com /new-neuf/events-activites_e.rss"
6. STSADM -o adduserprofileproperty -url http://ssp.FullyQualifiedDomainName:3310/ssp/admin
7. STSADM -o createmeetpeoplejob -url http://ssp.FullyQualifiedDomainName:3310/ssp/admin
8. STSADM -o gl-setsspacl -sspname "ssp.FullyQualifiedDomainName" -rights All -user FBA_AspNetSqlRoleProvider:researcher
9. stsadm -o fixurls -url http://admin.FullyQualifiedDomainName:3210
Advance thanks for your help.
January 30th, 2010 at 2:09 pm
@RadhaKrishna: STSADM is present in SharePoint 2010 but only for backwards compatibility purposes. I strongly recommend you move to PowerShell which not only gives you more functionality but is also faster than STSADM.
February 12th, 2010 at 5:58 am
[...] SPC09 – Web Content Management in SharePoint Server 2010 – Courtesy of Waldek Mastykarz [...]
May 13th, 2010 at 12:07 pm
I'll be glad to get more details how to use the PageFieldValue in Content Query, thanks
November 4th, 2010 at 12:12 pm
Hi Waldek, Thank for the information about SharePoint 2010. I have installed 2 Language packs in our dev MSS 2010 server. Translation and Variation settings are working fine. With code (OM) am able to add variation labels. But Now I want to know how to use Variation Labels in site pages. Lets say a \"announcement\" information which has to be available in 3 language sites with it\'s language. I can create Variations labels with same name and different display name content for each language. How to use that? Another question when I upload a language translation file (.resx) where it\'s getting saved? How can I access that .resx file?
Thanks.
- Venkatesh R
November 4th, 2010 at 12:56 pm
@venkatx5: Whenever you create a Variation Label SharePoint will create a new branch in the structure of the site for you. The basic idea is that you publish the same content to all branches and translate the content to the right language.
As for the resx files, they are stored in the database. According to the SDK you should be able to access the labels using the SPWeb.UserResources property although I haven't tried it yet myself.
November 4th, 2010 at 1:13 pm
Wow.. Thanks a lot Waldek. First time in my life I got reply for a question in blog within few minutes. :)
As per my understanding I can create labels with same name and different display name for each language then use it in pages where I like. (ie. Just like Re-usable content for each language).
For ex. I create label Named "SiteTitle" in Each language with different displayname. Then I can add the siteTitle variation label in site home page of each language. So based on language it'll fetch content from Variation labels list.
1. Am I right?
Pretty confused with term Hierarchy.
2. What's it exactly used here?
Thanks once again
-Venkatesh R
November 4th, 2010 at 1:24 pm
@venkatx5: I guess the thing that you misunderstood are Variations. Variations is not a list of key > value pairs that you can refer to. Those are User Translations. Variations are different versions of the site, like http://contoso/en, http://contoso/fr, etc. where en and fr are Variation Labels.
November 4th, 2010 at 1:31 pm
That's Great. Once the variation labels created then it'll be maintained by SharePoint and whenever any site getting created, SharePoint will create sites based on given variation Labels. Is that correct? Again what for Hierarchies? :) Sorry am newbie to this Area.
November 4th, 2010 at 1:47 pm
@venkatx5: that's correct although it's important to notice that it depends on the setting. When configuring Variations you can specify whether SharePoint should automatically create a draft for every Variation Label or not. Creating Hierarchies is the name of the initial process that takes place after configuring Variation Labels. In that process a site is created for every Variation Label that you defined.
November 27th, 2010 at 10:27 pm
Hi,
Which books, resources would you recommend to anyone just starting up with WCM in SharePoint 2010?
November 28th, 2010 at 9:54 am
@Fred: Unfortunately the choice is limited. At this moment there is only one SharePoint-specific WCM book, and it's for MOSS2007 (written by Andrew Connell). Although it's written for MOSS2007 a lot of concepts still apply in SP2010. Another book that you might try is the Real World SP2010 book, by a number of SharePoint MVP's. If I'm correct it contains a chapter about WCM, and although I haven't read the book myself, I would expect it to have some valuable information as well.
A good idea for someone who's just starting development on the SharePoint platform (no matter if it's portals or WCM) is a SharePoint development book. You might want to try the SP Dev Wrox books (beginning with Beginning and moving to advanced).
Last but not least a fair piece of developing Internet-facing websites has nothing to do with SharePoint at all. So for that you might want to read some books on CSS (CSS Mastery), web standards, etc.
You can find links to some of those books in the Books section of this blog.