Weirdest bug of the year?
Today I was deploying some new functionality on a customer site which included adding a couple of new properties.
Added the properties and code and tested the new function and all was ok. So now it was only left to move the properties to the correct position with drag and drop and I would be done.
I moved the properties to the desired position and would just do a last check that everything was ok.
I tried to create a page of the changed type but when I published the page it exploded with a cryptic null reference exception. Browsing to an already existing page of the affected type gave the same error.
I should immediately have come to the conclusion that the drag and drop positioning of the properties had caused this but I didn’t.
Panic! I rolled back the changes with no change, I started considering some weird corruption of the page type in the database and all other strange things.
Then I remembered that we on this particular page type have a property with a default value that is used to control the rendering of the page.
I checked the property and compared to a staging environment and the default value was gone!!
Sure enough adding the value and saving the property corrected the error.
I then recreated the error in my development environment. Moving a property on a page type and “crossing” another property with a default value will in fact remove that default value!
We sure missed something in our fallback code but I guess that It can be good to be aware of this if you suddenly get some weird error after doing a little property rearranging.
This was for a CMS6 R2 installation.