WCM can't use more than 1 webpart on a page?

 

There seems to be issues with WCM in either using multiple iparts on a content record... or in using the same ipart on content record - each with slightly differernt configuration options set.

We have a page that was published and working using  3 iparts (same ipart all 3 configured differently).  We had some issues with the publishing service and after reinstalling the service manually that seems to be resolved. I can publish new pages but this page is not working.

The naviagtion item shows as published, the content record will publish successfully but the red bar next to it never goes away... and the status indicates publishpending.  Has anyone esle seen this behavior... we are trying to figure out what the issues are... and what if we can work around this.

We are getting the following error on the page:

################# ERROR MESSAGE#######################

Server Error in '/iMIS15' Application.
--------------------------------------------------------------------------------

Unable to load requested business object Document (DocumentVersionKey=2ba0a527-0e95-4824-ac2e-772dfa3930f0, publishedOnly=True)
Description: 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.

Exception Details: Asi.Business.BusinessItemLoadException: Unable to load requested business object Document (DocumentVersionKey=2ba0a527-0e95-4824-ac2e-772dfa3930f0, publishedOnly=True)

Source Error:

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.

Stack Trace:

[BusinessItemLoadException: Unable to load requested business object Document (DocumentVersionKey=2ba0a527-0e95-4824-ac2e-772dfa3930f0, publishedOnly=True)]
Asi.Business.Common.DocumentController.Document(Guid documentVersionKey, BusinessContainer container, Boolean publishedOnly, Boolean forceReloadOnInitialFailure) +636
Asi.Business.Common.DocumentController.Document(Guid documentVersionKey, BusinessContainer container) +67
Asi.Web.UI.ContentRecordPage.OnInit(EventArgs e) +203
System.Web.UI.Control.InitRecursive(Control namingContainer) +333
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +378

--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:2.0.50727.3082; ASP.NET Version:2.0.50727.3082
################# END ERROR #########################
 

 

 

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Make sure the name of each

Make sure the name of each web part (in the configure dialog) is unique; it can cause issues if there are multiple web parts with the same name on a single content record.

Can you open the content record in the editor? Does it display as expected there?

The Names are Different

They are named differently in the content record and I can see the correct result on the content record.  When publishing it is says it is prepared for publishing with no errors... then I get the following error in the publishing service log

Unable to render the content item ca7b5a74-c837-4731-9738-c390cd55d7ae for search. The returned exception information was: [if lte IE 6]>  <script type="text/javascript">      ie6 = true;  </script>  <![endif]. 2009-09-23 10:57:09.203 Asi.Business.ContentManagement.ContentType.ContentTypeBase.RenderForSearch

SQL update to documentmain setting status to 40 - published

If I do a sql query on this documentversionkey of the error  and then select the record I want to update and set the publish status to 40 - then I don't get any error and the page displays as expected (with 1 web part on it) -- I''m going to try now to add multiple web parts and do the same thing).

 

 

Setting the

Setting the DocumentStatusCode to 40 will mark the record as published, but it won't actually cause changes to be written to the .aspx file or search metadata, so you cannot publish Content Records that way.

Record gets updated but the status does not get updated.

Eric,

When I publish the content record the aspx page gets updated (time stamp), but the status gets set to publishpending.  So when the page actually tries to find a content version that has a published status it errors out  ( publishedOnly=True).    I was able to put the web part on the page 3 times and again when I publish this it updates the aspx page and sets the status to publishpending.  I get the error... when I update the status then the page displays correctly.  I'll update my SMR but there is definatley an issue with the way the status is being set.

The status being set that

The status being set that was is expected.

Publishing a content record sets its status to PublishPending and creates a publish request in the database. The publishing server(s) will see that request, load the PublishPending record, create the physical files, and update the status to Published -- it will not get set to Published until and unless all publish servers have successfully published the record, so if you have a publishing service defined that doesn't have a publish server set up, or the publish server is stopped, the record will never finish publishing. (Note that the *existing* Published version of the content record doesn't get set to Archived until this final step, so if the content has ever been successfully published this shouldn't be a problem.)

The error message you posted implies that the iPart is doing something during rendering for search that is causing an error; this is very easy to do when developing an iPart. Is it an ASI-provided iPart or from another source?

Both... we have had this

Both... we have had this problem with a custom build ipart and also the content file ipart hat ASI provided.  I did not test any others - but was able to replicate the issue with that ipart because tech support had an issue reported similiar to this error.  We can publish other content so if it where an issue with other publishing servers nothing should publish completely right?

If the steps are PublishPending, create physical files, update status to published - then it seems it is just the status that is not happening correctly.  From your comment about the rendering for search - What does this error mean?  The aspx is update and the page renders correctly.  Do you have any more inforamtion about what that error is and what it is caused from when building an iPart? 

There are two steps when

There are two steps when publishing a content record. The first is to create the physical .aspx file that actually gets served to the user. This part is happening correctly in your case.

The second step is rendering the search metadata for the content record. For this step, the publishing server actually requests a special page containing each individual web part in sequence, in order to get the rendered markup (this is so that things like dynamic data etc can be included in the search metadata). The resulting data is stored in the search index. This is the part that is failing -- usually this happens if the iPart crashes when it doesn't have data (which it will not when loaded in the special search rendering page).

Both parts must succeed for the status to be updated.