by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Sep 11 2018 10:21

    asahd on v2.5.2

    (compare)

  • Sep 11 2018 10:21

    asahd on v2.5.2

    (compare)

  • Sep 11 2018 10:19

    asahd on master

    Restore nginx.conf.example (compare)

  • Sep 11 2018 10:05

    asahd on v2.5.2

    (compare)

  • Sep 11 2018 10:04

    asahd on feature-symantic

    (compare)

  • Sep 11 2018 10:04

    asahd on master

    Added full document toggle to s… Added post and patch metadata. Updated Metadata to update stat… and 6 more (compare)

  • Sep 11 2018 10:04
    asahd closed #1232
  • Sep 11 2018 09:05
    asahd labeled #1232
  • Sep 11 2018 09:05
    asahd unlabeled #1232
  • Sep 11 2018 08:42
    asahd synchronize #1232
  • Sep 11 2018 08:42

    asahd on feature-symantic

    Fixes statement creations being… (compare)

  • Sep 10 2018 15:07

    happy-machine on Statement_component

    fixed default naming in Stateme… (compare)

  • Sep 10 2018 12:45
    asahd synchronize #1232
  • Sep 10 2018 12:45

    asahd on feature-symantic

    Changes Forwarding UI, updates … (compare)

  • Sep 10 2018 11:45
    ht2 synchronize #1232
  • Sep 10 2018 11:45

    ht2 on feature-symantic

    Start of shareable dashboards u… Removed filter required paramet… Added validation for shareable … and 49 more (compare)

  • Sep 04 2018 16:29
    cutz opened #1246
  • Sep 04 2018 14:20
    samjaved closed #1245
  • Aug 30 2018 22:20
    ryansmith94 assigned #1242
  • Aug 30 2018 16:43

    happy-machine on Statement_component

    working as Map (compare)

Ladres
@Ladres
ll client.png
Florian Tolk
@FlorianTolk
This may seem like an odd, question, but is your moodle instance on teh same machine as your learning locker machine?
Ladres
@Ladres
Now not, when I put my moodle instance and LL on one machine everything worked fine. The problem arose when I tried to get data from my moodle plugin on a remote machine.
Florian Tolk
@FlorianTolk
That's the problem. The localhost url referrs to your "local machine" or the ip address 127.0.0.1

If the two machines are on the same network, you can replace the localhost section with the IP of your
LL machine. Otherwise you need to do some additional networking work.

If it's on the same machine, your endpoint will actually look something like http://128.118.62.9/data/xAPI/

The actual number will obviously be different, but it would look something like this

Ladres
@Ladres
Thanks. I will try to solve this problem as part of my task.
Ryan Smith
@ryansmith94
@FlorianTolk no the AMI doesn't include SSL, that's typically something we apply at the load balancer. You should be able to find the DB credentials in the .env file in the webapp folder.
@strannick-ru you'd have to check the worker logs on the server with pm2 logs worker
@ma1069 700k statements on a 3 node replica set should be fine depending on the specs of the nodes. We have instances of LL running on 3 node replica sets with over 1 billion statements. If you want to delete some statements via the database you certainly can do that.
@Scapin_gitlab LL will use the browser's language, I'm not sure if your browser will allow you to select a language per site.
@AlizaminJ you can change the timezone in your organisation's settings.
@AlizaminJ I'd suggest checking that you're authenticating correctly in your mongoshell using the database configuration from the ".env" file in the webapp folder on your LL server. Otherwise I suggest requesting support from the mongoshell maintainers.
@Scapin_gitlab sorry I'm unable to help with that Redis question, outside my expertise.
@tallbalddr_twitter which version of Learning Locker are you using? Looks like a fix for that might have been applied to Enterprise but not to OS. If so you should be able to replace the code in the "lib/services/auth/modelFilters/persona.js" file with the following code. Feel free to make a pull request for that and link me to it in this chat to get it merged.
import getScopesFromAuthInfo from 'lib/services/auth/authInfoSelectors/getScopesFromAuthInfo';
import getOrgFilter from 'lib/services/auth/filters/getOrgFilter';
import NoAccessError from 'lib/errors/NoAccessError';
import {
  MANAGE_ALL_PERSONAS
} from 'lib/constants/orgScopes';
import { VIEW_SHAREABLE_DASHBOARD } from 'lib/constants/scopes';

