Unfortunately it's a reintroduced bug. I'll reopen it. Dojo fails miserably here, as preamble is part of the class instance creation. For now you have to stay away from using it as a property name.
Per Nergård: To verify a bug, as I wrote in the post.
Per Zimmerman: Right, I suspected as much after a "find in files" in the modules directory, I saw some json objects with a property named preamble. I'll have to use the vastly inferior "MainIntro" then for now :)
Ok, i can confirm this bug as well.
Upgraded to 7.1 and we use Preamble as a property and as Erik says the dope controls will not load.
The problem we have is that we use Preamble on practically all the pages which have content so for us its not really possible to remove the property and rename it.
And further more since on page editing doesn't work it's not possible to work with blocks.
I must call this an epic failure and when can we expect a fix for this?
I have already spent half this day upgrading to 7.1 with all the problems regarding the upgrade process and now this on top, i'm not impressed.
Tomas, for the edit update that was just released: All you need is the vpp folders "modules", and "modulesrepository", as well as the folder "modulesbin" in the webroot of your web project. Make one upgrade on a dev site and then save a zip file of the updated package for further upgrades. A lot easier and more secure to deploy to production systems that way too as I am not quite sure what will happen if the update should fail halfway through for example.
Erik, yes that is exactly what I have done.
This is however not a live site but a site under development in the later stages of the project, the problem is that all developers use the same database and also the same share for VPP files.
The upgrade was made locally and then "transferred" to the staging environment, but the upgrade failed half way locally and that caused the test environment to fail as well. I guess that something was updated in the database?
Is there any way of rolling back to the previous version?
Yes, you can expect a fix for this soon.
We fixed this bug ages ago. Unfortunately, the unit tests we had for this didn't catch a refactoring and the bug was reintroduced. The preamble bug is only a client side bug, it's not server related. It occurs because data is passed as first parameter in a class constructor.
You can try the behavior yourself with this snippet:
require(["dojo/_base/declare"], function(declare) {
var C = declare(null, {
constructor: function() {
console.log("Constructor", arguments);
}
});
new C(1);
new C({ preamble: "x" });
});
Run that in a web inspector and you'll get a error when the second class instance is created. Dojo's declare has a special thing for preamble.
Per, thanks for the information.
We decided to rollback to the previous version since we felt that this release was too buggy.
I can also add that i sat almost a full day with this exact bug, we have several properties names Preamble around our project. In the end we choose to do a rollback and don't install 7.1, and will also not recommend customer to install until 7.2 or whatever comes next
So this is an interesting issue..
I tried this on a clean episerver 7 (webforms) alloy site installed from the deployment center.
Note: I did this on another site using programmatic vaules first and got the same problem, like so: public virtual string Preamble { get; set; }
Can anyone verify or debunk this please, in case there are some really strange issues with my computer?
My final thoughts on this is: WAT?