Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

validation of result score #113

Closed
garemoko opened this issue Mar 10, 2014 · 3 comments
Closed

validation of result score #113

garemoko opened this issue Mar 10, 2014 · 3 comments

Comments

@garemoko
Copy link
Contributor

Learninglocker does not accept statements with an empty score raw, score max or score min, but these should be accepted. See #106

Interestingly, it does accept statements where the score values are in quotes. These are rejected by Wax but accepted by Watershed (http://tincanapi.com/public-lrs/). Watershed then returns the statement without quotes. I assume that Wax is technically correct, (I wouldn't expect anything less from @fugu13) but I'd prefer to follow Watershed on this one and accept the statements, correcting the syntax as they come in. Learning Locker currently returns them with quotes, making it incompatible with Wax.

I guess TinCanJS should be validating this, but I also need to update my statement crafter. cc @brianjmiller

@fugu13
Copy link

fugu13 commented Mar 10, 2014

Hi Andrew,

Indeed, you've guessed right :) .

I'd strongly recommend properly validating them as numbers. I can guarantee
you no LRS will be considered conformant if it accepts numbers as strings:
https://github.com/adlnet/xAPI-Spec/blob/master/xAPI.md#lrs-requirements-3

"The LRS MUST reject Statements

  • with strings where numbers are required, even if those strings contain
    numbers."

There's good reason for it, too. The only way the standard is going to
realize a vision where it is easy to move data around and switch/use
multiple LRSs is if validation is strict. That way, if data works when sent
to one LRS, it will work when sent to another LRS. If conformance isn't
strictly defined, then we'll enter the interoperability morass SCORM did.

A data model standard isn't really a standard if it isn't exact.

Sincerely,

Russell

On Mon, Mar 10, 2014 at 6:33 AM, Andrew Downes notifications@github.comwrote:

Learninglocker does not accept statements with an empty score raw, score
max or score min, but these should be accepted. See #106#106

Interestingly, it does accept statements where the score values are in
quotes. These are rejected by Wax but accepted by Watershed (
http://tincanapi.com/public-lrs/). Watershed then returns the statement
without quotes. I assume that Wax is technically correct, (I wouldn't
expect anything less from @fugu13 https://github.com/fugu13) but I'd
prefer to follow Watershed on this one and accept the statements,
correcting the syntax as they come in. Learning Locker currently returns
them with quotes, making it incompatible with Wax.

I guess TinCanJS should be validating this, but I also need to update my
statement crafter. cc @brianjmiller https://github.com/brianjmiller

Reply to this email directly or view it on GitHubhttps://github.com//issues/113
.

@garemoko
Copy link
Contributor Author

I stand corrected; we do need to reject those statements. 

Sent from Samsung Mobile

-------- Original message --------
From: fugu13 notifications@github.com
Date: 10/03/2014 17:28 (GMT+00:00)
To: LearningLocker/learninglocker learninglocker@noreply.github.com
Cc: Andrew Downes mrdownes@hotmail.com
Subject: Re: [learninglocker] validation of result score (#113)

Hi Andrew,

Indeed, you've guessed right :) .

I'd strongly recommend properly validating them as numbers. I can guarantee
you no LRS will be considered conformant if it accepts numbers as strings:
https://github.com/adlnet/xAPI-Spec/blob/master/xAPI.md#lrs-requirements-3

"The LRS MUST reject Statements

  • with strings where numbers are required, even if those strings contain
    numbers."

There's good reason for it, too. The only way the standard is going to
realize a vision where it is easy to move data around and switch/use
multiple LRSs is if validation is strict. That way, if data works when sent
to one LRS, it will work when sent to another LRS. If conformance isn't
strictly defined, then we'll enter the interoperability morass SCORM did.

A data model standard isn't really a standard if it isn't exact.

Sincerely,

Russell

On Mon, Mar 10, 2014 at 6:33 AM, Andrew Downes notifications@github.comwrote:

Learninglocker does not accept statements with an empty score raw, score
max or score min, but these should be accepted. See #106#106

Interestingly, it does accept statements where the score values are in
quotes. These are rejected by Wax but accepted by Watershed (
http://tincanapi.com/public-lrs/). Watershed then returns the statement
without quotes. I assume that Wax is technically correct, (I wouldn't
expect anything less from @fugu13 https://github.com/fugu13) but I'd
prefer to follow Watershed on this one and accept the statements,
correcting the syntax as they come in. Learning Locker currently returns
them with quotes, making it incompatible with Wax.

I guess TinCanJS should be validating this, but I also need to update my
statement crafter. cc @brianjmiller https://github.com/brianjmiller

Reply to this email directly or view it on GitHubhttps://github.com//issues/113
.


Reply to this email directly or view it on GitHub.

@fugu13
Copy link

fugu13 commented Mar 10, 2014

I'll give you three guesses who made sure that language was in there, and the first two don't count...

@davetosh davetosh added this to the v1.0 rc1 Stable milestone Apr 2, 2014
@davetosh davetosh closed this as completed Apr 3, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants