November Happy Hour will be moved to Thursday December 5th.
November Happy Hour will be moved to Thursday December 5th.
Were the virtual paths in EPiServerFramework.config changed during the upgrade ?
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
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.
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.
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.
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>
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.
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.
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.
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>
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.
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.
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!
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.
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/
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.
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.
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