import getModelsFilter,
{
  getSiteAdminFilter,
  checkAllowedTokenType,
  checkAllScope
} from 'lib/services/auth/filters/utils/getModelsFilter';

const globalModelFilter = ({ viewAllScopes, editAllScopes }) =>
  async ({ actionName, authInfo }) => {
    const scopes = getScopesFromAuthInfo(authInfo);

    const tokenType = authInfo.token.tokenType;
    switch (actionName) {
      case 'view': {
        switch (tokenType) {
          case 'organisation':
            return getOrgFilter(authInfo);
          default: {
            const isValid = [...viewAllScopes, ...editAllScopes].some(s => scopes.includes(s));
            if (isValid) return getOrgFilter(authInfo);
            throw new NoAccessError();
          }
        }
      }
      default: {
        const isValid = [...viewAllScopes, ...editAllScopes].some(s => scopes.includes(s));
        if (isValid) return getOrgFilter(authInfo);
        throw new NoAccessError();
      }
    }
  };
kjquast
@kjquast
I can login to my running AWS instance via ssh, but not via the Public DNS defined. What could be the reason?
shulamitco
@shulamitco
hii i have LL instance on AWS ec2 and I want to connect LL to other MongoDB account. - not to the default one
Is anybody knows if its possible and how.
thenks
Michael Steigman
@michaelsteigman
hi all. working on an OpenShift/Kubernetes setup for our institution and wanted to see if anyone could take a look at my build log and clue me in on the output, specifically the errors related to grpc. i’ve pasted the log here - https://pastebin.com/tF1zRrQq. the build environment is RHEL7 with Node 10. thanks in advance!
(note that the build ultimately appears to succeed)
the commands used to start the build are:
npm install -g yarn
yarn install --ignore-engines && yarn build-all
ekennedy80
@ekennedy80
I'm trying to clear my Learning Locker instance for testing. Can anyone help me come up with the correct REST API call to clear the data?
Alain Raap
@asm.raap_gitlab
I am trying to integrate Kaltura xAPI videoserver events with LL. The videos are viewed in courses in a Moodle LMS. Anyone experience here how to get this integration working?
Michael Thorausch
@Scapin_gitlab
Hi everybody.
I installed the xAPI-Service inside an Azure Docker Resource via "docker pull learninglocker/xapi-service". Installation was succesful.
I started the image also successfully by "docker run -d -p 8080:80 --env MONGO_URL=<...> --env MONGO_DB=<...> --env REDIS_URL=<...> --env REDIS_PREFIX=<...> <image -name>".
The xapi-service is running and connected to a MongoDB. But when I try to use the service ("http://<servername>.com/xAPI/statements?agent..") I get http error 502 "Cannot Connect". Any suggestions?
Ian Blackburn
@Ian247
@ekennedy80 if you're on version 3.11.0 or above you can use the statement deletion API http://docs.learninglocker.net/http-statement-deletion/
Ryan Smith
@ryansmith94
Wow sorry, not checked in on here for a while it seems.
@kjquast I'm not too sure sorry sounds like a AWS question rather than a LL question.
@shulamitco you would need to change your config according to the docs.
@michaelsteigman it looks like you're missing an option at front of your yarn install. Have a look through our custom install docs.
@asm.raap_gitlab sorry not experienced that, sounds cool though. You might need to use the xapi launch plugin in Moodle
@Scapin_gitlab make sure the port on the machine is exposed, I think the url will be /data/xAPI too
Michael Steigman
@michaelsteigman

thanks @ryansmith94. However, when i add that bit, i get

[4/4] Building fresh packages…
Done in 357.27s.
yarn run v1.22.4
$ babel-node api/build --release && babel-node ui/buildServer --release && babel-node ui/buildClient --release && babel-node cli/build --release && babel-node worker/build --release
/bin/sh: babel-node: command not found
error Command failed with exit code 127.

