Repository navigation
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements https://mantis.ilias.de/view.php?id=48597: cmi5/xAPI was the only component using
ramsey/uuiddirectly instead ofILIAS\Data\UUID\Factory, and four public methods ofilCmiXapiUserreturned\Ramsey\Uuid\UuidInterface. After this PRramsey/uuidis only used by the Data component. Same approach as #12266, #12267, #12268 and #12269.Data
ILIAS\Data\UUID\Factory::uuid3()/uuid3AsString(): name-based UUIDs (version 3). The namespace can be aUuidor a string, with or without hyphens (cmi5/xAPI stores its namespaceilias_uuideither way).uuid.uuid3(), so the test does not just mirror the current library.cmi5/xAPI
ilCmiXapiUser::generateCMI5Registration(),generateRegistration(),getCMI5RegistrationFromAuthToken()andgetRegistrationFromAuthToken()use the Data factory and returnILIAS\Data\UUID\Uuid. All callers only use the value as a string ((string)casts, comparison with theregistrationparameter, launch parameters);Uuidhas__toString().ilCmiXapiAuthToken::createToken()usesuuid4AsString(),ilCmiXapiContentUploadImporterbuilds the activity ID withuuid3AsString().ilCmiXapiUser::getIliasUuid()is removed.The registrations and activity IDs are stored in and compared against the LRS, so they must not change: with the
ilias_uuidof a real installation and with a namespace without hyphens, the Data factory returns exactly the values ramsey returned before (checked for several object/user combinations).Testing
[OK] All static artifacts are build!RootFolderTest, which only fails locally because of untracked files in the root folder of my checkout. Data and CmiXapi tests pass.components/ILIAS: green. php-cs-fixer on the changed files: clean.registration=14f0094e-2f3f-3b13-8901-90ef2936ea48, which isuuid3(ilias_uuid, "<ref_id>-<usr_id>")as computed independently; the auth token for the xAPI proxy is created as before. Not tested: cmi5 packages and statements against a real LRS.@Uwe-Kohnle for cmi5/xAPI, @lscharmer @mjansenDatabay for Data.
If there are no objections, I will merge this before Coding Completed.