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

feat(analytics): add analytics and xapi-reporter #1196

Merged
merged 28 commits into from
Jan 31, 2021

Conversation

JPSchellenberg
Copy link
Member

Hey,

I added a first draft of the analytics tool and the xapi reporter to the html export.
You can try everything by exporting a .html file, do the h5p, download the xapi-report as .lumi file and import the .lumi file in Lumi by using the Analytics tool.

@JPSchellenberg JPSchellenberg self-assigned this Jan 26, 2021
@JPSchellenberg JPSchellenberg added the [type] feature Changes that introduce a new feature (resulting in minor-version-bump) label Jan 26, 2021
@sr258
Copy link
Member

sr258 commented Jan 27, 2021

Build & starting it works on Windows. The idea seems to work!

A few remarks:

  • The header for the table should include the title of the (sub)content and the human readable-version of the content type name.
  • Clicking on the cards in the first page does nothing, you have to click on "start".
  • Just tried this video with it and the .lumi file is excessively large: it has 7,5 MBs! The reason seems to be that the base64 encoded resources are included; looks like some libraries include the params in the xAPI statement. We have to filter this out to make the files managable.
  • it's great that the "player" in the html file limits the width of the content - for some content types. But it should be customizable, as Drag & Drop, Interactive Video, Course Presentation and other content types shouldn't be limited in screen size.
  • What does the "Search" box search for? Students' names? This should be clearer
  • If you put report files of different H5Ps into the same directory, the results are unexpected
  • The main menu "File, Edit, etc." is still the one for the editor, even if the Analytics tool is open

@JPSchellenberg JPSchellenberg marked this pull request as ready for review January 27, 2021 22:57
@JPSchellenberg
Copy link
Member Author

Ok, I fixed almost everything you mentioned, except the width. I will fix the e2e test tomorrow. Any other things that should be fixed?

@sr258
Copy link
Member

