This is a migrated thread and some comments may be shown as answers.

Tag Cloud Fails with Text Based Browsers

6 Answers 74 Views
TagCloud
This is a migrated thread and some comments may be shown as answers.
rootberg
Top achievements
Rank 2
rootberg asked on 06 Aug 2010, 04:06 PM
I didn't want to put this in a support ticket as it isn't a big deal and isn't a show stopper as I am sort of pushing the control to it's limits (i think) but I thought it should be noted somewhere... So here it goes:
 
I was playing around with the new tag cloud control and I came across a strange problem. When I create a tag cloud with a large quantity of items, the page renders fine in any image based browser, but when I attempt to browse the page with a text based browser like Lynx or hit the page with GoogleBot, the page errors out with an exception.

In my test scenario, I grabbed a list of Chicago neighborhoods (yes I know 216 items is a little silly for a tag cloud, but as I said I am pushing the control to its limits), and stuck them into the tag cloud, giving each a url and weight.

I then tested the page in all the popular browsers( IE 8, F.F., Safari, Chrome and Opera) and had no problems with the page and it rendered properly.

I then attempted to view the page with Lynx and I got the following exception:

[ArgumentOutOfRangeException: Specified argument was out of the range of valid values. Parameter name: value]
   System.Web.UI.WebControls.Unit..ctor(String value, CultureInfo culture, Unit Type defaultType) +8671148
   System.Web.UI.WebControls.FontUnit..ctor(String value, CultureInfo culture) +215
   System.Web.UI.Html32TextWriter.ConvertToHtmlFontSize(String value) +71
   System.Web.UI.Html32TextWriter.OnStyleAttributeRender(String name, String value, HtmlTextWriterStyle key) +98
   System.Web.UI.HtmlTextWriter.FilterAttributes() +86
   System.Web.UI.HtmlTextWriter.RenderBeginTag(HtmlTextWriterTag tagKey) +8647477
   System.Web.UI.Html32TextWriter.RenderBeginTag(HtmlTextWriterTag tagKey) +436
   Telerik.Web.UI.RadTagCloud.RenderItems(HtmlTextWriter writer, RadTagCloudItemCollection items) +261
   Telerik.Web.UI.RadTagCloud.RenderContents(HtmlTextWriter writer) +188
   System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer) +32
   Telerik.Web.UI.RadDataBoundControl.Render(HtmlTextWriter writer) +63
   System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +99
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
   System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +134
   System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +19
   System.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter writer) +163
   System.Web.UI.HtmlControls.HtmlContainerControl.Render(HtmlTextWriter writer) +32
   System.Web.UI.HtmlControls.HtmlForm.Render(HtmlTextWriter output) +51
   System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +99
   System.Web.UI.HtmlControls.HtmlForm.RenderControl(HtmlTextWriter writer) +40
   System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +134
   System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +19
   System.Web.UI.Page.Render(HtmlTextWriter writer) +29
   System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +99
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
   Telerik.Web.UI.RadAjaxControl.RenderPageInAjaxMode(HtmlTextWriter writer, Control page) +596
   System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +256
   System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +19
   System.Web.UI.Page.Render(HtmlTextWriter writer) +29
   System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +99
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1266

I also attempted to use Google's webmaster tools to test the page with GoogleBot, and the result was "Unreachable".

6 Answers, 1 is accepted

Sort by
0
Rumen
Telerik team
answered on 10 Aug 2010, 04:24 PM
Hi Rootberg,

RadTagCloud does not offer out-of-the box support for text based browsers. You can find a list of the supported browsers in the Browser Support article.

Nevertheless, we will research this scenario and if possible we will handle the error.

Kind regards,
Rumen
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
0
rootberg
Top achievements
Rank 2
answered on 10 Aug 2010, 04:44 PM
My issue isn't the text browser per se, it is more that the page will fail when hit by a bot engine like GoogleBot, and then the page will not be indexed.
0
Pero
Telerik team
answered on 16 Aug 2010, 11:09 AM
Hello Rootberg,

It seems like this is a server-side exception that can occur not only under Lynx browser, but also under any other browser - IE, Firefox, Chrome. I think the issue might be possibly related to one of the following:
  • The CultureInfo is different when viewing the page with Lynx browser, and the font-side is not is not correctly converted from Unit to string.
  • The weight of the font-size is not calculated correctly, and as a result an exception is thrown.

