Laravel + Learning Locker || A Laravel Package for Learning Locker.
All notable changes to laralocker are documented in this file.
A rewrite as a plain API connector that works against Learning Locker v2+.
illuminate/http). The direct guzzlehttp/guzzle and lcobucci/jwt requirements are gone.store(1) followed by store(2) no longer returns store 1. The facade cached the first resource, and its id, for the rest of the request. Every call now gets a fresh resource.LearningLockerException. Before, Guzzle’s exceptions escaped, because the ClientException being caught was never imported.xAPI facade works. It relied on an xAPIHandler class and a TinCan library that were never shipped.LearningLocker::organisations() exists. It was declared but never defined.Ijeffro\Laralocker\Exceptions\LearningLockerException, which carries the status and response. Before, the exception object was returned.laralocker.url, laralocker.key, laralocker.secret, laralocker.timeout, laralocker.xapi.*. The .env names are unchanged.Ijeffro\Laralocker\LaralockerServiceProvider. Package discovery registers it.xAPI::...->store() is now send() and returns the statement id. store() remains as an alias.LearningLocker::statements()->create() throws. Learning Locker refuses it, so use statements()->send() or the xAPI facade.where(), sort(), skip(), limit(), select(), populate(), first(), count() and paginate() on every resource.personaIdentifiers() (with upsert()), personaAttributes() and personaImports().aggregate(), ping(), clientInfo(), about(), connect() and resource().xAPI::statements(), xAPI::statement() and xAPI::more() for reading statements.LearningLocker::routes()), the laralocker:setup command, the migrations, the models and the database, export, queue and storage config. LaraLocker is now only an API connector.journeys() / journeyProgress(). Journeys are a Learning Locker Enterprise feature. Use LearningLocker::resource('journey') if your install has them.Laralocker facade, which did nothing.