Could AI artifacts be a blueprint how to enable H5P content in discourse?

AI-generated summary

The discussion explores whether Discourse’s AI Web Artifacts (AIWA) can serve as a blueprint for integrating H5P interactive content into the platform. thoka proposes that while AIWA handles smaller content via the database, H5P requires a different approach for larger media files, suggesting they be stored as standard uploads or via CDN. Key integration tasks identified include serving H5P content, storing achievements, analyzing results, and integrating with Discourse badges.

To address security concerns regarding untrusted code, thoka recommends serving H5P within an iframe for sandboxing, similar to AIWA, while configuration data could remain in the database. For communication between the H5P content and Discourse, cross-document messaging is suggested to handle xAPI achievements. Alternative approaches, such as embedding via oneboxing from external infrastructure, are also mentioned. The goal is to enable Discourse to function as a tool for creating, discussing, and developing H5P content. Other users, including MachineScholar, jimkleiber, and satonotdead, express strong interest in this feature, noting its value for educational communities and inquiring about implementation status.

Just wondering if a very similar approach to Discourse AI - Web Artifacts would enable to use H5P content in discourse.

AI artifacts are limited in size. I suppose, storing bigger content inside the database should be avoided?

I would like to learn about how to store bigger content and how a limited communication between rich content and discourse could take place.

Tasks to solve

  • Serve H5P content from discourse
  • Store achievements inside discourse
  • Analyze achievements from discourse
  • Integrate Achievements with Badges

Serve H5P content from discourse

H5P content is uploaded as a specific structured zip file. This archive has to be unzipped and moved to locations, from where it can be served.
Configuration data inside is usually quite small and could be stored in the database, as in AI Web Artifacts (AIWA). Included libraries and media might get quite big and should be stored as other uploads (as files or via CDN).

AIWA serves the content inside an iframe, which provides a sandbox environment. Since any code inside H5P should not be trusted, this seems the way to go for H5P too.

An alternative might be to embed H5P from foreign infrastructure via oneboxing.

Store achievements inside discourse

H5P uses a REST-API (xAPI) to store achievements. For integration with Discourse UI cross-document messaging might be interesting.

Resources

I am also interested in this question! H5P is invaluable for educational communities… :nerd_face:

I started to think more deeply about a possible integration in the OP.

Discourse could be a tool to use and develop (have meta talks about) H5P content.

When I discovered AIWA today, this topic is the first thought I had.

Any updates on whether something like this is possible?

I really like this. May I know if someone implemented it?