i’m building from HEAD on master
Julian Davis
@juliandavis71
Hi all - anyone know how you can pull down an attachment sent using CryptoJS from LL?
cevrimiciders
@cevrimiciders
Hi everyone, how can i fully uninstall learning locker. I installed using wget script
Manu-REMY
@Manu-REMY
Hi, I've installed LL on a raspberry pi4 with 4Gb of ram running ubuntu 18.04. I'm facing the issue "There was an error communicating with the login server" while I try to log in. I've restarted pm2-learninglocker service but the error still comes up... Thanks for help.
Manu-REMY
@Manu-REMY
In fact, an error occurred during the installation :
deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse
Unit mongod.service does not exist, proceeding anyway.
[LL] Attempting to start mongod service....
[LL] If this fails you will need to check how the Mongo service is setup for your system and manually start it
Failed to start mongod.service: Unit mongod.service not found.
Failed to enable unit: Unit file mongod.service does not exist.
I've got an old instance of learning locker at aws. I've installed my new one on my own server. How can I restore my statements on my new instance of LL? Thanks for help
Manu-REMY
@Manu-REMY

Hi. I've got the answer to restore my old config on my new learning locker server :

//Connect to my aws EC2 instance
ssh ubuntu@ec2-34-243-12-111.eu-west-1.compute.amazonaws.com -i /Users/emmanuelremy/Desktop/LL-Irlande.pem

//Dump the whole mongodb in an archive
mongodump --archive="mongodump-learning-db"

//Exit EC2 instance
exit ssh

//Download the archive to my desktop
scp -i /Users/emmanuelremy/Desktop/LL-Irlande.pem -r ubuntu@ec2-34-243-12-111.eu-west-1.compute.amazonaws.com:/home/ubuntu/mongodump-learning-db /Users/emmanuelremy/Desktop/dump

//Upload the archive to my new server
scp -r /Users/emmanuelremy/Desktop/dump/mongodump-learning-db ubuntu@192.168.1.20:/home/ubuntu/dump/

//Connect to my new server
ssh ubuntu@192.168.1.20

//Restore the whole mongodb database from the archive
mongorestore --archive="mongodump-learning-db"

//login to my new instance and join organisation

Have a nice day

ctm8788
@ctm8788
Hi All/ @ryansmith94 I'm attempting to deploy Learning Locker in an Azure environment. I'm using CosmosDB with the Mongo API v3.6 . I'm able to successfully startup the application and all of the collections are created successfully. Using the CLI, I was able to create a user to login with.But I'm immediately greeted with a CosmosDB exception.
Error=2, Details='Microsoft.Azure.Cosmos.CosmosException : Message: {"Errors":["The order by query does not have a corresponding composite index that it can be served from."]
I attempted to create the indexes listed in the documentation, Some of them gave me an error message, while other were successful. But I'm still not able to login and NOT get the exception.
Ryan Smith
@ryansmith94
@ctm8788, I'm sorry, we don't actively support CosmosDB and LL requires Mongo v4, so that probably explains why you're having issues.
@cevrimiciders you just need to clear the Mongo and Redis databases you configured with LL, stop Learning Locker with PM2, and then delete the LL code folders (webapp and xapi)
@michaelsteigman looks like it still didn't install the dependencies correctly if you're getting that error, take a look at the logs from the install to see if there are any errors
ctm8788
@ctm8788
@ryansmith94 is it documented anywhere that Mongo v4 is the required version of Mongo?
ctm8788
@ctm8788
Hey @ryansmith94 , I think i found a bug with the xapi code and connecting to MongoDB. If the MONGO_URL string has a password in it that starts with a number...something crashes and the application never fully starts correctly. I noticed that the CPU usage explodes to 99% and unfortunately nothing was ever logged to say that there was an issue connecting. I can use the same password in the Learning Locker UI .env file and connect just fine. But in the xapi code base something isn't parsed correctly.
Works: mongodb://username:password@hostname:10255/?ssl=true&replicaSet=globaldb&retrywrites=false&appName=@username@
Doesn't Work: mongodb://username:1password@hostname:10255/?ssl=true&replicaSet=globaldb&retrywrites=false&appName=@username@
Michael Steigman
@michaelsteigman
thanks @ryansmith94 for the pointers. i have the build working now. was a combination of the missing build from source var and NODE_ENV defaullting to prod.
next question relates to mongo. you mentioned to @ctm8788 that v4 is required. the docs, under custom installations, say v3.6+ is required for LL 3, which looks like it was released last February. "BREAKING CHANGES Requires Mongo 3.6+” is what the github release says.
Michael Steigman
@michaelsteigman
in openshift, if i stick to the officially supported images, 3.4 is my latest. i assume this means i must stick with the latest v2 series build. can you confirm? i don’t see any other mongo restrictions going back into the v1 series releases.
ctm8788
@ctm8788
Hey @ryansmith94 we are deploying the Learning Locker repo and the xapi repo on to different resources and as a result will have unique hostnames. Is it possible to configure the xAPI Endpoint that displays on the /settings/clients page ? Currently it displays the hostname of the LearningLocker deployment. It doesn't look like I can define the xapi URL as an environment variable.
Michael Steigman
@michaelsteigman
@ryansmith94. turns out i do have access to Mongo 3.6 so @ctm8788 ’s question about which version updates requirements to v4 is relevant to me as well.
Jan Kowalsky
@jankowalsky1992_gitlab
Hey!
We have recently runned into some scaling issues with Learning Locker xAPI (docker tag 3.6.4). Are there any tips on how to scale the LRS (thinking about 5k+/s)? We've scaled out mongo instance, xApi services and still are getting a lot of timeoutes/fails.
santosh40781
@santosh40781
can anyone help me in sending xapi statements from moodle to learning locker?? I have installed the logstore_xapi plugin but how can we get the activities reflected in LL??
santosh40781
@santosh40781
@ryansmith94 i am totally new to this. can u please guide me on the above??
Michael Steigman
@michaelsteigman
@jankowalsky1992_gitlab i am just setting up our instance so i probablly won’t be able to help you much but i am curious. are you running nginx in front? if so, have you tried tuning it? what errors are you getting? 502s? what do the logs have to say?
Cameron
@chodkinson
Hi everyone. I have 2 questions regarding how statements display when listed on the 'source' page. 1) Should an Activity that is a reference to another statement display 'StatementRef' or the full statement (eg. "Cameron commented on StatementRef" or "Cameron commented on 'Xana rated Bladerunner'"? 2) Should the definition captured in an Activity profile be displayed when hovering over the ID of an activity if the definition isn't included in the statement? Any thoughts greatly appreciated. Thanks
Alexander Kohler
@akaaka_gitlab
Hi there,
we would like to only run the xapi-services (using docker-compose). If the database was created before (using the full setup with all services) that works fine. If we start with just a empty mongo setup the database is not created. So the questions would be..
  1. What steps would be needed to get the database created
  2. What steps would be needed to create a organisation and user and store and client over command line OR could it be an option to write those directly to the database?
    It feels like an overkill to have app/ui/worker running only for that part :)
    Best, Alex