I tested our first look demo of the TagCloud with the Lynx browser from the following web-site: http://www.vordweb.co.uk/standards/download_lynx.htm, and did not experience any problems. Please find attached a screenshot of the page viewed in Lynx browser.

Could you please send us the source code of the test page that throws the exception? Also provide detailed steps that we need to follow in order to reproduce the issue.

Regards,
Pero
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
0
Fit2Page
Top achievements
Rank 2
Iron
Iron
Iron
answered on 11 Oct 2010, 08:32 AM
Hi,

I also got errors from the tagcloud.
We placed it to get higher page ranking but googlebot encounters an error:

Bericht: The numeric part ('109,3902') of '109,3902%' cannot be parsed as a numeric part of a Percentage unit.


Stack Trace:
at System.Web.UI.WebControls.Unit..ctor(String value, CultureInfo culture, UnitType defaultType) at System.Web.UI.WebControls.FontUnit..ctor(String value, CultureInfo culture) at System.Web.UI.Html32TextWriter.ConvertToHtmlFontSize(String value) at System.Web.UI.Html32TextWriter.OnStyleAttributeRender(String name, String value, HtmlTextWriterStyle key) at System.Web.UI.HtmlTextWriter.FilterAttributes() at System.Web.UI.HtmlTextWriter.RenderBeginTag(HtmlTextWriterTag tagKey) at System.Web.UI.Html32TextWriter.RenderBeginTag(HtmlTextWriterTag tagKey) at Telerik.Web.UI.RadTagCloud.RenderItems(HtmlTextWriter writer, RadTagCloudItemCollection items) at Telerik.Web.UI.RadTagCloud.RenderContents(HtmlTextWriter writer) at System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer) at Telerik.Web.UI.RadDataBoundControl.Render(HtmlTextWriter writer) at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) at System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) at System.Web.UI.Control.RenderControl(HtmlTextWriter writer) at ASP.includes_footer_ascx.__Render__control1(HtmlTextWriter __w, Control parameterContainer) in C:\inetpub\wwwroot\Insight\mprise\includes\footer.ascx:line 16 at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) at System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) at System.Web.UI.Control.Render(HtmlTextWriter writer) at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) at System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) at System.Web.UI.Control.RenderControl(HtmlTextWriter writer) at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) at System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) at System.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter writer) at System.Web.UI.HtmlControls.HtmlContainerControl.Render(HtmlTextWriter writer) at System.Web.UI.HtmlControls.HtmlForm.Render(HtmlTextWriter output) at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) at System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) at System.Web.UI.HtmlControls.HtmlForm.RenderControl(HtmlTextWriter writer) at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) at System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) at System.Web.UI.Control.Render(HtmlTextWriter writer) at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) at System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) at System.Web.UI.Control.RenderControl(HtmlTextWriter writer) at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) at System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) at System.Web.UI.Page.Render(HtmlTextWriter writer) at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) at System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) at System.Web.UI.Control.RenderControl(HtmlTextWriter writer) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

###########################################

tagcloud programmed like:

<telerik:RadTagCloud ID="RadTagCloud1" runat="server" DataSourceID="SqlDataSource1" DataTextField="term" DataWeightField="score" DataNavigateUrlField="url" Skin="Web20" Sorting="AlphabeticAsc" RenderItemWeight="False" MaxFontSize="150%" MinFontSize="75%"></telerik:RadTagCloud>

##########################################
Is there a solution for this?

Regards,
Marc
0
Pero
Telerik team
answered on 13 Oct 2010, 03:13 PM
Hello Marc,

I think this problem is related to the fact that the page containing the TagCloud control has UICulture and Culture different than the standard (English) culture. That's why a "comma" instead of "point" is used as a decimal separator.

Please change the UICulture and the Culture of the page to en-US, and see if the problem persists.
We will make sure that UICulture and Culture do not affect the control in the next release.

Sincerely yours,
Pero
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
0
Fit2Page
Top achievements
Rank 2
Iron
Iron
Iron
answered on 14 Oct 2010, 09:36 AM
Hi Pero,

The UICulture definitely was the problem.

Marc
Tags
TagCloud
Asked by
rootberg
Top achievements
Rank 2
Answers by
Rumen
Telerik team
rootberg
Top achievements
Rank 2
Pero
Telerik team
Fit2Page
Top achievements
Rank 2
Iron
Iron
Iron
Share this question
or