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

Progressive Web App (PWA) Export #2629

Open
90084 opened this issue Aug 3, 2023 · 1 comment
Open

Progressive Web App (PWA) Export #2629

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

Comments

@90084
Copy link

90084 commented Aug 3, 2023

I'm using Lumi to develop content for learners in developing countries. A huge segment of learners in the world (e.g. in emerging economies) have a low-spec'd device and internet access that is slow, patchy, and expensive. Progressive Web Apps (PWAs) have emerged as a very helpful approach to serve them. On the other hand, educators are always seeking to repurpose their educational content. Additionally, I've seen plenty of requests for 'offline viewing' of H5P resources or a 'player app'.

You already do a HTML export. PWA export would open your app to a huge segment of users, and enable educators to distribute their content as a web app, independent of any CMS/LMS.

I have done this manually, so I know it's possible, but it's onerous and vulnerable to mistakes. My rough process:

  • Export as HTML first (one file)
  • Have a PWA 'template' folder (developed from one of the tutorials below).
  • Extract the <script> section to a separate file
  • Extract the <style> section to a separate file
  • Update the manifest file, which points to the above files.
  • Update sw.js file with the cache name

Below some resources I've used:
Get started with Progressive Web Apps - Microsoft Edge Development | Microsoft Learn
Progressive web apps (PWAs) | MDN
Making PWAs work offline with Service workers - Progressive web apps (PWAs) | MDN

A potential downside of this approach is that it's hard to 'submit' results and activity to an LMS if the device is offline. There may be ways to do this (e.g. check if online).

Message me if you'd like more details on my

Thank you for your consideration and for Lumi, I've found it very helpful.

@90084 90084 added the [type] feature Changes that introduce a new feature (resulting in minor-version-bump) label Aug 3, 2023
@a2z08865
Copy link

a2z08865 commented Aug 9, 2024

Hello,
I am trying to do something similar to what you seem to have already achieved successfully in manual mode.
Can you please elaborate on the bulleted points, a bit more for my benefit as I am new to both technologies.

Thanks in anticipation of your help.
Regards.

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

2 participants