EPi7 edit mode is pretty error prone. It loads massive amounts of Dojo stuff. There is several of reasons to empty screen.
This solved my problem:
If you have module.config file in root of your website, remove it (temporarily at least) and make iisreset. If edit mode loads normally you have something wrong in module.config.
If you don't have module.config file you got to try something else.
One reason might be name conflict. If you have wrong kind of property name, edit mode will be blank. But I can't find or remember it right now.
No, I don't have a file named module.config anywhere in my solution or web root. The page types are editable in admin mode so they seem to work, but can it still be a problem with them?
Did you manage to solve this. I also tried every solution i could find, but its still blank.
Interesting is that i dont even see "All Properties" button (right from Options dropdown)
Have the same problem after migration from CMS 6 R2 to 7.1 patch 4
Installed EPiServer UI uncompressed JavaScript code trough add on store to see more details and figured out following.
Request that returns context is missing preview url:
http://myserver/cms/shell/Stores/context/?uri=epi.cms.contentdata:///1
returns:
{}&&
{
"parentLink":"",
"customViewType":"epi.cms.pagedata.root",
"language":"no",
"publicUrl":"http://myserver/",
"capabilities":
{
"versionable":true,
"dynamicProperties":true,
"isFolder":false,
"isPage":true,
"languageSettings":false,
"contentResources":true,
"isBlock":false,
"language":true,
"securable":true
},
"languageContext":
{
"isTranslationNeeded":false,
"language":"no",
"isPreferredLanguageAvailable":true,
"preferredLanguage":"no",
"reason":1,
"warning":null,
"hasTranslationAccess":true
},
"hasSiteChanged":false,
"fullHomeUrl":"http://myserver/cms/CMS/",
"versionedUrl":"",
"dataType":"epi.cms.page",
"hasTemplate":true,
"uri":"epi.cms.contentdata:///1_1",
"previewUrl":"",
"data":null,
"name":"Root",
"requestedUri":"epi.cms.contentdata:///1",
"versionAgnosticUri":"epi.cms.contentdata:///1"
}
So if I use Fiddler and fill previewUrl in response with: "/cms/CMS/no/,,1_1/?id=1_1&epieditmode=true" - edit mode works
Otherwise if its null we have JScript error that leads half of JScript code not executing and therefore blank edit mode.
Following versions used:
Still not a solution, but closer to it.
It may be that the routing isn't wired up properly. My gues is that a call to
// using EPiServer.Web.Routing;
RouteTable.Routes.GetVirtualPath(new ContentReference(1), "en", true, true)
returns null, which in turn causes the preview url to be empty.
Have you perhaps overridden the EPiServer.Global.RegisterRoutes, or something similar?
Indeed Routes were the problem.
We did use Glimpse, so we removed it.
Before removing Glimpse all our routes were of type: Castle.Proxies.RouteBaseProxy, Castle.Proxies.RouteProxy, Castle.Proxies.RouteProxy_1 or similarly
After removing: EPiServer.Web.Routing.ContentRoute, EPiServer.Shell.Web.Routing.ModuleRouteCollection, EPiServer.Shell.Services.Rest.RestRoute, EPiServer.Web.Routing.StaticFileRemapRoute and so on, the same as in clean EPiServer site
As Stefan Torstensson mentioned EPiServer.Web.Routing.GetVirtualPath method was one that used UrlResolver that needed to be able to find proper routes.
EPiServer.Web.Routing.UrlResolver has method:
/// <summary>
/// Gets the url for a <see cref="T:EPiServer.Core.IContent"/> instance that is given by reference <paramref name="contentLink"/>
/// </summary>
/// <param name="contentLink">The content.</param><param name="language">The language.</param><param name="routeValues">The route values.</param><param name="requestContext">The request context.</param>
/// <returns/>
public virtual VirtualPathData GetVirtualPath(ContentReference contentLink, string language, RouteValueDictionary routeValues, RequestContext requestContext)
{
if (requestContext == null)
{
requestContext = new RequestContext();
requestContext.RouteData = new RouteData();
}
foreach (RouteBase routeBase in Enumerable.Where<RouteBase>((IEnumerable<RouteBase>) this._routes, (Func<RouteBase, bool>) (r => r is ContentRoute)))
{
RouteValueDictionary values = routeValues != null ? new RouteValueDictionary((IDictionary<string, object>) routeValues) : new RouteValueDictionary();
values[RoutingConstants.LanguageKey] = (object) (language ?? this.PreferredLanguageAccessor());
values[RoutingConstants.NodeKey] = (object) contentLink;
VirtualPathData virtualPath = routeBase.GetVirtualPath(requestContext, values);
if (virtualPath != null)
return virtualPath;
}
return (VirtualPathData) null;
}
and the problem is/was: 'r => r is ContentRoute' part of it, it would filter out all the Castle.Proxies.* classes even thou most likely they did inherit from original EPiServer classes(or did they?).
Anyway removing Glimpse libraries and configuration solved the problem described.
So thank you Stafan for assistance.
However after doing this, yet another problem poped out:
NullReferenceException: Object reference not set to an instance of an object.
EPiServer.Business.Commerce.Providers.CatalogEntryPageRoute.OnVirtualPathCreated(Object sender, UrlBuilderEventArgs e) +66
EPiServer.Web.Routing.ContentRoute.GetVirtualPath(RequestContext requestContext, RouteValueDictionary values) +487
EPiServer.Web.Routing.UrlResolver.GetVirtualPath(ContentReference contentLink, String language, RouteValueDictionary routeValues, RequestContext requestContext) +516
EPiServer.Web.Routing.UrlResolver.GetVirtualPath(ContentReference contentLink, String language) +25
EPiServer.Cms.Shell.IContentExtensions.PublicUrl(IContent content, String languageBranch) +284
.............................
For it solution is there: http://epiwiki.se/troubleshooting/episerver-commerce/installation
I have the same problem, but I haven`t done anything with the Routes.
I had problem with admin, legacy mode, but fixed them after some time, but edit mode is still blank and previewURL is blank.
On another site we had a similar problem after upgrading to 7.6, but that had to do with modules, modulesbin and appData folder not having the correct files.
I took a clean Alloy Modulesbin and modules folder in and updated to 7.1 via the add-on and still same. Did you fix your problem Christer?
I didn't take more time to examine it because we only have like 15 pages on the site so we'll create a new site and move them by hand. Would be good to find a solution though for when we'll have to upgrade another site with a couple of hundred pages...
I would strongly suggest in cases like these - to use some tool to debug EPiServer libraries and figure problem out step by step, see with your own eyes where and why EPiServer fails. That is the simplest and fastest way, and when problem is found they are either a lot easier to fix and forums usually are a lot more helpful when you have more details.
Hi! I've upgraded our CMS 6 R2 multisite to EPiServer 7 and rewritten the PageTypeBuilder classes to the new built-in page type definition. I can log on and access admin mode, but when I browse to the site or enter edit mode no page is rendered. I get no errors in any log or in Firebug, until I click on form edit mode where Firebug shows the error "TypeError: this._currentViewModel is null". This lead me to believe that I haven't hooked up the page template to the page type correctly, but when I go to classic edit mode everything works and the page is rendered using the correct page template. Any ideas? I've also emptied Temporary ASP.NET Files with no result.