LibreLingo icon indicating copy to clipboard operation
LibreLingo copied to clipboard

Allow loading and exporting a course partially

Open kantord opened this issue 3 years ago • 0 comments

I have been working on implementing the CI for repos of LibreLingo courses.

Actually I'm not facing performance issues yet, as the export is pretty fast! :rocket:

Nevertheless, the next step after making the course authoring workflow using GitHub seamless will be to create a graphical user interface. Then, it might be best to give the users completely immediate feedback of the errors they make. Then it will be more necessary to improve performance.

One of the main ways performance can be improved is by only exporting parts of the course that have actually been changed. For example the person is likely to change only one file, therefore it should be enough to export only the skill that they changed.

This could be implemented by adding an "include" parameter for the course loader, which could be a list of globs and default to a glob that allows every file. However, we can also instead include a list of files from a git diff output, which means it would only include the files that actually have been changed on the git branch. This means that it's enough to only export skills and modules that actually have been changed. The rest can be filtered out, as if it was not even part of the course files and the directory structure.

kantord avatar Jan 26 '22 07:01 kantord