Hello,


I'm facing an issue with the Rich Widgets and Sanitization components. Some eSpaces don't even load, and throw an Internal Error as you can see below. I've noticed, looking at the error stack, that the problem seems to be related with a usage of the SanitizeHtml function on the FeedbackMessage webblock from RichWidgets.

I've already tried publish the System_Components solution, but the error did not stop. Also tried to refresh the dependencies for the eSpaces that pop the error, but it's not helping either.

My platform_server version is 10.0.816.0 and until now I've only faced this problem on Development Environments. Only to mention, the problem started last week, apparently out of nothing, I don't remember doing anything different involving the System Components or the platform installation.

Does anyone have a clue? Thanks in advance.


Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))
   at ssRichWidgets.RssExtensionSanitization.MssSanitizeHtml(HeContext heContext, String inParamHtml, String& outParamSanitizedHtml)
   at ssRichWidgets.Functions.rssextensionsanitization_ActionSanitizeHtml(HeContext heContext, String inParamHtml)
   at ssRichWidgets.Flows.FlowRichWidgets.WBlkFeedback_Message.expressionSanitizedHtml3()
   at ASP.blocks_richwidgets_richwidgets_feedback_message_ascx.__DataBind__control28(Object sender, EventArgs e)
   at System.Web.UI.Control.OnDataBinding(EventArgs e)
   at System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding)
   at OutSystems.HubEdition.WebWidgets.Span.DataBindChildren()
   at System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding)
   at OutSystems.HubEdition.WebWidgets.Span.DataBind()
   at OutSystems.HubEdition.WebWidgets.If.DataBind()
   at OutSystems.HubEdition.WebWidgets.PlaceHolder.DataBindChildren()
   at System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding)
   at OutSystems.HubEdition.WebWidgets.PlaceHolder.DataBind()
   at OutSystems.HubEdition.WebWidgets.Container.DataBindChildren()
   at System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding)
   at OutSystems.HubEdition.WebWidgets.Container.DataBind()
   at OutSystems.HubEdition.WebWidgets.If.DataBind()
   at OutSystems.HubEdition.WebWidgets.PlaceHolder.DataBindChildren()
   at System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding)
   at OutSystems.HubEdition.WebWidgets.PlaceHolder.DataBind()
   at OutSystems.HubEdition.WebWidgets.If.DataBind()
   at OutSystems.HubEdition.WebWidgets.PlaceHolder.DataBindChildren()
   at System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding)
   at OutSystems.HubEdition.WebWidgets.PlaceHolder.DataBind()
   at OutSystems.HubEdition.WebWidgets.Container.DataBindChildren()
   at System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding)
   at OutSystems.HubEdition.WebWidgets.Container.DataBind()
   at OutSystems.HubEdition.WebWidgets.If.DataBind()
   at OutSystems.HubEdition.WebWidgets.PlaceHolder.DataBindChildren()
   at System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding)
   at OutSystems.HubEdition.WebWidgets.PlaceHolder.DataBind()
   at OutSystems.HubEdition.WebWidgets.OSUserControl.DataBindChildren()
   at System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding)
   at OutSystems.HubEdition.WebWidgets.OSUserControl.DataBind()
   at OutSystems.HubEdition.WebWidgets.If.DataBind()
   at OutSystems.HubEdition.WebWidgets.PlaceHolder.DataBindChildren()
   at System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding)
   at OutSystems.HubEdition.WebWidgets.PlaceHolder.DataBind()
   at OutSystems.HubEdition.WebWidgets.OSUserControl.DataBindChildren()
   at System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding)
   at OutSystems.HubEdition.WebWidgets.OSUserControl.DataBind()
   at OutSystems.HubEdition.WebWidgets.If.DataBind()
   at OutSystems.HubEdition.WebWidgets.PlaceHolder.DataBindChildren()
   at System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding)
   at OutSystems.HubEdition.WebWidgets.PlaceHolder.DataBind()
   at OutSystems.HubEdition.WebWidgets.Container.DataBindChildren()
   at System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding)
   at OutSystems.HubEdition.WebWidgets.Container.DataBind()
   at OutSystems.HubEdition.WebWidgets.OSUserControl.DataBindChildren()
   at System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding)
   at OutSystems.HubEdition.WebWidgets.OSUserControl.DataBind()
   at OutSystems.HubEdition.WebWidgets.Form.DataBindChildren()
   at System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding)
   at OutSystems.HubEdition.WebWidgets.Body.DataBindChildren()
   at System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding)
   at OutSystems.HubEdition.WebWidgets.OSPage.DataBindChildren()
   at System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding)
   at OutSystems.HubEdition.WebWidgets.OSPage.DataBind()
   at ssSpGcf2Cadastros.Flows.FlowGcfDinamica.ScrnGcfDinamicaMpt_List.DataBind()
   at ssSpGcf2Cadastros.Flows.FlowGcfDinamica.ScrnGcfDinamicaMpt_List.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)

Any responses to this??

Hello!

I think that you should open a ticket for this.

https://success.outsystems.com/Support

Best regards,

João Vasconcelos Dias

I found a palliative solution for this case:

In RichWidgets eSpace, there's a SiteProperty called 'FeedBackMessage_ForceHTMLEncode'. The default value on this property is False. If you take a look on the RichWidgets eSpace, you'll see that this property is used in an If statement to use (or not) the function 'SanitizeHtml' which is causing the error.

So, if you change the value to True, the error seems to stop.

What I've noticed about this change, is that if you have a FeedbackMessage with a sentence containg accentuation or special characters and enclose them in the EncodeHtml function, this characters will be changed to some codes. If you don't have this enclose, the sentence will be displayed correctly.