{"action":"created","issue":{"url":"https://api.github.com/repos/RusticiSoftware/TinCanJS/issues/125","labels_url":"https://api.github.com/repos/RusticiSoftware/TinCanJS/issues/125/labels{/name}","comments_url":"https://api.github.com/repos/RusticiSoftware/TinCanJS/issues/125/comments","events_url":"https://api.github.com/repos/RusticiSoftware/TinCanJS/issues/125/events","html_url":"https://github.com/RusticiSoftware/TinCanJS/issues/125","id":122774340,"number":125,"title":"Handle bad activity identifier URN in statements","user":{"login":"BatteryAcid","id":8283698,"avatar_url":"https://avatars.githubusercontent.com/u/8283698?v=3","gravatar_id":"","url":"https://api.github.com/users/BatteryAcid","html_url":"https://github.com/BatteryAcid","followers_url":"https://api.github.com/users/BatteryAcid/followers","following_url":"https://api.github.com/users/BatteryAcid/following{/other_user}","gists_url":"https://api.github.com/users/BatteryAcid/gists{/gist_id}","starred_url":"https://api.github.com/users/BatteryAcid/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BatteryAcid/subscriptions","organizations_url":"https://api.github.com/users/BatteryAcid/orgs","repos_url":"https://api.github.com/users/BatteryAcid/repos","events_url":"https://api.github.com/users/BatteryAcid/events{/privacy}","received_events_url":"https://api.github.com/users/BatteryAcid/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-12-17T16:48:33Z","updated_at":"2015-12-18T15:20:27Z","closed_at":"2015-12-18T15:20:27Z","body":"I have a Captivate quiz reporting answers to https://lrs.adlnet.gov/xapi/statements.  In my Captivate -> Quiz -> Reporting configuration I set the identifier to `TheQuiz` (I believe this should actually be a domain).  When the question results were sent, I received this error:\r\n\r\n> Activity id with value http://TheQuiz-urn:scormdriver:5419 was not a valid IRI\r\n\r\nOnly when I changed the identifier `TheQuiz` to `mycompany.com/` (including the trailing slash) did it work.  Does this sound correct?  I just assumed my ID, whatever it was, would work.  Does it make sense to handle these types of IDs?"},"comment":{"url":"https://api.github.com/repos/RusticiSoftware/TinCanJS/issues/comments/165802496","html_url":"https://github.com/RusticiSoftware/TinCanJS/issues/125#issuecomment-165802496","issue_url":"https://api.github.com/repos/RusticiSoftware/TinCanJS/issues/125","id":165802496,"user":{"login":"brianjmiller","id":95960,"avatar_url":"https://avatars.githubusercontent.com/u/95960?v=3","gravatar_id":"","url":"https://api.github.com/users/brianjmiller","html_url":"https://github.com/brianjmiller","followers_url":"https://api.github.com/users/brianjmiller/followers","following_url":"https://api.github.com/users/brianjmiller/following{/other_user}","gists_url":"https://api.github.com/users/brianjmiller/gists{/gist_id}","starred_url":"https://api.github.com/users/brianjmiller/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brianjmiller/subscriptions","organizations_url":"https://api.github.com/users/brianjmiller/orgs","repos_url":"https://api.github.com/users/brianjmiller/repos","events_url":"https://api.github.com/users/brianjmiller/events{/privacy}","received_events_url":"https://api.github.com/users/brianjmiller/received_events","type":"User","site_admin":false},"created_at":"2015-12-18T15:20:27Z","updated_at":"2015-12-18T15:20:27Z","body":"Generally the id should be an IRI as @garemoko pointed out. TinCanJS does very little data validation (at least in this version, considering it for a future 1.x release), preferring to let the LRS reject incorrect objects.\r\n\r\nWhat you are seeing is essentially a regression bug in Captivate caused by a regression bug in SCORM Driver (which Captivate uses under the hood), the part that it is tacking on incorrectly, the `urn:scormdriver:5149`, is causing what would otherwise be a valid (but poor) identifier to be invalid. Adding the slash moves the invalid part to after the slash and it becomes valid (still poor).\r\n\r\nAt this point there really isn't much to do other than to know that the extra part will be tacked on to all identifiers, and to make the identifiers you use both better and valid with the extra string.\r\n\r\nClosing this as it isn't directly caused by TinCanJS."}}