Hi,

thanks for your testing!

On Monday 15 October 2012, SANCHEZ ALBERCA, ALFREDO wrote:
> - In menu Distributions, when I try to calculate some probability tail, if
> you write 0 in the field for quantiles, you get the error: Script error:
> TypeError: Result of expression 'getValue ("q").replace' [undefined] is
> not a function. Inverse trace:
> <anonymous>()@/usr/share/kde4/apps/rkward/distributions/normal_probabilitie
> s.js:5

Indeed. And this is giving me quite a headache, as a similar problem may be 
present in many more plugins (although there are few plugins, where you would 
be likely to enter "0" in a free-text input field).

For some background information, the reason for this bug is that, when 
switching the scripting from PHP to JS (in version 0.5.3), I had added logic 
to getValue() so that the value "0" would always be returned as a number 0, 
not a string. This was needed to keep many plugins working, which are using 
constructs like
   if (getValue ("some_option")) do_something();
In PHP, if some_option had value "0", this would cause the if-clause to be 
false. In Javascript, it would be true, without the special casing. Most of 
the time the special casing is entirely invisible, as Javascript will do 
appropriate type-casting im most places. However, the side-effect that I did 
not think about, it that numbers in Javascript do not have string-specific 
methods like replace() or split().

I'm afraid there is no easy way out of this. I have added a new JS-function 
getString(), which will always return strings, and fixed the distribution 
plugins to use getString(), instead of getValue(). I guess, in the mid-term, 
we'll have to deprecate getValue() altogether, replacing all uses with 
getString(), and getBoolean(). Not quite sure on this, yet.

> - When you load an RData file or import a text or csv data file, you
> couldn't edit it at first. It's necesary to refresh the worksets first.

I tried, but could not reproduce any problem like this. Could you give more 
specific step-by-step instructions on what to do to see the problem?
 
> Proposal:
> - I'm working in a plugin for teaching statistic and I use the javascript
> library mathjax (http://www.mathjax.org/) in order to show formulas (in
> latex or mathml) in the html output page. I put the reference to the
> javascript library in the heading section of the html output, but when I
> clear the output the reference to the javascript library disappear. So, I
> propose to include a new section in the configuration in order to include
> javascript libraries or css style sheets in the head section of the html
> output.

A reasonable suggestion. I have added a parameter to rk.set.output.html.file() 
for this purpose (in the development version, only; this will not be part of 
0.6.0). A new option "rk.html.header.additions" can be used to store a default 
value for this. To use this in all your rkward sessions, you can add
   options (rk.html.header.additions="<script.../>") to Settings->Configure 
RKWard->R-Backend->Further (option) commands...

*However*, there are some caveats to this in your usecase. First, this will 
only affect newly created output files. Second, in general it is not a good 
idea for a plugin to create new output files, or to mess with a user's 
options(). Thus, this will work, only, if you instruct your users to change 
their settings accordingly, *and* start a new output file.

So, if you're looking for a less error-prone solution, I guess you may need to 
trigger loading of the relevant libraries, from a <script> within the <body>-
section of the HTML-document. There are a number of tutorials on the matter on 
the net, e.g. http://unixpapa.com/js/dyna.html .

Regards
Thomas

Attachment: signature.asc
Description: This is a digitally signed message part.

------------------------------------------------------------------------------
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly
what is happening inside your Ruby, Python, PHP, Java, and .NET app
Try New Relic at no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev
_______________________________________________
RKWard-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rkward-devel

Reply via email to