sr258 commented Jan 28, 2021

  • In Linux in the "import lumi report" file picker dialog I can't navigate into any subfolder. They are all grayed out and inaccessible.
  • the analytics tool scan all subfolders, which is difficult to understand at first, as it can result in errors if there are also .lumi files in the root folder
  • if the window is smaller, the text overflow in boxes is not dealt with gracefully:
    image
  • the red color of low scores could be nicer
  • the student search should not care about case (if I enter "sebastian" it doesn't find "Sebastian") and should trim whitespace at the beginning and end
  • Hovering over a percentage could show the time the interaction was finished.
  • The analytics app window becomes completely blank when I open the file picker and abort it.
  • in the Reporter Client:
    • there should be some padding in the content card
    • pressing enter after entering your name should trigger the "ok"
  • if you open a report of a h5p that is not composed of others (e.g. Fill in the Blanks) you still see the ubername (H5P.Blank 1.12) instead of the human readable version and the title.

Sidenote:

  • We still need to publish the new version of @lumieducation/h5p-server: there are still incorrectly escaped characters in titles (')

@JPSchellenberg
Copy link
Member Author

JPSchellenberg commented Jan 30, 2021

I fixed everything expect the design issues (red color, overflow, hovering over percentage) as I will have a designer have a look at it how to improve it.
What do you think about the functionality? Is it ready to be merged (or even released)?
I will update the h5p-library in a different PR.

@sr258
Copy link
Member

sr258 commented Jan 31, 2021

This issue still exists: In Linux in the "import lumi report" file picker dialog I can't navigate into any subfolder. They are all grayed out and inaccessible.

Maybe it's because of the fact the there is a selector "lumi report" which doesn't do anything?

@JPSchellenberg
Copy link
Member Author

I guess it is due to the openDirectory setting in the OpenDialog from electron. Are there any .lumi files in the subfolder?

@sr258
Copy link
Member

sr258 commented Jan 31, 2021

Sometimes there are, but you still can‘t select them.

@JPSchellenberg JPSchellenberg merged commit daa02d2 into master Jan 31, 2021
@JPSchellenberg JPSchellenberg deleted the feature/repoter-client branch February 1, 2021 12:04
github-actions bot pushed a commit that referenced this pull request Feb 1, 2021
# [0.5.0](v0.4.0...v0.5.0) (2021-02-01)

### Bug Fixes

* **analytics-import:** folder with dots in their name can be imported ([#1205](#1205)) ([7f4b999](7f4b999))
* **config:** broken/missing configs dealt with gracefully ([#1137](#1137)) ([729f997](729f997))
* **configuration:** config allows larger file sizes ([#1127](#1127)) ([5ef7523](5ef7523))
* **deps:** pin dependencies ([e87d68c](e87d68c))
* **deps:** update dependency @material-ui/core to v4.11.3 ([6875f02](6875f02))
* **deps:** update dependency @sentry/browser to v5.29.2 ([475c48a](475c48a))
* **deps:** update dependency @sentry/electron to v2.1.0 ([#1154](#1154)) ([260087c](260087c))
* **deps:** update dependency @sentry/electron to v2.2.0 ([1ab4ac1](1ab4ac1))
* **deps:** update dependency @testing-library/jest-dom to v5.11.8 ([eaa0cd8](eaa0cd8))
* **deps:** update dependency @testing-library/jest-dom to v5.11.9 ([#1155](#1155)) ([6510d76](6510d76))
* **deps:** update dependency @testing-library/react to v11.2.2 ([5a717cf](5a717cf))
* **deps:** update dependency @testing-library/react to v11.2.3 ([#1144](#1144)) ([227519b](227519b))
* **deps:** update dependency @testing-library/user-event to v12.6.0 ([0cf08f2](0cf08f2))
* **deps:** update dependency @testing-library/user-event to v12.6.1 ([982b227](982b227))
* **deps:** update dependency @testing-library/user-event to v12.6.2 ([d47d60a](d47d60a))
* **deps:** update dependency @types/jest to v26.0.19 ([54198bc](54198bc))
* **deps:** update dependency @types/jest to v26.0.20 ([#1140](#1140)) ([72b8776](72b8776))
* **deps:** update dependency @types/node to v12.19.11 ([8986fdb](8986fdb))
* **deps:** update dependency @types/node to v12.19.12 ([4b9f75c](4b9f75c))
* **deps:** update dependency @types/node to v12.19.13 ([#1156](#1156)) ([f155ddc](f155ddc))
* **deps:** update dependency @types/node to v12.19.14 ([#1175](#1175)) ([3a13e7e](3a13e7e))
* **deps:** update dependency @types/node to v12.19.15 ([dd999b5](dd999b5))
* **deps:** update dependency @types/react to v16.14.2 ([de82c3d](de82c3d))
* **deps:** update dependency @types/react to v17 ([#1108](#1108)) ([7151f05](7151f05))
* **deps:** update dependency @types/react-dom to v16.9.10 ([3943396](3943396))
* **deps:** update dependency @types/react-dom to v17 ([#1109](#1109)) ([eb583b9](eb583b9))
* **deps:** update dependency electron-log to v4.3.1 ([95edbe3](95edbe3))
* **deps:** update dependency express-fileupload to v1.2.1 ([#1153](#1153)) ([f37d962](f37d962))
* **deps:** update dependency fs-extra to v9.1.0 ([8c08202](8c08202))
* **deps:** update dependency h5p-nodejs-library to v6.1.3 ([f554fe9](f554fe9))
* **deps:** update dependency h5p-nodejs-library to v6.2.0 ([a15a7dc](a15a7dc))
* **deps:** update dependency i18next to v19.8.5 ([49a03ae](49a03ae))
* **deps:** update dependency i18next-fs-backend to v1.0.8 ([7111875](7111875))
* **deps:** update dependency nucleus-nodejs to v3.0.8 ([1866bd8](1866bd8))
* **deps:** update dependency react-scripts to v4.0.1 ([3f673fd](3f673fd))
* **deps:** update dependency socket.io to v2.4.1 ([#1141](#1141)) ([c3e7b8c](c3e7b8c))
* **deps:** update dependency typescript to v4.1.3 ([ed43a7d](ed43a7d))
* **deps:** update dependency web-vitals to v1 ([#1110](#1110)) ([94c154b](94c154b))
* **deps:** update dependency web-vitals to v1.1.0 ([ecbb6a0](ecbb6a0))
* **deps:** update h5p-react to v0.1.2 ([#1146](#1146)) ([5a0d450](5a0d450))
* **deps:** update h5p-server to v7.0.0-alpha.1 ([#1208](#1208)) ([2882b9e](2882b9e))
* **deps:** update mui monorepo to v4.11.2 ([e55078d](e55078d))
* **deps:** update sentry monorepo to v5.30.0 ([#1160](#1160)) ([654dcaa](654dcaa))
* **deps:** update socket.io packages to v2.4.0 ([0da5e88](0da5e88))
* **dev tools:** corrected dev tool setup ([#1126](#1126)) ([99c6695](99c6695))
* **devtools-start:** fix missing path on npm start ([#1133](#1133)) ([417c9b1](417c9b1))
* **editor:** localization files are found correctly ([#1171](#1171)) ([9480c2d](9480c2d))
* **error handling:** server deals more gracefully with invalid content ([#1174](#1174)) ([10010e1](10010e1))
* **multi instances:** old content isn't deleted on startup ([#1145](#1145)) ([8605612](8605612))
* **player:** content resizes with window ([#1142](#1142)) ([b50cd04](b50cd04))
* **saving:** last change is always saved now ([#1170](#1170)) ([9c2eb34](9c2eb34))
* **sentry:** deactivate sentry ([#1147](#1147)) ([866453c](866453c))
* **ui:** display a backbutton if not in launchpad ([#1209](#1209)) ([72c6bc1](72c6bc1))
* **windows:** config file created correctly on windows ([#1115](#1115)) ([f3113e0](f3113e0))

### Features

* **analytics:** add analytics and xapi-reporter ([#1196](#1196)) ([daa02d2](daa02d2))
* **gui:** overhaul save & export options ([#1134](#1134)) ([e01192e](e01192e))
* **htmlexport:** add HTML Export ([#1094](#1094)) ([a58b899](a58b899)), closes [#1091](#1091)
* **notifications:** reenable notifications ([#1135](#1135)) ([1e95e3c](1e95e3c))
* **server:** in-memory cache speeds up editor load times ([#1125](#1125)) ([7e2a35b](7e2a35b))
* **ui:** re-added custom h5p styles ([#1138](#1138)) ([d4e8f34](d4e8f34))
github-actions bot pushed a commit that referenced this pull request Feb 1, 2021
# [0.5.0](v0.4.0...v0.5.0) (2021-02-01)

### Bug Fixes

* **analytics-import:** folder with dots in their name can be imported ([#1205](#1205)) ([7f4b999](7f4b999))
* **config:** broken/missing configs dealt with gracefully ([#1137](#1137)) ([729f997](729f997))
* **configuration:** config allows larger file sizes ([#1127](#1127)) ([5ef7523](5ef7523))
* **deps:** pin dependencies ([e87d68c](e87d68c))
* **deps:** update dependency @material-ui/core to v4.11.3 ([6875f02](6875f02))
* **deps:** update dependency @sentry/browser to v5.29.2 ([475c48a](475c48a))
* **deps:** update dependency @sentry/electron to v2.1.0 ([#1154](#1154)) ([260087c](260087c))
* **deps:** update dependency @sentry/electron to v2.2.0 ([1ab4ac1](1ab4ac1))
* **deps:** update dependency @testing-library/jest-dom to v5.11.8 ([eaa0cd8](eaa0cd8))
* **deps:** update dependency @testing-library/jest-dom to v5.11.9 ([#1155](#1155)) ([6510d76](6510d76))
* **deps:** update dependency @testing-library/react to v11.2.2 ([5a717cf](5a717cf))
* **deps:** update dependency @testing-library/react to v11.2.3 ([#1144](#1144)) ([227519b](227519b))
* **deps:** update dependency @testing-library/user-event to v12.6.0 ([0cf08f2](0cf08f2))
* **deps:** update dependency @testing-library/user-event to v12.6.1 ([982b227](982b227))
* **deps:** update dependency @testing-library/user-event to v12.6.2 ([d47d60a](d47d60a))
* **deps:** update dependency @types/jest to v26.0.19 ([54198bc](54198bc))
* **deps:** update dependency @types/jest to v26.0.20 ([#1140](#1140)) ([72b8776](72b8776))
* **deps:** update dependency @types/node to v12.19.11 ([8986fdb](8986fdb))
* **deps:** update dependency @types/node to v12.19.12 ([4b9f75c](4b9f75c))
* **deps:** update dependency @types/node to v12.19.13 ([#1156](#1156)) ([f155ddc](f155ddc))
* **deps:** update dependency @types/node to v12.19.14 ([#1175](#1175)) ([3a13e7e](3a13e7e))
* **deps:** update dependency @types/node to v12.19.15 ([dd999b5](dd999b5))
* **deps:** update dependency @types/react to v16.14.2 ([de82c3d](de82c3d))
* **deps:** update dependency @types/react to v17 ([#1108](#1108)) ([7151f05](7151f05))
* **deps:** update dependency @types/react-dom to v16.9.10 ([3943396](3943396))
* **deps:** update dependency @types/react-dom to v17 ([#1109](#1109)) ([eb583b9](eb583b9))
* **deps:** update dependency electron-log to v4.3.1 ([95edbe3](95edbe3))
* **deps:** update dependency express-fileupload to v1.2.1 ([#1153](#1153)) ([f37d962](f37d962))
* **deps:** update dependency fs-extra to v9.1.0 ([8c08202](8c08202))
* **deps:** update dependency h5p-nodejs-library to v6.1.3 ([f554fe9](f554fe9))
* **deps:** update dependency h5p-nodejs-library to v6.2.0 ([a15a7dc](a15a7dc))
* **deps:** update dependency i18next to v19.8.5 ([49a03ae](49a03ae))
* **deps:** update dependency i18next-fs-backend to v1.0.8 ([7111875](7111875))
* **deps:** update dependency nucleus-nodejs to v3.0.8 ([1866bd8](1866bd8))
* **deps:** update dependency react-scripts to v4.0.1 ([3f673fd](3f673fd))
* **deps:** update dependency socket.io to v2.4.1 ([#1141](#1141)) ([c3e7b8c](c3e7b8c))
* **deps:** update dependency typescript to v4.1.3 ([ed43a7d](ed43a7d))
* **deps:** update dependency web-vitals to v1 ([#1110](#1110)) ([94c154b](94c154b))
* **deps:** update dependency web-vitals to v1.1.0 ([ecbb6a0](ecbb6a0))
* **deps:** update h5p-react to v0.1.2 ([#1146](#1146)) ([5a0d450](5a0d450))
* **deps:** update h5p-server to v7.0.0-alpha.1 ([#1208](#1208)) ([2882b9e](2882b9e))
* **deps:** update mui monorepo to v4.11.2 ([e55078d](e55078d))
* **deps:** update sentry monorepo to v5.30.0 ([#1160](#1160)) ([654dcaa](654dcaa))
* **deps:** update socket.io packages to v2.4.0 ([0da5e88](0da5e88))
* **dev tools:** corrected dev tool setup ([#1126](#1126)) ([99c6695](99c6695))
* **devtools-start:** fix missing path on npm start ([#1133](#1133)) ([417c9b1](417c9b1))
* **editor:** localization files are found correctly ([#1171](#1171)) ([9480c2d](9480c2d))
* **error handling:** server deals more gracefully with invalid content ([#1174](#1174)) ([10010e1](10010e1))
* **multi instances:** old content isn't deleted on startup ([#1145](#1145)) ([8605612](8605612))
* **player:** content resizes with window ([#1142](#1142)) ([b50cd04](b50cd04))
* **saving:** last change is always saved now ([#1170](#1170)) ([9c2eb34](9c2eb34))
* **sentry:** deactivate sentry ([#1147](#1147)) ([866453c](866453c))
* **ui:** display a backbutton if not in launchpad ([#1209](#1209)) ([72c6bc1](72c6bc1))
* **windows:** config file created correctly on windows ([#1115](#1115)) ([f3113e0](f3113e0))

### Features

* **analytics:** add analytics and xapi-reporter ([#1196](#1196)) ([daa02d2](daa02d2))
* **gui:** overhaul save & export options ([#1134](#1134)) ([e01192e](e01192e))
* **htmlexport:** add HTML Export ([#1094](#1094)) ([a58b899](a58b899)), closes [#1091](#1091)
* **notifications:** reenable notifications ([#1135](#1135)) ([1e95e3c](1e95e3c))
* **server:** in-memory cache speeds up editor load times ([#1125](#1125)) ([7e2a35b](7e2a35b))
* **ui:** re-added custom h5p styles ([#1138](#1138)) ([d4e8f34](d4e8f34))
@github-actions
Copy link

github-actions bot commented Feb 1, 2021

🎉 This PR is included in version 0.5.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
released [type] feature Changes that introduce a new feature (resulting in minor-version-bump)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants