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!

Added ExtensionContentArea to Composer PageType, but it's not visible on existing pages.

Vote:
 

Hi,

I have a Composer PageType which originally only had one ExtensionContentArea and a lot of pages of that type. After recent developments I have added another ExtensionContentArea to my Page Type (re-registered areas, etc.), but the problem is that this new ExtensionContentArea is only visible/usable on pages which I have created after the Page Type was updated. It does not show up (not even in the html source) on older pages.

Has anyone encountered this problem before? And Does anyone know how to fix it?

I use EPiServer CMS 5.2.375.236 and Composer version 3.2.6

 

Thank you in advance,

Moquan

#41005
Jun 28, 2010 14:02
Vote:
 

I have encountered the same issue with EPiServer 6 and Composer 4. Would really like to find a solution for this! Running the Edit on Page with Firebug I get an error on pages created before the adding of ContentAreas:

http://webbpage/Dropit/Plugin/Extension/UI/Edit/Factory/LoadPageStruct.aspx 500 Internal Server Error

 

[NullReferenceException: Object reference not set to an instance of an object.]
   Dropit.Extension.UI.Edit.LoadPageStruct.DataProcess() +484
   System.Web.UI.Control.OnLoad(EventArgs e) +131
   System.Web.UI.Control.LoadRecursive() +65
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint

 

[NullReferenceException: Object reference not set to an instance of an object.]   Dropit.Extension.UI.Edit.LoadPageStruct.DataProcess() +484   System.Web.UI.Control.OnLoad(EventArgs e) +131   System.Web.UI.Control.LoadRecursive() +65   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint

Also there is a javascript error stating root is null in x3.min.js

 

root is null

http://webpage/Dropit/Plugin/Extension/UI/Js/x3.min.js

Line 1

JSFx=function(){this.type="JSFx";};JSF...veCompleteEvent.ResetEventHandler();};

 

#43529
Edited, Sep 16, 2010 13:50
Vote:
 

@Moquan Chen : Have you solved the issue or you still need help?

@Tobias Gladh: Could you verify that the html on you modified page template is valid. Did you change any Id of the existing areas?

Just for clairification: The new content areas should be applied to the pages that had been created before the adding new conent area when you editing the page (just verified that it works on a CMS 5.2 with Public Template and Composer 3.2.6 and another site with CMS 6.0 and Composer 4.0.

 

#43533
Sep 16, 2010 14:42
Vote:
 

The Html is ok and everything works on a page of the same kind but created after the registration of new content areas.

#43548
Sep 16, 2010 16:50
Vote:
 

I have had this problem in several versions, including Composer 4. The solution I find is the easiest (depending on the size of the site) is to edit the old pages and publish them again. In most cases, this works. In some, it doesn´t.

Perhaps you could initialize the page, in some way, to force it to load the new functionality. Otherwise, report it as a bug or I will :)

#43757
Sep 22, 2010 21:21
Vote:
 

Wasted an hour on a similar problem (CMS 6 and composer 4). Converted an old pagetype to a new pagetype, and then created a new composer page out of that. Everything seemed ok, but the edit area did not show on my converted page when I tried edit on page.

Noticed a "composer is disabled" message for the page when I looked at it in edit -> composer tab within editmode of episerver. Ticked the checkbox "mark page as changed", and saved it again. Made the composer edit area appear.

#44920
Oct 20, 2010 18:00
Vote:
 

Hi all,

Concern the issue with Composer edit tab is disable for the page that created before converting of page type.

I will try to explain how Composer works and hope that you can understand what's might go wrong in each specific case

A composer page type differs from a CMS standard page type is that it contains a property name "ExtensionPageProperty" (type Extension Page Property). When creating a new page from a registered Composer page type, the property will be completed with a xml-value represents the structure of the page. You can debug this value by adding the following code line to your html of the page template

<% Response.Write(string.IsNullOrEmpty((string)CurrentPage["ExtensionPageProperty"]) ? "Not initialized" : HttpUtility.HtmlEncode(CurrentPage["ExtensionPageProperty"].ToString()));  %>

