Applied Update 9 and Edit mode crashes

Vote:
 

Hi,

I've applied Update 9, but when I enter Edit mode I get a bunch of script errors:

Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost/episerver/Shell/7.6.3.0/ClientResources/epi-ecf-ui/component/Catalogs.js
Error
dojo.js:15
Error: scriptError
at _f (http://localhost/episerver/Shell/7.6.3.0/ClientResources/dojo/dojo.js:15:436)
at HTMLScriptElement.<anonymous> (http://localhost/episerver/Shell/7.6.3.0/ClientResources/dojo/dojo.js:15:17711) widgets.js:2
Error: scriptError
at _f (http://localhost/episerver/Shell/7.6.3.0/ClientResources/dojo/dojo.js:15:436)
at HTMLScriptElement.<anonymous> (http://localhost/episerver/Shell/7.6.3.0/ClientResources/dojo/dojo.js:15:17711) widgets.js:2
Error: scriptError
at _f (http://localhost/episerver/Shell/7.6.3.0/ClientResources/dojo/dojo.js:15:436)
at HTMLScriptElement.<anonymous> (http://localhost/episerver/Shell/7.6.3.0/ClientResources/dojo/dojo.js:15:17711) widgets.js:2

My [appdata]/modules folder has been emptied by the command let and the modules/_protected folder now contains following:

CMS
EPiServer.Commerce.AddOns.Manager
EPiServer.Commerce.Shell
EPiServer.Commerce.UI
EPiServer.Packaging.UI
Shell
packages.config
repository.config

Does anyone have a clue to what might be wrong?

Kind regards,
Simon

#82719
Mar 18, 2014 16:34
Vote:
 

Were the virtual paths in EPiServerFramework.config changed during the upgrade ?

#82725
Mar 18, 2014 22:40
Vote:
 

Hi Mads,

Yes, as far as I can see. Below is an extract from the EPiServerFramwork.config showing the virtual paths:

 

<virtualPathProviders>
<clear />
<add virtualPath="~/Util/Editor/tinymce/plugins" physicalPath=".\Util\Editor\TinyMce\Plugins" name="TinyMCEPlugins" type="EPiServer.Web.Hosting.VirtualPathNonUnifiedProvider, EPiServer.Framework" />
<add name="ProtectedAddons" virtualPath="~/episerver/" physicalPath="modules\_protected" type="EPiServer.Web.Hosting.VirtualPathNonUnifiedProvider, EPiServer.Framework" />
<add name="EPiServerCommon" virtualPath="~/EPiServerCommon/" physicalPath="C:\Program Files (x86)\EPiServer\CommonFramework\7.5.394.2\Application\EPiServerCommon" type="EPiServer.Web.Hosting.VirtualPathNonUnifiedProvider, EPiServer.Framework" />
</virtualPathProviders>

Simon

 

#82726
Mar 19, 2014 7:46
Vote:
 

We saw a similar thing and changed the physicalPath for "ProtectedAddons" back to "[appDataPath]\Modules".

Seems strange since that folder is now empty, but it worked.

#82728
Mar 19, 2014 7:59
Vote:
 

This doesn't seem right. According to the readme's the appdata\Modules folder should be removed and /modules/_protected inside the site root should be used. The problem must lie somewhere else.

#82730
Mar 19, 2014 8:34
Vote:
 

Can you show me how your <episerver.shell> section in web.config look?

#82742
Mar 19, 2014 10:51
Vote:
 

Another thing, did you upgrade straight from 7.5 or had you applied any other nuget packages prior to this upgrade? Have you upgraded all episerver packages (including commerce)? Perhaps you can also show me your packages.config.

#82750
Mar 19, 2014 11:04
Vote:
 

We did a upgrade straight from 7.5 and have not applied any other nuget package before this update. We upgraded almost all packages excluding CommerceManager. You can see the packages we've upgraded below in the extract from our packages.config.

Our <episerver.shell> section is shown below

<episerver.shell>
<publicModules rootPath="~/modules/" autoDiscovery="Modules" />
<protectedModules rootPath="~/episerver/">
<add name="EPiServerCommon" resourcePath="~/EPiServerCommon/">
<assemblies>
<add assembly="EPiServer.Common.Gadgets" />
<add assembly="EPiServer.Common.Criteria" />
</assemblies>
</add>
<add name="ESales">
<assemblies>
<add assembly="Apptus.ESales.EPiServer" />
</assemblies>
</add>
<add name="Shell" />
<add name="CMS" />
<add name="Commerce">
<assemblies>
<add assembly="EPiServer.Business.Commerce" />
<add assembly="EPiServer.Commerce.UI" />
</assemblies>
</add>
<add name="EPiServer.Commerce.Shell" resourcePath="{rootpath}/Commerce/Shell" />
<add name="EPiServer.Packaging.UI" /></protectedModules>
</episerver.shell>

and the packages.config is shown below

<packages>
<package id="Antlr" version="3.4.1.9004" targetFramework="net45" />
<package id="AutoMapper" version="3.1.0" targetFramework="net45" />
<package id="Castle.Core" version="3.2.2" targetFramework="net45" />
<package id="Castle.Windsor" version="3.2.1" targetFramework="net45" />
<package id="Common.Logging" version="1.2.0" targetFramework="net45" />
<package id="Common.Logging.EntLib" version="1.2.0" targetFramework="net45" />
<package id="Common.Logging.Log4Net" version="1.2.0" targetFramework="net45" />
<package id="Common.Logging.NLog" version="1.2.0" targetFramework="net45" />
<package id="DotNetZip" version="1.9.1.8" targetFramework="net45" />
<package id="EPiServer.CMS.Core" version="7.6.2" targetFramework="net45" />
<package id="EPiServer.CMS.UI" version="7.6.3" targetFramework="net45" />
<package id="EPiServer.CMS.UI.Core" version="7.6.3" targetFramework="net45" />
<package id="EPiServer.Commerce" version="7.6.1" targetFramework="net45" />
<package id="EPiServer.Commerce.Core" version="7.6.1" targetFramework="net45" />
<package id="EPiServer.Commerce.UI" version="7.6.1" targetFramework="net45" />
<package id="EPiServer.CommonFramework" version="7.5.446.2" targetFramework="net45" />
<package id="EPiServer.Framework" version="7.6.2" targetFramework="net45" />
<package id="EPiServer.Packaging" version="3.1.0" targetFramework="net45" />
<package id="EPiServer.Packaging.UI" version="3.1.0" targetFramework="net45" />
<package id="log4net" version="1.2.10" targetFramework="net45" />
<package id="Lucene.Net" version="3.0.3" targetFramework="net45" />
<package id="Microsoft.AspNet.Mvc" version="4.0.30506.0" targetFramework="net45" />
<package id="Microsoft.AspNet.Mvc.FixedDisplayModes" version="1.0.0" targetFramework="net45" />
<package id="Microsoft.AspNet.Razor" version="3.0.0" targetFramework="net45" />
<package id="Microsoft.AspNet.Web.Optimization" version="1.1.2" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi" version="5.0.0" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.Client" version="5.0.0" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.Core" version="5.0.0" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.WebHost" version="5.0.0" targetFramework="net45" />
<package id="Microsoft.AspNet.WebPages" version="2.0.30506.0" targetFramework="net45" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net45" />
<package id="Newtonsoft.Json" version="5.0.8" targetFramework="net45" />
<package id="NuGet.Core" version="2.5.0" targetFramework="net45" />
<package id="RazorEngine" version="3.4.1" targetFramework="net45" />
<package id="SharpZipLib" version="0.86.0" targetFramework="net45" />
<package id="structuremap" version="2.6.4.1" targetFramework="net45" />
<package id="WebGrease" version="1.5.2" targetFramework="net45" />
</packages>

#82755
Mar 19, 2014 12:53
Vote:
 

Thanks for the info. I just did a test by installing a 7.5 commerce site and then installing the latest EPiServer.Commerce nuget package (7.6.1) and that worked fine for me. 

Since Mads pointed it out, I noticed that my physicalPath to the "ProtectedAddons" VPP was set to "[appDataPath]\Modules" and that is what it is supposed to be. Yours was set to "modules\_protected". If I changed mine to the same as yours I got the same error as you reported. Did you manually change the physical path?

Can you try changing it back to "[appDataPath]\Modules" and see if it starts working?

I also noted that among the folders you listed under "modules/_protected" you had a folder named "EPiServer.Commerce.AddOns.Manager". There should not be a folder named that there. Have you moved it yourself?

There is an additional Commerce nuget package that should handle the commerce manager integration called "EPiServer.Commerce.UI.ManagerIntegration" that you can install.

 

#82760
Mar 19, 2014 13:49
Vote:
 

I did not change the physical path manually. The folder EPiServer.Commerce.AddOns.Manager was moved from appdata\Modules directory into /modules/_protected folder.

I will change to "[appDataPath]\Modules" and install the EPiServer.Commerce.UI.ManagerIntegration package and see if that solves the problem.

#82762
Mar 19, 2014 14:03
Vote:
 

Ok, thanks. It sure is strange that the physical path was different for you and also that the folder was there.

Let me know how the suggested changes turns out.

#82763
Mar 19, 2014 14:09
Vote:
 

The package "EPiServer.CMS.Core.7.6.1" contains a "webconfig-baseline.config" file, where the virtual path is defined like this:

 

<virtualPathProviders>
      <clear />
      <add name="ProtectedModules" virtualPath="~/EPiServer/" physicalPath="Modules\_Protected" type="EPiServer.Web.Hosting.VirtualPathNonUnifiedProvider, EPiServer.Framework" />
    </virtualPathProviders>

    

#82764
Mar 19, 2014 14:13
Vote:
 

Thanks Mads. That might explain a few things.

#82765
Mar 19, 2014 14:16
Vote:
 

protectedAddOns is actually set automatically by EPiServer to "modules\_protected" when installing EPiServer.Packaging from Nuget and/or when running the cmdlet to harmonize protected modules location.

This was actually introduced already in Update 8:

"Optional step after installing EPiServer.Packaging.UI: To unify the location of installed add-ons, you can use a cmdlet to move installed add-ons from the appData folder to the modules/_protected folder inside the web application. See the ReadMe file when installing EPiServer.Packaging.UI."

web.config can also contain configuration for protectedAddOns in section <episerver.packaging> have you checked that? This the the case at least when you have customized modules location previously.

I also noticed there is new nuget packet for Commerce.UI. Should that be installed also? As with pure CMS installation the CMS.UI needed to be installed.

 

#82773
Mar 19, 2014 14:29
Vote:
 

Ah Packaging! I didn't install that when I did my test. I need to test that as well. It's probably the packaging thingy that moved the "EPiServer.Commerce.AddOns.Manager" folder as well!

Commerce.UI should be installed on a commerce site. Actually the nuget package EPiServer.Commerce is from 7.6.0 just a placeholder for the two required packages EPiServer.Commerce.Core and EPiServer.Commerce.UI.

#82775
Mar 19, 2014 14:38
Vote:
 

Yes. It's EPiServer.Packaging nuget package that rewrites the physicalPath and that causes problems when we have commerce installed. I will report a bug on it and we'll fix it ASAP.

Thanks for all the invaluable feedback guys!

#82776
Mar 19, 2014 14:55
Vote:
 

If you are upgrading from 7.5 to 7.6 and then install new EPiServer.Packaging, it doesn't rewrite physicalPath until you run cmdlet
Move-EPiServerProtectedModules. 

#82823
Mar 20, 2014 9:33
Vote:
 

Here is a link which gives you more info regarding what EPiServer.Packaging does and why it moves the AddOns to /modules/_protected/ location. 

http://world.episerver.com/Blogs/Khurram-Hanif/Dates/2014/3/EPiServer-76-Protected-Site-Add-Ons-location/

#82825
Mar 20, 2014 9:50
Vote:
 

Yeah, since yesterday I'm unable to reproduce the issue again. I inclined to believe that I forgot to change the physical path back to after I manually changed it before installing the packaging nuget package.

Im closing the bug I reported yesterday as unable to reproduce. If anyone else know of a way to reproduce this issue we can look at it again. 

#82836
Mar 20, 2014 10:46
Vote:
 

Aaand now I'm able to reproduce it again by running the cmdlet Khurram mentions above. I got some error in visual studio when running the cmdlet that might explain the errors. Consider the bug re-opened.

#82841
Mar 20, 2014 11:22
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.