Jan Kowalsky
@jankowalsky1992_gitlab
@michaelsteigman yes, we have k8ns cluster with nginx set up. the issue that we have, is that no matter how many instances of the xapi, or no matter how many resources we give to mongodb, the number of requests per second the xapi can take is fixed at a small numer - probably not more than 500/s, and thats with growing latency
Andrew Raymer
@Prothon
Hello everyone, I'm trying to create organisations via the REST API and I've gotten to the point where they are created but I cannot get them to accept the form object. It just creates an organisation with no name and no owner.
Has anyone gotten past this? I'm using Ruby On Rails with HTTParty
Andrew Raymer
@Prothon
It appears to be the HTTParty gem. I've used a standard API tool and it worked fine... that's frustrating. C'est la vie
Infelixx
@Infelixx

Hi,
I have a problem with statement forwarding.

"failedForwardingLog": [
{
"_id": "5ef9eac3c5cc9671fa2f7bc6",
"timestamp": "2020-06-29T13:21:07.457Z",
"statementForwarding_id": "5e6fa2e8f4ca9a7ba60399ea",
"message": "ForwardingRequestError: certificate has expired",
"errorInfo": {
"responseBody": null,
"responseStatus": null,
"url": "https://FORWARDING_URL"
}

We had a problem with the certificate on the recieving end, but this SSL certificate has been updated, and should not be a problem anymore. When i curl the endpoint, the cert check is okay from the server.

I am wondering if Learninglocker is still caching the old certificate somewhere?

msanzn
@msanzn
Hi I have a problem with statement forwarding. I configured a statement forwarding to my own machine to the 8090 port and have a server there using node.js, but in the received message it is null, I do not know if it is an error of configuration or from the server. The configuration is with http and to my localhost:8090 and the entries 10, no auth, only the last statement, and no attachment. The server
const http = require('http');
const { parse } = require('querystring');
const server = http.createServer((req, res) => {
    if (req.method === 'POST') 
    {
        console.log(req);  
    } 
});
server.listen(8090);