The value of ExtensionPageProperty is created in DataFactory.CreatedPage event and DataFactory.SavedPage event  but not onLoad and that's why the page that was created before converting doesn't contain any structure and is NULL. When trying to go to the tab "Composer" or Edit-on-page mode, Composer will check this value and if it's null, the edit functionaility for Composer will be disabled.

To work around this problem, you can write a script for resaving old pages as Andreas Thente suggested or listen to the event DataFactory.LoadingPage and initialize the value of ExtensionPageProperty by calling PageDataManager.InitializeSpecializedPageData()

I hope it helps and we will take a closer look at this to the next version of Composer.

Regards.

Hieu Doan

#44945
Oct 21, 2010 15:53
Vote:
 

I found this post when I Googled an error message.

I get the following error when Composer is loading (written out from Firebug):

 

<!DOCTYPE html>
<html>
    <head>
        <title>Object reference not set to an instance of an object.</title>
        <meta name="viewport" content="width=device-width" />
        <style>
         body {font-family:"Verdana";font-weight:normal;font-size: .7em;color:black;} 
         p {font-family:"Verdana";font-weight:normal;color:black;margin-top: -5px}
         b {font-family:"Verdana";font-weight:bold;color:black;margin-top: -5px}
         H1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
         H2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
         pre {font-family:"Consolas","Lucida Console",Monospace;font-size:11pt;margin:0;padding:0.5em;line-height:14pt}
         .marker {font-weight: bold; color: black;text-decoration: none;}
         .version {color: gray;}
         .error {margin-bottom: 10px;}
         .expandable { text-decoration:underline; font-weight:bold; color:navy; cursor:hand; }
         @media screen and (max-width: 639px) {
          pre { width: 440px; overflow: auto; white-space: pre-wrap; word-wrap: break-word; }
         }
         @media screen and (max-width: 479px) {
          pre { width: 280px; }
         }
        </style>
    </head>

    <body bgcolor="white">

            <span><H1>Server Error in '/' Application.<hr width=100% size=1 color=silver></H1>

            <h2> <i>Object reference not set to an instance of an object.</i> </h2></span>

            <font face="Arial, Helvetica, Geneva, SunSans-Regular, sans-serif ">

            <b> Description: </b>An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

            <br><br>

            <b> Exception Details: </b>System.NullReferenceException: Object reference not set to an instance of an object.<br><br>

            <b>Source Error:</b> <br><br>

            <table width=100% bgcolor="#ffffcc">
               <tr>
                  <td>
                      <code>

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.</code>

                  </td>
               </tr>
            </table>

            <br>

            <b>Stack Trace:</b> <br><br>

            <table width=100% bgcolor="#ffffcc">
               <tr>
                  <td>
                      <code><pre>

[NullReferenceException: Object reference not set to an instance of an object.]
   Dropit.Extension.UI.Edit.LoadPageStruct.DataProcess() +541
   Dropit.Extension.UI.Edit.LoadPageStruct.Page_Load(Object sender, EventArgs e) +21
   System.Web.UI.Control.OnLoad(EventArgs e) +92
   System.Web.UI.Control.LoadRecursive() +54
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +670
</pre></code>

                  </td>
               </tr>
            </table>

            <br>

            <hr width=100% size=1 color=silver>

            <b>Version Information:</b> Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.17626

            </font>

    </body>
</html>
<!-- 
[NullReferenceException]: Object reference not set to an instance of an object.
   at Dropit.Extension.UI.Edit.LoadPageStruct.DataProcess()
   at Dropit.Extension.UI.Edit.LoadPageStruct.Page_Load(Object sender, EventArgs e)
   at System.Web.UI.Control.OnLoad(EventArgs e)
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
[HttpUnhandledException]: Exception of type 'System.Web.HttpUnhandledException' was thrown.

   at System.Web.UI.Page.HandleError(Exception e)
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   at System.Web.UI.Page.ProcessRequest()
   at System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context)
   at System.Web.UI.Page.ProcessRequest(HttpContext context)
   at ASP.dropit_plugin_extension_ui_edit_factory_loadpagestruct_aspx.ProcessRequest(HttpContext context) in c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\8bb407c6\3b1216c7\App_Web_bmidfbd3.8.cs:line 0
   at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
    
#62017
Edited, Oct 10, 2012 13:40
This thread is locked and should be used for reference only. Please use the Legacy add-ons 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.