-
Notifications
You must be signed in to change notification settings - Fork 402
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
homePage fix, StatementRef UUID fix, Identified Group table fix #323
Conversation
homePage fix, StatementRef UUID fix, Identified Group table fix
My apologies if this question was already answered in the recent group call I was unable to attend, but what are the xAPI specification version changes associated with this alteration? I assume that account objects under version 1.0.0 must have "homepage" properties with a lowercase "p". Since JSON properties are case sensitive, the statement JSON definition is a key part of the specification API, the change is backwards-incompatible, I think that Semantic Versioning strictly interpreted would require a new major revision, e.g. 2.0.0. Such strictness may not be socially or politically appropriate, though. |
Hi Zack, Since the content being replaced was inadvertently added and caught before Russell Sent from my iPad On May 11, 2013, at 8:47 AM, Zack Pierce notifications@github.com wrote: My apologies if this question was already answered in the recent group call I assume that account objects under version 1.0.0 must have "homepage" Since JSON properties are case sensitive, the statement JSON definition is Such strictness may not be socially or politically appropriate, though. — |
Perhaps a better way to think about it is we've adjusted the release date, Sent from my iPad On May 11, 2013, at 8:47 AM, Zack Pierce notifications@github.com wrote: My apologies if this question was already answered in the recent group call I assume that account objects under version 1.0.0 must have "homepage" Since JSON properties are case sensitive, the statement JSON definition is Such strictness may not be socially or politically appropriate, though. — |
It was always homePage in 1.0.0 but an unfortunate misplaced correction led to it being homepage in one of the 9 occurrences in the spec document itself. This error obviously is a source of confusion so it's being tidied up. homepage with a lower case p is invalid for all versions. |
In case anybody's wondering, here's where the error crept in back at the end of March: We should have picked it up but sometimes its difficult to spot changes when they come with a big re-structure. |
Righto, thanks for the clarification. I have updated the validator to account for this correction. |
@ZackPierce Just to clarify, SemVer is all about conveying meaning between versions and this point overrides any rule on version numbering. The audience and amount of people impacted can affect the version level increased, so if there were millions of running xAPI applications relying on the property's case then yes, a major level change to 2.0.0 may be necessary since so many applications would break. On the other hand, since this was caught so early after the release and adopters are small, a patch level release is more appropriate since it's bringing the spec back to it's "intended meaning". I do think the patch level should be changed to convey that there's been an implementation revision (at the moment, someone who's download ADL's 1.0.0 PDF will have no idea that this property has changed whereas a patch level will at least let them know something changed) but I'm not going to get hung up about that. For more information, SemVer covers a similar situation in their FAQ - "What should I do if the bug that is being fixed returns the code to being compliant with the public API?" |
I have to disagree about incrementing the version here; the compliance rules would make 1.0.1 (or whichever) LRSs unable to accept 1.0.0 statements using account; given how early we caught it, I think avoiding that is a reasonable choice. This isn't an API that was deployed and used, this was a spec that was published (and I know no one was fully compliant yet when we caught the bug). |
This might be a very rare exception since the adoption rate is low and that's why I'm not going to argue for it. However, that scenario can still occur because some people might be operating from the published 1.0.0 PDF (or other reproductions) so you'll end up with a bunch of 1.0.0 statements being rejected by other 1.0.0 LRS'. I'd say that's significantly less favourable than explicitly indicating there's been a change in the spec. |
I really don't think this is an issue as homepage (caps agnostic) was used 9 times in the document. Only one of these used a lower-case "p". The outlier was a typo and needed to be fixed. |
Went back and forth, but all changes approved.