|
When trying to make a chart using FusionWidgets,
if you get any errors (or if the chart doesn't render), there could a
lot of reasons for it. Here, we'll try and cover them up. We've divided
the entire debugging process into two sections:
- Basic Troubleshooting - Manual problem solving methods.
- Using the Debug Mode - FusionWidgets v3 introduces the new Debug Window
Mode, which helps you un-earth the problems with your chart. We'll cover
that in next page.
Let's get to basic trouble shooting first. While creating your chart,
if for some reasons you do not see your chart like it should, check for
the following actions: |
When viewing your page containing the chart,
if you see an endless loading progress bar in your browser, or if the
right click menu (right click at the place where the chart is supposed
to be) shows "Movie not loaded",
check the following:
- Check if the SWF path is properly provided in your HTML page is correct.
Also, check if the SWF file actually exists there.
- If you're working on a case-sensitive file system Operating System,
check for the case of path and SWF file.
- Check if you've Adobe Flash Player 8 (or above) installed on your
machine.
- Check whether you've enabled your browser to show ActiveX controls.
Normally, all browsers are Flash-enabled.
|
If you get an "Error in Loading Data"
message in your chart, it means that FusionWidgets could not find XML data
at the specified URL. In that case, check the following:
- Check if you've actually provided dataURL
or dataXML. If you do not provide either,
FusionWidgets looks for a default Data.xml file
in the same path. However, if that is also not found, it shows the "Error
in Loading Data" error.
- If you're using dataURL method, paste
this URL in your browser to check if it's returning a valid XML. Make
sure there are no scripting or time-out errors and a valid XML is being
returned. Also make sure that the XML isn't intermingled with HTML content.
The data provider page should return clean XML only - not even HTML
<head> or <body>
tags.
- If you've to pass parameters to your dataURL
data provider page from FusionWidgets, make sure they're URLEncoded in
the dataURL, when providing to FusionCharts. e.g., if your dataURL needs
to be Data.asp?id=43&subId=454,
you'll need to URL Encode it so that it becomes Data%2Easp%3Fid%3D43%26subId%3D454.
Only then FusionWidgets will invoke the URL with proper parameters appended
to it.
- When using dataURL method, make sure
that the SWF File and data provider page are on the same sub-domain.
Due to Flash's sandbox security model, it cannot access data from external
domains, unless otherwise configured.
|
If you get an "Invalid XML Data"
message, it means that the XML data document is malformed. Check it again
for common errors like:
- Difference in case of tags. <chart>
should end with </chart> and not
</Chart> or
</CHART>
- Missing opening/closing quotation marks for any attributes. e.g.,
<chart caption=Monthly Sales' should
be <chart caption='Monthly Sales'
- Missing closing tag for any element.
- If you're using any special characters in your XML, make sure they're
properly encoded. Like, in dataXML method,
% needs to be encoded as %25, & as %26 and so on. In dataURL
method, you can provide most of the characters directly, without the
need to encode.
- In dataXML method, check for conflict
of ' (XML Attribute Character) and " (HTML Parameter Character).
For example, if you're using direct HTML embedding
method, and using " for HTML parameters, then you need to make
sure that all your XML attributes use ' as containers. Example: <param
name="FlashVars" value="<chart showLabels='1' showValues='1'>...</chart>"
/>
- If you've quotes as part of your data, XML Encode them to
' Example: <set name='John's
House' />
- To get more information on what the error in XML is, you can either
use the Debug Window (explained next) or open the XML in your browser.
|
- You've included reference to FusionCharts.js in your code.
- You've copied FusionCharts.js at the right place.
- You've included the proper path to this JS file in your HTML code.
|
If your chart shows a "No data to display"
message, it could be the following scenarios:
- Your XML data doesn't contain any data that could be plotted by FusionWidgets.
In this case, your XML just contains the <chart>
or <dataset> tags without any
data between them.
- You might be using a single-series chart SWF and providing data in
multi-series format or vice-versa. In this case too, you'll get "No
data to display" message.
- In some Dual Y Combination charts, you need to provide atleast one
data-set for both the axis. Otherwise, you'll get a "No data to
display" message.
|
- You've set registerWithJS flag as 1 in the chart's constructor method.
- You've not placed the chart inside a FORM element. When the chart is inside a FORM element, the browser cannot access the chart using DOM.
- Make sure that you're not calling the JavaScript method before the chart has loaded and rendered. You need to use FC_Rendered function of chart to track the loading of chart as explained in the section "FusionWidgets and JavaScript"
- Make sure that you're NOT running the chart from local file system (C:\ , D:\). Instead, run the chart from behind a server (localhost - IIS, Apache etc.). This is because the Flash Player security settings do not allow chart to JavaScript interaction on local file system by default, unless otherwise specifically set.
Next, we'll see how to use the Debug Window to trouble shoot. |
|