Having spent a great deal of time developing Microsoft Content Management Server 2002
solutions, I've found there's a bunch of stuff I miss from the MCMS API. The
single thing I miss the most:
CmsContext.Searches.GetByGuid(string) as HierarchyItem;
Being able to get any object - Channel, Template, Posting, Resource - by just it's
guid was huge. Even cooler was that you could grab an object out of anywhere
in the hierarchy/taxonomy. In SharePoint, you have to know the Web, List, and
Item guid to find anything. This one method in MCMS allowed a huge number of
possibilities for custom dev with very limited coding time.
Another thing I miss from MCMS is the functionality of Connected Postings/Templates
and an API that could CRUD them without hardly any effort. I know Variations
in SharePoint comes close, but IMO, it just doesn't seem to be at the same level and
simplicity of MCMS. Also, there's very little documentation around any of the
Variation related objects because they've all been marked as internal.
Luckily, Michiel Lankamp figured this
out - a long time ago - using Reflector (duh) and exposed that
yes, everything
in SharePoint is a list (thanks Matt). As Michiel points out,
there's two variation lists. One called VariationSettings and one called VariationLabels
who's guids are stored as Properties on the root web of the site collection.
Once you get the lists, how do you create the hierarchy? Check
out Michiel's post to see how. Pretty clever...
I haven't tried this, and based on the four comments, not many other people have,
either. Also looks like it could be buggy.
Enable
variations programmatically - Michiel Lankamp
Read the complete post at http://feeds.feedburner.com/~r/RichFinn/~3/279863002/ProgrammaticallyManipulatingVariations.aspx