Moodle-DL icon indicating copy to clipboard operation
Moodle-DL copied to clipboard

Django App?

Open tobiasfunke1 opened this issue 3 years ago • 8 comments

How about letting the whole tool run as a Django app?

Then we could view the courses in the browser and embed e.g. the videos and pdfs.

Updating the courses would then be a management command.

tobiasfunke1 avatar Apr 04 '21 09:04 tobiasfunke1

What would be the advantage of that? You already have all the files downloaded and sorted into folders.

marzzzello avatar Apr 07 '21 13:04 marzzzello

I wouldn't have to search the folders for files but would have a proper browsable offline version of moodle. with course list, scrollable pages, embedded videos, etc.

tobiasfunke1 avatar Apr 11 '21 07:04 tobiasfunke1

The easiest way to get an offline Moodle is to use the offline feature of Moodle. The Moodle app, which is available for the most popular operating systems, already has the ability to display all Moodle content offline.

Moodle-dl downloads not only all Moodle content but also external content. It would be a huge overhead to write an extra Django app for that. You could also just use a post script to feed another platform with the downloaded data. E.g. Nextcloud, Webdav or another learning platform (private Moodle?). In any case I would say this would be something for an extra repo, because it doesn't really need to rely on any internal functionality of moodle-dl, everything that is needed can be solved by integrating moodle-dl.

C0D3D3V avatar Apr 11 '21 10:04 C0D3D3V

But of course I don't want to stop you, if you have a big desire to write a django app and you need more functionality, e.g. callbacks that inform about new files, this can of course be integrated.

C0D3D3V avatar Apr 11 '21 10:04 C0D3D3V

We use Moodle at my university, like many others. Many (most?) of these Moodle users have no idea of how to use CLI and/or Python. A browsable GUI would be more portable, and maybe easier, than using a GUI toolkit. The advantage of having a GUI is that much more people with less technical knowledge would be able to take advantage of this great software. This is kinda the same idea that of what Syncthing does.

Megver83 avatar Nov 05 '21 21:11 Megver83

@Megver83 So you would also prefer a web GUI instead of a normal window-based GUI?

For syncthing there exists also a additional window-based GUI: https://github.com/kozec/syncthing-gtk We could either build a web browser based GUI using Django or a fixed based GUI using tkinter for example.

C0D3D3V avatar Nov 07 '21 14:11 C0D3D3V

I knew syncthing-gtk. Honestly, idk what are the advantages of a web GUI vs typical window GUI. IMHO, the easiest implementation should be done, but I'm OK with any of the two.

Megver83 avatar Nov 08 '21 13:11 Megver83

I like the idea of a Django app for moodle-dl more and more, I think this could be a long term goal.

C0D3D3V avatar Nov 15 '21 15:11 C0D3D3V

After reading more and more into the matter I think it would be easiest and best to just build a QT app using PySide6.

To build a web app to view the downloaded files I think is completely out of the question, for this you can simply use an OwnCloud for example.

I think a desktop app to make all the settings is much more useful. The complete CLI configurator could be replaced by a practical GUI. In the same course you can use an integrated WebView to obtain the SSO token comfortably.

C0D3D3V avatar Jan 28 '23 19:01 C0D3D3V