Sharepoint 2010 and (MOSS): bug in variation "

[Update 9/2/2011 : this bug has been fixed in the 2011 June CU.]

It looks like we’ve found a new bug in the Sharepoint 2010 & MOSS variations.

Symptom: Error message= “”The settings for this list have been changed. Refresh your browser…”. when saving a publishing page.

Reproducing the bug

1.Create a new publishing site.

2.Create 2 variation labels like Dummy and French for instance;set the Dummy web site as the variation root; create the variation hierarchy as usual

 

image

 

3.go to the target (French) site and edit the page and keep the browser windows open

image

4.In a new browser windows add a new page in the Dummy site

image

5.Save and publish this new page.

6.Start the Variation Create Page job

7.Save and close your French Page.

 

image

 

8.To have a better understanding of the issue, open the Microsoft.Sharepoint.dll with Reflector.

Select the Microsoft.Sharepoint.Control namespace and go to the class BaseFieldControl which is the base (abstract) class used for rendering the standard add and edit forms :

image

Select the OnLoad method, and below, you will notice that (arrow 1) when the Vesrion property of the current SPList is stored in an hidden field (and is cached in the form) ; in arrow 2, we can notice that the cached version valued is compared against the SPList version; if they don’t match, the list is supposed to have been changed.

 

image

My understanding is that any time a new page is created, the variation job increments the target SPList, which doesn’ t make sense here:the schema has not been modified, we just have a new new page. Surprise, surprise….

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s