Some comments on common Variation problems (last updated: May 21st, 2008)

Jeremy Jameson created an article series which talks about serious problems he ran into when using the variation feature. Unfortunatelly I cannot comment his articles directly as he disabled anonymous comments – and my blog is not on MSDN but on TechNet so I cannot login in MSDN so I have to provide my comment here.

1) Incompatibilty between OOTB variation feature and OOTB content types

The correct solution for this problem is to create a custom site definition template which already uses the correct content types. Adjusting the content type of a page will indeed lead to problems in the content deployment and migration API which is used by the variation feature.

A custom site definition template should be defined for all customized sites and the site should then be propagated with this site defintion template rather than adjusting the content type afterwards.

Background info on the problem: when propagating a site through the variation feature the site definition template used to create the source site is used to create the destination site. This means the default.aspx page will be created based on the content type in the site definition. When later the variation features trys to pair up the pages in the source label with the pages in the destination label it sees the different content types and this causes the problem.

Using a custom site definition that has the correct content type for the default.aspx configured will avoid this problem – and will also reduce the overhead for authors as they don’t have to change the content type for the pages over and over again.

2) Enabling of content types on destination labels

Jeremy complains that the variation feature does not enable content types on the Pages library in other labels. This issue has been identified as problem in MOSS 2007 and a hotfix for this issue is currently in the works and should be available short after release of Service Pack 1.
[Update 2008-02-19] The fix for this issue has been included in Service Pack 1

3) Performance Problems when populating the variation

This has been reported by a couple of customers and the product group is currently investigating the issue. Additional indices as outlined in the article are currently not supported as already mentioned by Jeremy.
[Update 2008-05-21] Two hotfixes for this issue have meanwhile been released as KB 952698 and KB 952704. Both hotfixes are required to address this issue.

4) Attempting to create a new variation label after creating a large number of sites and pages results in an out-of-memory error on the server

This issue has been identified as a problem in MOSS 2007 and a hotfix for this issue is currently in the works.

Background info: we identified that the variation feature holds SPSite/SPWeb/PublishingWeb objects of opened sites during the propagation for caching purposes. At the end these objects are properly disposed but if many sites have to be propagated the amount of memory can be to much on 32-bit machines. On 64-bit machines with more virtual memory per process this problem would not cause the variation feature to fail. The hotfix being developed will address this as it will dispose the SPSite/SPWeb/PublishingWeb objects earlier and if required recreates them later rather than caching them in memory.

Be aware that contrary to the statement from Jeremy only part of this change will be included in SP1. To completly address this issue you need the hotfix which will be available shortly.
[Update 2008-02-19] The hotfix for this issue has meanwhile been released as KB 941274

