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

Saving of agent/activity profiles is broken #29

Open
madmox opened this issue Feb 22, 2017 · 0 comments
Open

Saving of agent/activity profiles is broken #29

madmox opened this issue Feb 22, 2017 · 0 comments
Labels

Comments

@madmox
Copy link
Contributor

madmox commented Feb 22, 2017

According to the xAPI specification:

A Client making a PUT request to either the Agent Profile Resource or Activity Profile Resource MUST include the "If-Match" header or the If-None-Match header.

This breaks the RemoteLRS.SaveActivityProfile() and RemoteLRS.SaveAgentProfile() methods, as they don't set any of these headers and don't expose the possibility to manage them. These methods are unusable with the ADL LRS, or any LRS strictly following the specification.

A quick test using TinCanJS shows that the client sends the following header with the PUT request: If-None-Match:*.

Side note
The ADL LRS has a strange behavior when handling the request without If-None-Match header. It returns a HTTP 400 status code (as expected), but a subsequent call listing the profiles associated with the activity or agent (ex : GET https://lrs.adlnet.gov/xAPI/activities/profile?activityId=xxx) returns a list containing the ID of the profile included in the invalid request. The associated document is empty.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants