Virtual Happy Hour this month, Jun 28, we'll be getting a sneak preview at our soon to launch SaaS CMS!

Try our conversational search powered by Generative AI!

Blank page after upgrade

Vote:
 

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.

#79316
Dec 13, 2013 9:49
Vote:
 

Did you get this figured out?

#79611
Dec 22, 2013 20:02
Vote:
 

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.

#79866
Jan 08, 2014 21:50
Vote:
 

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?

#79890
Jan 09, 2014 10:23
Vote:
 

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)

#80176
Jan 16, 2014 9:19
Vote:
 

No I kinda put this on hold for now... Let me know if you find a solution!

#80177
Jan 16, 2014 9:30
Vote:
 

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:

  • EPiServer CMS version: 7.0.586.24
  • EPiServer Framework version: 7.0.859.24

 

Still not a solution, but closer to it.

#82304
Edited, Mar 10, 2014 14:29
Vote:
 

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?

#82443
Edited, Mar 12, 2014 13:36
Vote:
 

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.

#82493
Mar 13, 2014 15:05
Vote:
 

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

#82494
Edited, Mar 13, 2014 15:05
Vote:
 

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.

#84495
Apr 02, 2014 15:18
Vote:
 

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.

#84497
Apr 02, 2014 15:26
Vote:
 

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?

#84501
Apr 02, 2014 15:44
Vote:
 

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...

#84502
Apr 02, 2014 15:50
Vote:
 

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.

#84535
Edited, Apr 03, 2014 7:06
This thread is locked and should be used for reference only. Please use the Episerver CMS 7 and earlier versions forum to open new discussions.
* 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.