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

Allow Lumi to open, edit and save unzipped H5P packages #2630

Open
Aratch opened this issue Aug 3, 2023 · 0 comments
Open

Allow Lumi to open, edit and save unzipped H5P packages #2630

Aratch opened this issue Aug 3, 2023 · 0 comments
Labels
[type] feature Changes that introduce a new feature (resulting in minor-version-bump)

Comments

@Aratch
Copy link

Aratch commented Aug 3, 2023

Problem description/rationale
Lumi currently does not support opening and editing unzipped H5P packages. Though somewhat advanced and specific, this feature may be useful in the following ways:

  1. Version Control: Although there are ways to make git use external tools to extract and re-compress archive files on each diff (see below), allowing Lumi to open, edit and save unzipped H5P packages in file-and-directory form as-is would make quasi non-destructive editing painless. The contents of H5P packages are plain-text (save for binary data like media), human-readable (if one wishes to do so). Merging two different branches should work flawlessly.
  2. (Custom) H5P Development/Editing: I know, there is the H5P CLI toolkit and obviously other ways to go about this, but sometimes you just want to attempt minor changes to packages or libraries. Additionally, some more "advanced" libraries are limited in their usability and functionality in my personal experience, namely the iframe embedder.

A cursory reading of the Lumi source code hasn't yielded any concrete ways to implement this, yet (I have limited node.js experience), so I can't say how much work this is.

Solution
Allow Lumi to open, display, edit and - most importantly - save unzipped H5P packages as-is by identifying (and checking for) h5p.json, content/ and libraries/dependencies.

Alternatives
Feasible but otherwise not functionally equivalent alternatives to the use cases mentioned above:

  1. Write a utility like xls2txt and set up git attributes to use that for diffs. This, however, does not allow for merging or any other useful VCS functionality.
  2. Unzip and rezip H5P archives: Seems to be error-prone, hard to keep track of changes and introduces several additional manual steps.

Additional context
My personal use case: I'm developing in-house WBT/e-learning content for a mid-size organisation, some of it custom-coded - most, however, is made with a certain software suite by a certain company. Lumi allows for more flexibility and reusability, as well as more engaging activities that need less manual work (also, H5P is being actively developed).

@Aratch Aratch added the [type] feature Changes that introduce a new feature (resulting in minor-version-bump) label Aug 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[type] feature Changes that introduce a new feature (resulting in minor-version-bump)
Projects
None yet
Development

No branches or pull requests

1 participant