Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Tincan Laravel Package

rusticisoftware/tincan

PHP library for implementing the Experience API (Tin Can/xAPI). Provides tools to build and send statements, integrate with an LRS, and work with xAPI data. Install via Composer, includes PHPUnit tests and phpDocumentor docs generation.

View on GitHub
Deep Wiki
Context7
1.1.1
  • Adds handling for If-None-Match: * headers for Agent and Activity profile requests. (credit @garemoko) fixes #104
1.1.0
  • Added support for file URL attachments
  • Allow for a verb/activity or its ID when querying for statements
1.0.0

tl;dr Other than specific uses of Score or specific features of 5.4 the public interface has not changed.

The reason for the major version bump is that PHP 7 changes handling of return value for empty string or null arguments to json_decode which affects the public interface of the FromJSONTrait implementation. 5.4 can be supported by recognizing this fact and either removing the call to json_last_error_msg() in JSONParseErrorException or by stubbing in a replacement for it (probably based on the one in the PHP docs), having said that PHP 5.4 is EOLd by the core team so there is no reason to maintain support for it going forward, and because we try to minimize major version bumps and maintain backwards compatibility it makes sense to drop EOLd versions at those major version bump points. The JSONParseErrorException is wholly unnecessary to get to support of PHP 7, but because we were breaking compatibility of that interface anyways it makes sense as an implementation wrapper around the more generic InvalidArgumentException.

PHP 5.5 is EOLd as of 21 Jul 2016 (see http://php.net/eol.php) but still has enough installed user base at this time that we'll continue to support it within the 1.x series. Expect support to be removed from the next major version of TinCanPHP. (Where "support" means we'll stop testing and trying to maintain backwards compatibility, but we won't intentionally be trying to break it.)

0.50.1

Fixes made while improving test coverage (credit @WillSkates)

  • Exception namespace issue in Map and State
  • Accept-Language header issue in RemoteLRS.retrieveActivity
  • Incorrect class in failure reason in SignatureComparisonTrait
0.50.0
  • Switch Util.getTimestamp to return UTC timestamps (credit @lewyckoff) fixes #64
  • Add header customization capability to RemoteLRS.queryStatements fixes #26
  • Add 'proxy' option to RemoteLRS as well as ability to set "default" headers to be included in all requests, fixes #68
  • Silence undefined warnings from variable scoping issue in RemoteLRS.sendRequest fixes #62

Note: the first bullet point above could be considered a backwards incompatible change if you are counting on the library to return timestamps in a particular timezone. In general this would be to store statements using a specific timezone, however you should probably reconsider counting on that based on what the LRS is allowed to do. If you were using the library to get timestamps for another purpose and need them in a specific timezone you'll want to re-examine your use case or your code.

0.40.1
  • Instantiation of a non imported class introduced in 0.40.0 which is only hit on certain error conditions in RemoteLRS handling (credit @FireGhost @garemoko).
0.40.0
  • Added full Attachments handling
  • Added Statement Signing public interface
  • Improved Language Map support (by @garemoko)
  • Added readonly document API calls (including Person object support) (by @garemoko)
  • Fixed asVersion for empty arrays and values
  • Refactored test bootstrapping and configuration (@texdc)
  • Refactored Version to be enum like (@texdc)
  • Other various fixes: RemoteLRS exception handling, "1xx" status code handling, Util timestamp, etc.
0.12.0
  • Significant improvements made by @texdc to internal implementation of per version serialization of objects.
  • Made classes "immutable" as a subitem of the above to prevent non-anticipated use.
  • Includes significant improvements in unit test coverage.
  • Improvements to Score object property restrictions on acceptable values.
0.11.4
  • Fixed a bug caused by using PHP's built in ISO 8601 format constant which generates improper timezone offsets.
0.11.3
  • Default ContextActivities properties to arrays. The check to make sure the properties were set was not happening soon enough so that the set methods through the _listSetter were trying to push to arrays that were not defined yet
  • setMember in Group wasn't auto constructing Agent members correctly
0.11.2
  • Provide getter/setter methods for 'response' property of the Result object
0.11.1
  • Fixes issue with .asVersion call on certain instances of ContextActivities
0.11.0
  • Fixes a bug with argument exception handling
  • Typo in exception message
  • Improves exception message for call to setId on a Statement when value passed fails UUID regex match (includes unit test)
0.10.1
  • UUIDs were being checked to make sure they were version 4, this was overly strict. The version check was removed and made case insensitive.
0.10.0

First public release, which is a stretch to call production worthy, but I'm satisfied enough with the effort that it should be usable without introduction of severe backwards compatibility hassles.

0.0.6

Fix for namespace map in autoload.

0.0.5

Adjustment to get composer autoload.

0.0.4

Just some cleanup to make it more-PHP like.

0.0.3
  • Full implementation of all API calls except for Statement query
  • API calls return consistent response object with converted content where possible
0.0.2
  • Rounds out most of what is needed to build complex statements
0.0.1
  • Bare minimum repo setup including license files, etc.
  • Core source files needed to be able to send simple statements
  • Basic unit test framework and few early unit tests
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport