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

Sending Statements to an LRS #8

Open
vbhayden opened this issue Jan 20, 2021 · 5 comments
Open

Sending Statements to an LRS #8

vbhayden opened this issue Jan 20, 2021 · 5 comments

Comments

@vbhayden
Copy link

Afternoon, team!

One of our external partners is reporting that the most recent codebase seems to have an issue sending statements to an LRS. I'd assumed this was just a small thing with a missing / on some LRS endpoint, but one of my engineers reported the same problem.

Did the process change for sending statements to an LRS?

Thanks,
-Trey

@FlorianTolk
Copy link

Here is the setup we are trying to use on the UI
image

It does not seem to even be trying to send the xAPI statements to an LRS, and is just defaulting to downloading them.

@cliffcaseyyet
Copy link
Member

There actually was a very recent update to address an issue with LRS sends stemming from some earlier work. The issue was in the DS (server-side) repo not this UI one, can you confirm that the latest master version of client and server are running in the environment experiencing the issue?

Thanks,
Cliff

@FlorianTolk
Copy link

FlorianTolk commented Jan 20, 2021

Just pulled all of the code (both UI and API) from GitHub and recompiled, and still seem to run into the same problem.

Statements are being generated. but despite the "send to LRS" box being checked, statements are installed instead of sent, and no errors seem to appear in the Debugger or console.

@cliffcaseyyet
Copy link
Member

@FlorianTolk @vbhayden been trying to get to the bottom of this today. I also made clean installs and recompiles of master today to try to figure it out. First off we definitely need better error messaging when the LRS push fails because it can fail rather silently (i'm opening a ticket for that internally), but unfortunately when all my credentials and endpoints are in place I can't seem to reproduce the issue (tried with two flavors of LRS). Also the download of statements isn't an indicator either way because it does that regardless. However it does indicate, if the download has statements, that the sim was successful so we can probably rule sim params/profile out.

A couple of debug ideas:

  • It doesn't expect the trailing slash, and explicitly appends '/statements' so in my case it was just "https://{host}/xapi"
  • One thing that kept catching me (and MAY fail silently which as i mentioned we need to fix) is if the LRS already contains those statements from a prior run. DATASIM being deterministic, having the same params and seed in two runs would result in a conflict error from most LRS implementations.
  • LRS integration auth is purely basic auth, have you tried posting the same statements via curl or postman?

Barring any of those what i might do is just make a branch to sloppily spit out whatever the LRS says in response and point you guys to it for a test so you can at least see if there's some noise from your LRS endpoint.

-Cliff

@FlorianTolk
Copy link

Good Morning Cliff,
I managed to curl those statements (once I removed the id field, a lot of these already existed in the public adl lrs) once I used the -k flag.
However, removing the trailing slash did not work. I think the fact that many of these statements have duplicate ids may be what is causing it to fail to send any statements to the LRS? I am unsure how DATASIM handles actually sending xAPI statements

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