26 Comments


  1. How can I programmatically add content type to list of available content types? I am trying to fix up already confirmed bug in variations that don’t associate content types with page libraries in destination variation sites.

    Reply

  2. Jeremy Jameson has blogged about his adventures in variations. Allthough I don’t agree with everything,

    Reply

  3. Jeremy Jameson has blogged about his adventures in variations. Allthough I don't agree with everything

    Reply

  4. Shortly before I headed out to the airport last Wednesday, I received the fateful email from my customer

    Reply

  5. In part 1 and part 2 of this series, I talked about some major issues with the variations feature in

    Reply

  6. I’ve received a number of responses to my series on the problems we encountered with Microsoft Office

    Reply

  7. I've received a number of responses to my series on the problems we encountered with Microsoft Office

    Reply

  8. It appears that number 2 above still have some problems.

    My logs return a The variation system failed to pair up pages

    because their Content Types do not match. We have SP1 installed, and we have the language packs installed.

    Reply

  9. Hi SPMike,

    if you already have incorrect content types in your system then you will see this.

    But it should not happen for new pages.

    Cheers,

    Stefan

    Reply

  10. Hi,

    I created a Variation label and created hierarchies for Arabic version of my portal, now I can see 2 home page tabs and one more tab for Arabic version portal. Now I just want to delete what I created. How can I delete? any ideas? And want to  inform you one thing, home page of my portal has been changed to the Arabic version. please do needful..

    Cheers,

    Naresh

    Reply

  11. Hello Gary,

    It was an awesome post.

    I have a few confusions, I hope you would be able to help.

    I have the site collection already created. The pages are customized. The site is huge, so have to enable variations on the same site.

    1. For customized pages, is it necessary to write customized site definitions and propagate using those definitions. Is it possible in my case.

    2.Its a huge site, is there a way to do variation on it step by step i.e. taking a few sites at one time etc.

    Thanks for sharing!

    mscs111@hotmail.com

    Reply

  12. Hi Gary,

    1) you would have to create the site definitions BEFORE the sites are created. Not afterwards. As your content already exists it is to late to change the site definitions if you don’t want to recreate all content. In addition this is only necessary if your default pages in the site have to be of a different content type/page layout. If the default content type/page layout is ok, then there is no need for a custom site definition.

    2) yes. You can disable automatic propagation of the sites and pages. Then you can create the variation for each item/site manually

    Cheers,

    Stefan

    Reply

  13. Thanks for your cooperation Stefan,

    But Im a little confused about creating variations manually per item/stie.

    Scenario is that we have the site restored as a backup, which is the english(en) version, and is acting as a source.

    How can I create hierarchies out of it per item/site?

    If this is possible life’s gonna be different :).

    Thanks for your help.

    Reply

  14. Hi Khan,

    you need to configure "do not automatically create site and page variations" in the variation settings of your site collection.

    To create a variation of a site open site manager (manage content and structure), hover over the site in tree view and use "New" – "Site Variation"

    Cheers,

    Stefan

    Reply

  15. Hi Stefan,

    My variation runs for five hours, and halts without generating any error on the UI.

    Nothing in event log. No errors notified in variation logs.

    It just halts. Could you think of something. I am working on the vpc. Is it a memory/process issue.

    thanks for your help.

    Reply

  16. Hi Theory,

    do you have the infrastructure update installed?

    If yes, I would suggest to open a support case to get this analyzed.

    Cheers,

    Stefan

    Reply

  17. What is the best solution fro Problem #1 mentioned above?

    gettign an error:

    The variation system failed to pair up pages…./… because their Content Types do not match.

    any solution?

    Reply

  18. Hi Basilos,

    the solution is stated in the article:

    The correct solution for this problem is to create a custom site definition template which already uses the correct content types.

    Cheers,

    Stefan

    Reply

  19. Hi Stefan,

    We have over 600 sites on one site collection we have created a custom site collection and using variations right now en-US and fr-FR, we have a requirement to add 13 new variations. I’m a little worried about performance on the intranet zone, on the internet zone we will probably replicate the content on a new site collection per country. Do you know anyone who has around 15 variations on their intranet?

    Cheers,

    LP

    Reply

  20. Hi Stefan,

    I’m wondering if you can help me….

    I received the error below whilst setting up the variations. It appears shortly (10secs) after I click "create hierarchies"

    “An error was encountered performing this operation.   You may re-try the operation, and you may need to clean up the half-created data first before re-trying. If the problem persists, please contact your system administrator”.

    On closer inspection, the English and Spanish sites have been created successfully. There are no errors in the Variations Logs and when I set up a published test page in English it propagates successfully over the Spanish site. So I’m a bit unsure what exactly was halted during the long running operation.

    Also, I deleted the sites and labels a few times and recreated the hierarchies and get the same issue each time I create the hierarchies. I also created an English hierarchies by itself and that was successful, so it would suggest to me that there is an issue on the Spanish side. I have also created a test Spanish site (team and publishing) and they both appear fine.

    The log files report this at the point of failure:

    "RO – An exception was thrown by the DoWork method of a LongRunningOperation System.InvalidOperationException:

    This access control list is not in canonical form and therefore cannot be modified.

    at System.Security.AccessControl.CommonAcl.ThrowIfNotCanonical()……"

    Also, I did see this in the event viewer though – I’m sure you’ll instantly know what it means!!

    Event Type:            Error

    Event Source:        Office SharePoint Server Error Reporting

    Event Category:    None

    Event ID:                5000

    Date:                       11/09/2009

    Time:                      11:52:39 AM

    User:                       N/A

    Computer:             AU-DEV-MOSS5

    Description:

    EventType ulsexception12, P1 w3wp.exe, P2 6.0.3790.3959, P3 45d691cc, P4 mscorlib, P5 2.0.0.0, P6 492b8182, P7 20986, P8 0, P9 invalidoperationexception, P10 89v7.”

    Finally, my dev server is :

    -SP1’d

    -infrustructure updates

    -SP2’d

    -Spanish Langauage packed SP2’d

    – + CU of June and July.

    Can you suggest where I am going wrong?

    Anthony

    Reply

  21. Hi Anthony,

    I haven’t seen this. Please open a support case to get this analyzed in more detail.

    Cheers,

    Stefan

    Reply

  22. Is it possible to turn off automatic updates by the variations system if a user edits a page?  We want the system to automatically create pages (I know the setting for this) but I can’t find any setting to prevent pushing updates.  If that’s not possible, can I switch to full manual mode once the variation site is created (so our users will only use the "Submit a Variation" when a new site is created)?

    Reply

  23. Hi Josh,

    unfortunatelly this is not possible.

    A workaround would be to disable the variation propagation timer job. Then you have to manually do update variations in the UI.

    Cheers,

    Stefan

    Reply

  24. Thanks, Stefan.  That approach seems like it will actually work for my client.  They don’t mind manually pushing the new pages, as long as edits to existing pages are not automatically propagated.

    Reply

Leave a Reply to narencachy Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.